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 415801 - [asfdemux] Can not play files from http://webtv.idnes.cz/
[asfdemux] Can not play files from http://webtv.idnes.cz/
Status: RESOLVED DUPLICATE of bug 560348
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 418998 440280 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-03-07 18:40 UTC by Michal Benes
Modified: 2009-09-10 08:16 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Ugly hack to setup only realy existent streams (3.04 KB, patch)
2007-03-07 18:42 UTC, Michal Benes
rejected Details | Review
Send newsegmentrs when there are no data in the stream (5.95 KB, patch)
2007-03-08 10:43 UTC, Michal Benes
rejected Details | Review

Description Michal Benes 2007-03-07 18:40:13 UTC
idnes.cz is a very popular Czech news server. They are also serving some video files, which are unfortunately in asf/wmv. It seems that all of their asf files have several audio and video streams according to header. But in fact there is only one audio and one video. Totem does not start playback correctly since it is waiting for video on video_00 pad while only video_03 has any data.
Comment 1 Michal Benes 2007-03-07 18:42:59 UTC
Created attachment 84187 [details] [review]
Ugly hack to setup only realy existent streams

This is a very ugly hack, that adds a pad only when there is something to push. To maintain ABI compatibility I encode the information whether pad has been added to the largest bit of stream->id. I do not know what is the right solution. May be it is really a problem of selector in playbin
Comment 2 Tim-Philipp Müller 2007-03-07 19:11:23 UTC
Yeah, this is a known bug. Not entirely sure how to solve it properly yet, the current heuristics are a bit broken.

I don't know if we can get this information from the stream headers somehow, or if mmssrc would need to tell us which streams are actually streamed and which not.

Maybe just sending update newsegment events on streams for which we have no data will placate playbin too? (I think I quickly tried this once and it didn't work, but I'm not absolutely sure)

You can add fields to the various structs to your heart's content by the way, plugin headers aren't installed and hence ABI/API of those structures isn't an issue.

I'm also considering just not parsing extended stream objects for conflicting streams, which would reopen bug #343763, but that's a smaller evil than lots of MMS streams not working IMHO.

I'd rather not delay pad creation until data flow happens if we can avoid that somehow.
Comment 3 Michal Benes 2007-03-08 10:43:42 UTC
Created attachment 84230 [details] [review]
Send newsegmentrs when there are no data in the stream

Thanks for the additional info. I have created a patch that sends newsegments when there are no data in the stream. This patch fixes A/V synchronization in the problematic files so that the playbacks starts immediately (but only audio is payed). I am not familiar with asf internals. There is a constant MAX_STREAM_DELAY which says how much timestamps of different streams may differ. May be, this can be readed from the stream itself. The real fix for this problem should be in streamselector in playbin.
Comment 4 Tim-Philipp Müller 2007-04-10 13:23:38 UTC
*** Bug 418998 has been marked as a duplicate of this bug. ***
Comment 5 jeff 2007-05-21 14:07:09 UTC
Here's another example URL that exhibits this problem:

http://winmed.cbsig.net/cbsnews/2007/05/20/video2830221.wmv
Comment 6 Michal Benes 2007-05-21 14:17:09 UTC
Hi Jeff, it seems that this is rather a bug on playbin stream-selector. It should not select streams that have no data so the bug should be probably moved to this element. I have gone through the stream-selector code but I do not see a simple way to fix it without changing its behaviour.

The only thing that come in my mind is to switch to different stream whenever there is silence for some time period but still there will some silence at the beginning of the file.
Comment 7 Edward Hervey 2009-03-06 09:40:40 UTC
Isn't this a duplicate of #560348
Comment 8 Sebastian Dröge (slomo) 2009-09-10 08:14:30 UTC
Seems to be the case, yes.

*** This bug has been marked as a duplicate of bug 560348 ***
Comment 9 Sebastian Dröge (slomo) 2009-09-10 08:16:52 UTC
*** Bug 440280 has been marked as a duplicate of this bug. ***