diff options
author | Vivia Nikolaidou <vivia@ahiru.eu> | 2017-11-09 11:44:17 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2017-12-01 11:58:32 +0200 |
commit | 4d7625f0f9aa25bad20f89930a1f7760e4162de3 (patch) | |
tree | 7ff89c53142e8d4ae341070dece82865936fdac0 /sys/decklink/gstdecklinkvideosrc.cpp | |
parent | df0d7a6b4460fd3f64a607c220ee38751bd9b711 (diff) | |
download | gstreamer-plugins-bad-4d7625f0f9aa25bad20f89930a1f7760e4162de3.tar.gz |
decklink: Ignore some driver-set timecode flags
The "fields" flag is ignored because currently GStreamer doesn't support
having only top or only bottom fields inside a frame. The "drop frame"
flag is ignored because some occurrences have been spotted where it
wasn't set while it should have been. In practice, when we have 29.97 or
59.94 FPS, it's always drop-frame.
https://bugzilla.gnome.org/show_bug.cgi?id=790112
Diffstat (limited to 'sys/decklink/gstdecklinkvideosrc.cpp')
-rw-r--r-- | sys/decklink/gstdecklinkvideosrc.cpp | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/sys/decklink/gstdecklinkvideosrc.cpp b/sys/decklink/gstdecklinkvideosrc.cpp index 5f3ff75a8..2a063931b 100644 --- a/sys/decklink/gstdecklinkvideosrc.cpp +++ b/sys/decklink/gstdecklinkvideosrc.cpp @@ -702,16 +702,11 @@ gst_decklink_video_src_got_frame (GstElement * element, GST_DEBUG_OBJECT (self, "Got timecode %02d:%02d:%02d:%02d", hours, minutes, seconds, frames); bmode = gst_decklink_get_mode (mode); - if (bmode->interlaced) { + if (bmode->interlaced) flags = (GstVideoTimeCodeFlags) (flags | GST_VIDEO_TIME_CODE_FLAGS_INTERLACED); - if (bflags & bmdTimecodeFieldMark) - field_count = 2; - else - field_count = 1; - } - if (bflags & bmdTimecodeIsDropFrame) + if (bmode->fps_d == 1001 && (bmode->fps_n == 30000 || bmode->fps_n == 60000)) flags = (GstVideoTimeCodeFlags) (flags | GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME); |