GNOME Bugzilla – Bug 652946
asfdemux: add support for MS-WMSP (application/x-mms-framed)
Last modified: 2018-11-03 15:34:05 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.
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 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.
Would this patch help solve the problme in Bug#668575, too?
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).
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
-- 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.