]> git.sesse.net Git - mlt/commitdiff
Copy VITC to frame meta property.
authorDan Dennedy <dan@dennedy.org>
Mon, 29 Aug 2011 03:10:04 +0000 (20:10 -0700)
committerDan Dennedy <dan@dennedy.org>
Mon, 29 Aug 2011 03:10:04 +0000 (20:10 -0700)
Can be burned in with data_show filter.
Perhaps this can be stored on the producer property using key frames for
discontinuities. Then, it can be retrieved and supplied to some new
filter that would put the meta.attr.vitc.markup property on frames.

src/modules/decklink/producer_decklink.cpp

index fbef7f7d1ee11ba7beefbc271cb5fe594556b535..58e9c9a2f01bf32ea6a55f0592f2447fe17ab323 100644 (file)
@@ -352,6 +352,22 @@ public:
                                mlt_frame_close( frame );
                                frame = 0;
                        }
+
+                       // Get timecode
+                       IDeckLinkTimecode* timecode = 0;
+                       if ( video->GetTimecode( bmdTimecodeVITC, &timecode ) == S_OK && timecode )
+                       {
+                               const char* timecodeString = 0;
+
+                               if ( timecode->GetString( &timecodeString ) == S_OK )
+                               {
+                                       mlt_properties_set( MLT_FRAME_PROPERTIES( frame ), "meta.attr.vitc.markup", timecodeString );
+                                       mlt_log_verbose( getProducer(), "timecode %s\n", timecodeString );
+                               }
+                               if ( timecodeString )
+                                       free( (void*) timecodeString );
+                               timecode->Release();
+                       }
                }
                else
                {