[Bug 729887] New: decklinksrc requires output sinks to run with sync=FALSE.
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Fri May 9 10:00:19 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=729887
GStreamer | gst-plugins-bad | 1.2.4
Summary: decklinksrc requires output sinks to run with
sync=FALSE.
Classification: Platform
Product: GStreamer
Version: 1.2.4
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-bad
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: swestrup at gmail.com
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
The documentation for the decklink capture card we recently purchased states
(without explanation) that when using decklinksrc in a pipeline, the output
sink needs to have clock sync disabled, (ie property sync=FALSE).
Some simple tests have proven this to be true. With sync=FALSE we are able to
capture and display HDMI content at (or at least at what appears to be) a full
60fps. When we leave sync at the default of TRUE, we start to get errors about
dropped frames if we go over 9 fps.
What causes this requirement is not clear. Below is a simple pipeline with
sync=TRUE, and the timestamps all appear correct. I'm not sure what else would
cause this kind of issue though.
Knowing that most of the developers won't have access to one of these expensive
capture cards, I'll be most willing to run any additional tests and report any
results that may aid in tracking down the issue.
gst-launch-1.0 -v decklinksrc connection=HDMI mode=18 name=d d.videosrc !
fakesink silent=false
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event *******
(fakesink0:sink) E (type: stream-start (10254), GstEventStreamStart,
stream-id=(string)74ffd1fa, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE,
group-id=(uint)0;) 0x20399e0
/GstPipeline:pipeline0/GstDecklinkSrc:d.GstPad:audiosrc: caps = audio/x-raw,
format=(string)S16LE, channels=(int)2, rate=(int)48000,
layout=(string)interleaved
/GstPipeline:pipeline0/GstDecklinkSrc:d.GstPad:videosrc: caps = video/x-raw,
format=(string)UYVY, width=(int)1280, height=(int)720,
framerate=(fraction)60/1, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709,
chroma-site=(string)mpeg2
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event *******
(fakesink0:sink) E (type: caps (12814), GstEventCaps,
caps=(GstCaps)video/x-raw, format=(string)UYVY, width=(int)1280,
height=(int)720, framerate=(fraction)60/1, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709,
chroma-site=(string)mpeg2;) 0x2039aa0
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw,
format=(string)UYVY, width=(int)1280, height=(int)720,
framerate=(fraction)60/1, interlace-mode=(string)progressive,
pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709,
chroma-site=(string)mpeg2
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event *******
(fakesink0:sink) E (type: segment (17934), GstEventSegment,
segment=(GstSegment)"GstSegment, flags=(GstSegmentFlags)GST_SEGMENT_FLAG_NONE,
rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME,
base=(guint64)0, offset=(guint64)0, start=(guint64)0,
stop=(guint64)18446744073709551615, time=(guint64)0, position=(guint64)0,
duration=(guint64)18446744073709551615;";) 0x2039b00
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = preroll *******
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.000000000, duration:
0:00:00.016666666, offset: 0, offset_end: 0, flags: 00000040 discont )
0x7f6450005010
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.016666666, duration:
0:00:00.016666667, offset: 1, offset_end: 1, flags: 00000000 ) 0x7f6450005120
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.033333333, duration:
0:00:00.016666667, offset: 2, offset_end: 2, flags: 00000000 ) 0x7f6450005230
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.050000000, duration:
0:00:00.016666666, offset: 3, offset_end: 3, flags: 00000000 ) 0x7f6450005340
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.066666666, duration:
0:00:00.016666667, offset: 4, offset_end: 4, flags: 00000000 ) 0x7f6450005450
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.083333333, duration:
0:00:00.016666667, offset: 5, offset_end: 5, flags: 00000000 ) 0x7f6450005560
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.100000000, duration:
0:00:00.016666666, offset: 6, offset_end: 6, flags: 00000000 ) 0x7f6450005450
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.116666666, duration:
0:00:00.016666667, offset: 7, offset_end: 7, flags: 00000000 ) 0x7f6450005340
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.133333333, duration:
0:00:00.016666667, offset: 8, offset_end: 8, flags: 00000000 ) 0x7f6450005230
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.150000000, duration:
0:00:00.016666666, offset: 9, offset_end: 9, flags: 00000000 ) 0x7f6450005120
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.166666666, duration:
0:00:00.016666667, offset: 10, offset_end: 10, flags: 00000000 ) 0x7f6450005010
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.183333333, duration:
0:00:00.016666667, offset: 11, offset_end: 11, flags: 00000000 ) 0x7f6450005120
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain *******
(fakesink0:sink) (1843200 bytes, dts: none, pts: 0:00:00.200000000, duration:
0:00:00.016666666, offset: 12, offset_end: 12, flags: 00000000 ) 0x7f6450005230
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list