[gstreamer-bugs] [Bug 615160] New: Use of mpegvideoparse returns erroneous stream info

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Apr 8 04:22:37 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=615160
  GStreamer | gst-plugins-bad | 0.10.13

           Summary: Use of mpegvideoparse returns erroneous stream info
    Classification: Desktop
           Product: GStreamer
           Version: 0.10.13
        OS/Version: Windows
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: costa_albert at yahoo.fr
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


Using following test filestream :
gst-launch-0.10.exe videotestsrc num-buffers=100 ! videorate !
video/x-raw-rgb,framerate=15/1 ! queue ! ffmpegcolorspace ! ffenc_mpeg2video
quantizer=4 pass=2 gop-size=0 ! mpegtsmux ! filesink location=test.ts sync=0

I expect to read the file and gets its framerate (15) and correct timestamps
for buffers.
Using following reading pipeline:

gst-launch-0.10.exe filesrc location=test.ts ! decodebin ! fakesink -v
can be replaced (looking for created elements) by:

gst-launch-0.10.exe filesrc location=test.ts ! mpegtsdemux ! mpegvideoparse !
ffdec_mpeg2video ! fakesink -v

which gives as output:

/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps =
video/x-raw-yuv, width=(int)320, height=(int)240, framerate=(fraction)30/1,
format=(fourcc)I420, interlaced=(boolean)false,
pixel-aspect-ratio=(fraction)1/1
...
Setting pipeline to PLAYING ...
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* <
(115200 bytes, timestamp: none, duration: 0:00:00.000000000, offset: -1,
offset_end: -1, flags: 0) 00BAB378"
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* <
(115200 bytes, timestamp: 0:00:00.000000000, duration: 0:00:00.000000000,
offset: -1, offset_end: -1, flags: 0) 00BAB6E8"
...

One can see that framerate is seen as 30/1, not 15/1, and first buffer has no
timestamp, second has timestamp 0...


Using exact inverse pipeline as writer gives:
gst-launch-0.10.exe filesrc location=test.ts ! mpegtsdemux ! ffdec_mpeg2video !
fakesink -v

/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps =
video/x-raw-yuv, width=(int)320, height=(int)240, framerate=(fraction)15/1,
format=(fourcc)I420, interlaced=(boolean)false,
pixel-aspect-ratio=(fraction)1/1
...
Setting pipeline to PLAYING ...
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* <
(115200 bytes, timestamp: 0:00:00.000000000, duration: 0:00:00.000000000,
offset: -1, offset_end: -1, flags: 0) 00BAD4D0"
New clock: GstSystemClock
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain   ******* <
(115200 bytes, timestamp: 0:00:00.066655555, duration: 0:00:00.000000000,
offset: -1, offset_end: -1, flags: 0) 00BAD528"
...

Here we can see that framerate and buffer timestamps are correct. There is thus
a problem using mpegvideoparse elements (in decodebin or as pipeline element).

-- 
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