Gstreamer pipeline to play mpegts file works in version 0.10 but not 1.0

4.1k views Asked by At

I have a working gst-launch pipeline in 0.10 :

gst-launch-0.10 \
     filesrc location=c:/prog4.mpg \
     ! tsdemux name=dem \
     ! queue \
     ! ac3parse \
     ! a52dec \
     ! audioconvert \
     ! audioresample \
     ! autoaudiosink \
     dem. \
     ! queue \
     ! mpegvideoparse \
     ! mpeg2dec \
     ! autovideosink

But same pipeline in version 1.0 spews the error :

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
ERROR: from element /GstPipeline:pipeline0/GstTSDemux:dem: Internal data stream error.
Additional debug info:
mpegtsbase.c(1639): mpegts_base_loop (): /GstPipeline:pipeline0/GstTSDemux:dem:
stream stopped, reason not-negotiated
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

I also tried using playbin, which strangely enough, gives the same error. How do I fix this?

EDIT: Okay, so I've figured out that the it's the video part that's causing trouble. If I isolate the audio and video parts, the audio works fine! It's this bit that's causing trouble:

gst-launch-1.0 filesrc location=/home/rubndsouza/prog4.mpg \
! tsdemux ! queue ! mpegvideoparse ! mpeg2dec ! autovideosink

Any help would be appreciated. Thanks!

1

There are 1 answers

1
marcolz On

I assume that this is fixed in newer versions of gstreamer. In my 1.2.3 build I cannot reproduce this at least.