MCPcopy Create free account
hub / github.com/OpenShot/libopenshot / Reader

Method Reader

src/Clip.cpp:332–365  ·  view source on GitHub ↗

Set the current reader

Source from the content-addressed store, hash-verified

330
331/// Set the current reader
332void Clip::Reader(ReaderBase* new_reader)
333{
334 // Delete previously allocated reader (if not related to new reader)
335 // FrameMappers that point to the same allocated reader are ignored
336 bool is_same_reader = false;
337 if (new_reader && allocated_reader) {
338 if (new_reader->Name() == "FrameMapper") {
339 // Determine if FrameMapper is pointing at the same allocated ready
340 FrameMapper* clip_mapped_reader = static_cast<FrameMapper*>(new_reader);
341 if (allocated_reader == clip_mapped_reader->Reader()) {
342 is_same_reader = true;
343 }
344 }
345 }
346 // Clear existing allocated reader (if different)
347 if (allocated_reader && !is_same_reader) {
348 reader->Close();
349 allocated_reader->Close();
350 delete allocated_reader;
351 reader = NULL;
352 allocated_reader = NULL;
353 }
354
355 // set reader pointer
356 reader = new_reader;
357
358 // set parent
359 if (reader) {
360 reader->ParentClip(this);
361
362 // Init reader info struct
363 init_reader_settings();
364 }
365}
366
367/// Get the current reader
368ReaderBase* Clip::Reader()

Callers 15

detectObjectsClipMethod · 0.45
stabilizeClipMethod · 0.45
ExtractSamplesMethod · 0.45
ResolveSourceReaderMethod · 0.45
TimelineMethod · 0.45
AddClipMethod · 0.45
apply_mapper_to_clipMethod · 0.45
add_layerMethod · 0.45
ClearMethod · 0.45
GetFrameMethod · 0.45
ClearAllCacheMethod · 0.45

Calls 4

ReaderClosedClass · 0.85
NameMethod · 0.45
CloseMethod · 0.45
ParentClipMethod · 0.45

Tested by

no test coverage detected