After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 338676 - play MPEG TS without PAT/PMT
play MPEG TS without PAT/PMT
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-04-16 09:38 UTC by Nigel
Modified: 2013-09-09 01:26 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Short dump from dvr0 without PAT/PMT (800.00 KB, text/vnd.trolltech.linguist)
2012-03-20 15:48 UTC, Michał Sawicz
Details

Description Nigel 2006-04-16 09:38:01 UTC
When I create a pipeline like:
gst-launch-0.10 filesrc location=/tmp/ts  ! ffdemux_mpegts

where /tmp/ts is a stream capture from /dev/dvb/adapter0/dvr0, i get:

Setting pipeline to PAUSED ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
ERROR: from element /pipeline0/ffdemux_mpegts0: GStreamer encountered a general supporting library error.
Additional debug info:
gstffmpegdemux.c(1050): gst_ffmpegdemux_open (): /pipeline0/ffdemux_mpegts0:
Unknown error
Execution ended after 530000 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
FREEING pipeline ...

If I try to directly access the the /dev/dvb/adapter0/dvr0 device, it fails as due to only supporting the pull mode:

 gst-launch-0.10 filesrc location=/dev/dvb/adapter0/dvr0  !  ffdemux_mpegts name=d 
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /pipeline0/d: Element doesn't implement handling of this stream. Please file a bug.
Additional debug info:
gstffmpegdemux.c(1274): gst_ffmpegdemux_sink_activate (): /pipeline0/d:
failed to activate sinkpad in pull mode, push mode not implemented yet
Setting pipeline to NULL ...
FREEING pipeline ...
Comment 1 Wim Taymans 2006-04-21 08:58:51 UTC
the ffmpeg demuxers do not yet support push based scheduling.
Comment 2 Nigel 2006-04-22 03:59:47 UTC
Fair enough, but doesn't filesrc support pull based scheduling? ie, what is a working pipeline for this element?
Comment 3 Wim Taymans 2006-04-24 08:43:26 UTC
something like gst-launch-0.10 filesrc location=/tmp/ts  ! ffdemux_mpegts should work fine. Don't know why the first pipeline does not work for you. filesrc from a non seekable file /dev/dvb/adapter0/dvr0 will not work pull based.

If you can attach a sample captured ts file that fails to work, I can take a look at it.

Comment 4 Nigel 2006-04-29 03:07:25 UTC
The dump is available here:
http://hpc-external.jcu.edu.au/~nigel/dvr-capture
It is about 10MB large, so be careful, but being a TS stream, perhaps you can just grab the first few megabytes.
Comment 5 Wim Taymans 2006-08-16 14:12:30 UTC
This file does not contain any PAT or PMT, ffmpeg cannot demux these streams AFAIK.
Comment 6 Wim Taymans 2006-08-16 14:14:25 UTC
changing subject. Marking as enhancement.
Comment 7 Stephane Loeuillet 2008-03-22 13:41:47 UTC
http://hpc-external.jcu.edu.au/~nigel/dvr-capture doesn't exist anymore

Any other capture / source somewhere ?
Comment 8 Janne Grunau 2010-11-05 11:57:48 UTC
ffmpeg's mpegts demuxer can play mpegts streams without PAT/PMT since a few years. mpegtsdemux can\t though. see bug 523866

Samples can be generated from /dev/dvb/adapter0/dvr0 by using ?zap -r without -p. 
I can upload a sample if anyone still wants one.
Comment 9 Thibault Saunier 2012-02-27 20:27:42 UTC
This bug also applies to the tsdemux element as it doesn't support stream without pat/pmt neither.

It would be better if someone could upload here a sample file with no pat/pmt (I do not have any).

Moving the bug to gst-plugins-bad as this is where both mpegtsdemux and tsdemux are (not gst-ffmpeg).
Comment 10 Michał Sawicz 2012-03-20 15:48:01 UTC
Created attachment 210183 [details]
Short dump from dvr0 without PAT/PMT
Comment 11 Edward Hervey 2012-03-30 15:30:40 UTC
This might be a stupid question ... but how is one expected to play a ts file without PAT/PMT ? Is there some implied streams when none are present ?
Comment 12 Edward Hervey 2012-03-30 15:32:11 UTC
fwiw ... vlc can't play that file either
Comment 13 Tobias Mueller 2012-07-19 17:07:17 UTC
So this seems like NOTABUG to me then. Please reopen if this is not the case.
Comment 14 Matej Knopp 2013-09-09 01:26:20 UTC
Well, I'm not sure how compliant it is, but ffmpeg does indeed support streams without PMT. It just creates the streams is it go through packets, using codec probe to determine stream type.