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