[gst-devel] dvbsrc/dvbbasebin problems

Krzysztof Adamski krzysztof.adamski at korbank.pl
Thu May 7 11:51:40 CEST 2009


Dnia 2009-05-06, śro o godzinie 19:06 +0100, Zaheer Merali pisze:
> > Now i'm able to play the file (with smooth video) using:
> > gst-launch -m filesrc location=/tmp/1.ts ! mpegtsdemux es-pids=163:92\
> >  !  mpeg2dec ! ffmpegcolorspace ! xvimagesink
> 
> You should not use es-pids, instead you should make sure you always
> record the pat and pmt inside the ts also.
How can i make sure it is? When not using es-pids, i'm getting following
error:
gst-launch filesrc location=/tmp/1.ts ! mpegtsdemux !  mpeg2dec \
 ! ffmpegcolorspace ! xvimagesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0:
Could not determine type of stream.
Additional debug info:
gstmpegtsdemux.c(2367): gst_fluts_demux_sink_event
(): /GstPipeline:pipeline0/GstMpegTSDemux:mpegtsdemux0:
No valid streams found at EOS
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
FREEING pipeline ...

The same works with es-pids. The file has 60MB. What I'm doing wrong,
then?

> Do:
> 
> set GST_DEBUG=dvb*:5 and then run your dvbbasebin pipeline again with
> stdout and stderr redirected to a file, ctrl-c after 5 mins and send
> me the file.
> 
> Most likely you have set the wrong program number (equivalent to
> service id or sid) for the channel you want.

I've run this on Ubuntu Janunty, here is the full log:
http://vps.japko.eu/gst_full_log.txt

most of the log lines are something like this however:
dvbsrc gstdvbsrc.c:941:gst_dvbsrc_create: fd_dvr: 11
dvbsrc gstdvbsrc.c:952:gst_dvbsrc_create:<dvbsrc0> Reading from DVR
device

So i removed this lines from the log to make it more compact and here is
what it left:

http://vps.japko.eu/gst_compact_log.txt

And I'm also pasting it here for the record (removing first 4 colums):
dvbsrc gstdvbsrc.c:852:gst_dvbsrc_plugin_init: binding text domain
gst-plugins-bad-0.10 to locale dir /usr/share/locale
dvbsrc gstdvbsrc.c:447:gst_dvbsrc_init:<GstDvbSrc at 0x9a86038>
gst_dvbsrc_init
dvbsrc gstdvbsrc.c:497:gst_dvbsrc_set_property:<dvbsrc0> Set Property:
ARG_DVBSRC_FREQUENCY
dvbsrc gstdvbsrc.c:513:gst_dvbsrc_set_property:<dvbsrc0> Set Property:
ARG_DVBSRC_PIDS
dvbsrc gstdvbsrc.c:536:gst_dvbsrc_set_property:<dvbsrc0> Parsed Pid: 163

dvbsrc gstdvbsrc.c:536:gst_dvbsrc_set_property:<dvbsrc0> Parsed Pid: 92

dvbsrc gstdvbsrc.c:546:gst_dvbsrc_set_property:<dvbsrc0> checking if
playing for setting pes filters
dvbsrc gstdvbsrc.c:507:gst_dvbsrc_set_property:<dvbsrc0> Set Property:
ARG_DVBSRC_POLARITY
dvbsrc gstdvbsrc.c:557:gst_dvbsrc_set_property:<dvbsrc0> Set Property:
ARG_DVBSRC_SYM_RATE to value 27500
Setting pipeline to PAUSED ...
dvbsrc gstdvbsrc.c:692:gst_dvbsrc_open_frontend:<dvbsrc0> Using frontend
device: /dev/dvb/adapter0/frontend0
dvbsrc gstdvbsrc.c:770:gst_dvbsrc_open_frontend:<dvbsrc0> DVB card: VLSI
VES1x93 DVB-S
dvbsrc gstdvbsrc.c:692:gst_dvbsrc_open_frontend:<dvbsrc0> Using frontend
device: /dev/dvb/adapter0/frontend0
dvbsrc gstdvbsrc.c:770:gst_dvbsrc_open_frontend:<dvbsrc0> DVB card: VLSI
VES1x93 DVB-S
dvbsrc gstdvbsrc.c:1214:gst_dvbsrc_tune:<dvbsrc0> gst_dvbsrc_tune
dvbsrc gstdvbsrc.c:1347:gst_dvbsrc_unset_pes_filters:<dvbsrc0> clearing
PES filter
dvbsrc gstdvbsrc.c:1241:gst_dvbsrc_tune:<dvbsrc0> api version 5.0
dvbsrc gstdvbsrc.c:1253:gst_dvbsrc_tune:<dvbsrc0> tuning DVB-S to
L-Band:969000, Pol:1, srate=27500000, 22kHz=off
dvbsrc gstdvbsrc.c:1328:gst_dvbsrc_tune:<dvbsrc0> status == 0x1f
dvbsrc gstdvbsrc.c:1328:gst_dvbsrc_tune:<dvbsrc0> status == 0x1f
dvbsrc gstdvbsrc.c:1328:gst_dvbsrc_tune:<dvbsrc0> status == 0x1f
dvbsrc gstdvbsrc.c:1328:gst_dvbsrc_tune:<dvbsrc0> status == 0x1f
dvbsrc gstdvbsrc.c:1328:gst_dvbsrc_tune:<dvbsrc0> status == 0x1f
dvbsrc gstdvbsrc.c:1366:gst_dvbsrc_set_pes_filters:<dvbsrc0> Setting PES
filter
dvbsrc gstdvbsrc.c:1389:gst_dvbsrc_set_pes_filters:<dvbsrc0> Setting
pes-filter, pid = 0, type = 20
dvbsrc gstdvbsrc.c:1389:gst_dvbsrc_set_pes_filters:<dvbsrc0> Setting
pes-filter, pid = 1, type = 20
dvbsrc gstdvbsrc.c:1389:gst_dvbsrc_set_pes_filters:<dvbsrc0> Setting
pes-filter, pid = 163, type = 20
dvbsrc gstdvbsrc.c:1389:gst_dvbsrc_set_pes_filters:<dvbsrc0> Setting
pes-filter, pid = 92, type = 20
dvbsrc gstdvbsrc.c:1092:gst_dvbsrc_frontend_status:<dvbsrc0>
gst_dvbsrc_frontend_status

dvbsrc gstdvbsrc.c:1099:gst_dvbsrc_frontend_status:<dvbsrc0>
fd-frontend: 6
dvbsrc gstdvbsrc.c:1103:gst_dvbsrc_frontend_status:<dvbsrc0> .
dvbsrc gstdvbsrc.c:785:gst_dvbsrc_open_dvr:<dvbsrc0> Using dvr
device: /dev/dvb/adapter0/dvr0
dvbsrc gstdvbsrc.c:804:gst_dvbsrc_open_dvr:<dvbsrc0> Setting buffer size
Pipeline is live and does not need PREROLL ...
Got Message #2 from element "filesink0" (state-changed):
GstMessageState, old-state=(GstState)GST_STATE_NULL,
new-state=(GstState)GST_STATE_READY,
pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message #3 from element "dvbsrc0" (element): dvb-adapter,
type=(string)DVB-S, name=(string)"VLSI\ VES1x93\ DVB-S",
auto-fec=(boolean)true;
Got Message #4 from element "dvbsrc0" (state-changed): GstMessageState,
old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY,
pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message #5 from element "pipeline0" (state-changed):
GstMessageState, old-state=(GstState)GST_STATE_NULL,
new-state=(GstState)GST_STATE_READY,
pending-state=(GstState)GST_STATE_PAUSED;
Got Message #7 from element "dvbsrc0" (element): dvb-adapter,
type=(string)DVB-S, name=(string)"VLSI\ VES1x93\ DVB-S",
auto-fec=(boolean)true;
Got Message #8 from element "dvbsrc0" (element): dvb-frontend-stats,
status=(int)31, signal=(int)35209, snr=(int)57054, ber=(int)0,
unc=(int)82, lock=(boolean)true;
Got Message #11 from element "dvbsrc0" (state-changed): GstMessageState,
old-state=(GstState)GST_STATE_READY,
new-state=(GstState)GST_STATE_PAUSED,
pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message #12 from element "pipeline0" (state-changed):
GstMessageState, old-state=(GstState)GST_STATE_READY,
new-state=(GstState)GST_STATE_PAUSED,
pending-state=(GstState)GST_STATE_VOID_PENDING;
Setting pipeline to PLAYING ...
dvbsrc gstdvbsrc.c:941:gst_dvbsrc_create: fd_dvr: 11
dvbsrc gstdvbsrc.c:952:gst_dvbsrc_create:<dvbsrc0> Reading from DVR
device
Got Message #13 from element "pipeline0" (new-clock):
GstMessageNewClock, clock=(GstClock)"\(GstSystemClock\)\
GstSystemClock";
New clock: GstSystemClock
Got Message #15 from element "dvbsrc0" (state-changed): GstMessageState,
old-state=(GstState)GST_STATE_PAUSED,
new-state=(GstState)GST_STATE_PLAYING,
pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message #16 from element "filesink0" (state-changed):
GstMessageState, old-state=(GstState)GST_STATE_READY,
new-state=(GstState)GST_STATE_PAUSED,
pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message #18 from element "pipeline0" (async-done): no message
details
Got Message #20 from element "filesink0" (state-changed):
GstMessageState, old-state=(GstState)GST_STATE_PAUSED,
new-state=(GstState)GST_STATE_PLAYING,
pending-state=(GstState)GST_STATE_VOID_PENDING;
Got Message #21 from element "pipeline0" (state-changed):
GstMessageState, old-state=(GstState)GST_STATE_PAUSED,
new-state=(GstState)GST_STATE_PLAYING,
pending-state=(GstState)GST_STATE_VOID_PENDING;
dvbsrc gstdvbsrc.c:941:gst_dvbsrc_create: fd_dvr: 11
dvbsrc gstdvbsrc.c:952:gst_dvbsrc_create:<dvbsrc0> Reading from DVR
device
dvbsrc gstdvbsrc.c:941:gst_dvbsrc_create: fd_dvr: 11
dvbsrc gstdvbsrc.c:952:gst_dvbsrc_create:<dvbsrc0> Reading from DVR
device
dvbsrc gstdvbsrc.c:908:read_device: Reading from
device /dev/dvb/adapter0/dvr0 timedout (1)
[last line repeated a lot of times]
Got Message #22 from element "pipeline0" (application):
GstLaunchInterrupt, message=(string)"Pipeline\ interrupted";
Interrupt: Stopping pipeline ...
Execution ended after 880874773010 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
dvbsrc gstdvbsrc.c:1347:gst_dvbsrc_unset_pes_filters:<dvbsrc0> clearing
PES filter
Setting pipeline to NULL ...
FREEING pipeline ...
dvbsrc gstdvbsrc.c:817:gst_dvbsrc_finalize:<dvbsrc0> gst_dvbsrc_finalize







More information about the gstreamer-devel mailing list