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 652946 - asfdemux: add support for MS-WMSP (application/x-mms-framed)
asfdemux: add support for MS-WMSP (application/x-mms-framed)
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-06-19 14:50 UTC by awyoung@hispeed.ch
Modified: 2018-11-03 15:34 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Core patch (6.49 KB, patch)
2011-06-19 14:50 UTC, awyoung@hispeed.ch
none Details | Review
Updated patch (9.00 KB, patch)
2011-06-22 07:25 UTC, awyoung@hispeed.ch
needs-work Details | Review

Description awyoung@hispeed.ch 2011-06-19 14:50:21 UTC
Created attachment 190207 [details] [review]
Core patch

Add support for MS-WMSP (Windows Media HTTP Streaming Protocol: http://msdn.microsoft.com/en-us/library/cc251059%28v=PROT.10%29.aspx) framed ASF. This protocol wraps the ASF packets in an additional framing protocol (application/x-mms-framed). In addition to removing this wrapping, the ASF demuxer needs to be aware of the frame boundaries provided by this protocol, so it seems appropriate to enhance the existing asfdemux plugin rather than supply a new one. 

The attached patch includes the core of the technical changes and hardcodes the use of application/x-mms-framed instead of video/x-ms-asf, so clearly it is not yet complete. I guess what is needed is a declaration of the additional application/x-mms-framed capability for the sink pad and code to detect if the incoming data stream is in fact application/x-mms-framed and set the (new) framed flag in the demux structure when that is the case. I am unsure how to do that.

The patch only does anything useful with type H (header) type D (data) packet types (see http://msdn.microsoft.com/en-us/library/cc251224%28v=PROT.10%29.aspx). It might make make sense to detect two consecutive E (end-of-stream) packets as these are sometimes used to signal end of stream without disconnecting the input stream. Otherwise, the existing logic deals sufficiently with consecutive streams, without explicit handling of the E, C and M packets.
Comment 1 awyoung@hispeed.ch 2011-06-22 07:25:01 UTC
Created attachment 190410 [details] [review]
Updated patch

Includes capabilities negotiation for framed content and better error handling.

The change is essentially complete with this patch.
Comment 2 Sebastian Dröge (slomo) 2011-06-26 12:45:18 UTC
Comment on attachment 190410 [details] [review]
Updated patch

The detection of the stream type (mms framed or not) would be done by extending the ASF playloader in gst-plugins-base/gst/typefind. You can then get the correct caps in the sinkpad setcaps function of the demuxer and handle the input as mms-framed or not.
Comment 3 hlusic 2012-01-26 18:46:50 UTC
Would this patch help solve the problme in Bug#668575, too?
Comment 4 awyoung@hispeed.ch 2012-01-27 07:14:59 UTC
Yes. It would need the typefind extension that Sebastian refers to and which I have not implemented (as I did not need it for my application and have not had the time to look into it).
Comment 5 Edward Hervey 2018-05-12 06:31:40 UTC
This is still valid, but the patch should be updated to 1.x

Having url of test streams would be good also :)

New location of specs : https://msdn.microsoft.com/en-us/library/cc251059.aspx
Comment 6 GStreamer system administrator 2018-11-03 15:34:05 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/issues/2.