dvbbasebin/mpegtsdemux not working properly?

dv dv at pseudoterminal.org
Fri Mar 11 10:55:51 PST 2011


Hello,

I am trying to use GStreamer for watching DVB-T. I use this pipeline:

gst-launch-0.10 dvbbasebin inversion=AUTO bandwidth=8 
frequency=578000000 code-rate-hp=3/4 code-rate-lp=NONE modulation=QAM 16 
trans-mode=8k guard=8 hierarchy=0 program-numbers=10123 ! mpegtsdemux 
name=demux demux. ! queue ! mad ! alsasink demux. ! queue ! mpeg2dec ! 
xvimagesink

This pipeline works fine - but not every time. Sometimes it starts 
playing after 5 seconds, sometimes it freezes, never plays audio, and 
and never even shows an XV window, and sometimes it DOES show the XV 
window, but then freezes.

Running it with GST_DEBUG=dvb*:5,mpeg*:5 I get this output:

0:00:11.335013053 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:705:mpegts_parse_tspad_push_section:<mpegtsparse0> pushing 
section: 1 program number: 10123 table_id: 80
0:00:11.335030773 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335046634 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335061392 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335075657 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335089799 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335103934 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335118106 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335132146 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335146175 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335160043 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335174001 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335187948 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335201868 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335215912 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
0:00:11.335229938 11086 0x7f8fa0001730 DEBUG            mpegtsparse 
mpegtsparse.c:832:mpegts_parse_push: getting next pad
/GstPipeline:pipeline0/DvbBaseBin:dvbbasebin0/MpegTSParse:mpegtsparse0.GstPad:program_10123: 
caps = NULL
/GstPipeline:pipeline0/DvbBaseBin:dvbbasebin0/MpegTSParse:mpegtsparse0.GstPad:sink: 
caps = NULL
/GstPipeline:pipeline0/DvbBaseBin:dvbbasebin0/GstQueue:queue0.GstPad:src: caps 
= NULL
/GstPipeline:pipeline0/DvbBaseBin:dvbbasebin0/GstQueue:queue0.GstPad:sink: 
caps = NULL
0:00:11.335986935 11086       0xe46080 INFO                  dvbsrc 
gstdvbsrc.c:1410:gst_dvbsrc_unset_pes_filters:<dvbsrc0> clearing PES filter
/GstPipeline:pipeline0/DvbBaseBin:dvbbasebin0/GstDvbSrc:dvbsrc0.GstPad:src: 
caps = NULL
Setting pipeline to NULL ...
Freeing pipeline ...
0:00:11.345357387 11086       0xe46080 DEBUG             dvbbasebin 
dvbbasebin.c:626:foreach_stream_build_filter: stream 0 usecount 1
0:00:11.345382367 11086       0xe46080 DEBUG             dvbbasebin 
dvbbasebin.c:626:foreach_stream_build_filter: stream 1 usecount 1
0:00:11.345394365 11086       0xe46080 DEBUG             dvbbasebin 
dvbbasebin.c:626:foreach_stream_build_filter: stream 16 usecount 1
0:00:11.345405545 11086       0xe46080 DEBUG             dvbbasebin 
dvbbasebin.c:626:foreach_stream_build_filter: stream 17 usecount 1
0:00:11.345416195 11086       0xe46080 DEBUG             dvbbasebin 
dvbbasebin.c:626:foreach_stream_build_filter: stream 18 usecount 1
0:00:11.345449089 11086       0xe46080 DEBUG             dvbbasebin 
dvbbasebin.c:626:foreach_stream_build_filter: stream 150 usecount 0
0:00:11.345460081 11086       0xe46080 DEBUG             dvbbasebin 
dvbbasebin.c:626:foreach_stream_build_filter: stream 1050 usecount 0
0:00:11.345469906 11086       0xe46080 DEBUG             dvbbasebin 
dvbbasebin.c:626:foreach_stream_build_filter: stream 1051 usecount 0
0:00:11.345479171 11086       0xe46080 DEBUG             dvbbasebin 
dvbbasebin.c:626:foreach_stream_build_filter: stream 1052 usecount 0
0:00:11.345488710 11086       0xe46080 INFO              dvbbasebin 
dvbbasebin.c:649:dvb_base_bin_rebuild_filter:<dvbbasebin0> rebuilt 
filter 18:17:16:1:0
0:00:11.345508217 11086       0xe46080 INFO                  dvbsrc 
gstdvbsrc.c:536:gst_dvbsrc_set_property:<dvbsrc0> Set Property: 
ARG_DVBSRC_PIDS
0:00:11.345525869 11086       0xe46080 INFO                  dvbsrc 
gstdvbsrc.c:563:gst_dvbsrc_set_property:<dvbsrc0> Parsed Pid: 18

0:00:11.345537953 11086       0xe46080 INFO                  dvbsrc 
gstdvbsrc.c:563:gst_dvbsrc_set_property:<dvbsrc0> Parsed Pid: 17

0:00:11.345549160 11086       0xe46080 INFO                  dvbsrc 
gstdvbsrc.c:563:gst_dvbsrc_set_property:<dvbsrc0> Parsed Pid: 16

0:00:11.345560820 11086       0xe46080 INFO                  dvbsrc 
gstdvbsrc.c:576:gst_dvbsrc_set_property:<dvbsrc0> checking if playing 
for setting pes filters
0:00:11.345662749 11086       0xe46080 DEBUG                 dvbsrc 
gstdvbsrc.c:847:gst_dvbsrc_finalize:<dvbsrc0> gst_dvbsrc_finalize

(these are the final lines only, the actual dump contains several MB of 
data).

I am using Ubuntu 10.10, libgstreamer is version 0.10.30, 
gstreamer-plugins-bad is version 0.10.20 . Does anybody have an idea 
what is going on here?

On a sidenote, why can't I also give the audio/video PIDs to dvbbasebin? 
With only the service ID/program number, the bin has to wait for the PAT 
to fetch the audio/video PIDs.


More information about the gstreamer-devel mailing list