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 335067 - Need RTP ASF depayloader
Need RTP ASF depayloader
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other All
: Normal enhancement
: 0.10.11
Assigned To: Wim Taymans
GStreamer Maintainers
: 362342 530264 560081 577654 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-03-18 22:53 UTC by Fabrizio Gennari
Modified: 2009-04-01 22:19 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
Output of Ethereal's Follow TCP Stream (8.76 KB, text/plain)
2006-03-23 22:05 UTC, Fabrizio Gennari
  Details
Output of Ethereal's Follow TCP Stream when using WIndows Media Player (14.86 KB, text/plain)
2006-03-23 22:07 UTC, Fabrizio Gennari
  Details
ASF depayloader, first attempt (24.27 KB, patch)
2006-10-09 12:24 UTC, Tim-Philipp Müller
none Details | Review
udpated patch (24.30 KB, patch)
2007-06-26 10:38 UTC, Tim-Philipp Müller
none Details | Review

Description Fabrizio Gennari 2006-03-18 22:53:34 UTC
Current implementation of RTSP is incompatible with servers running Windows
Media Server.

Example is rtsp://mms.studios.tiscali.nl/StreamGate41 . Works with Windows Media
Player, GStreamer gives "Invalid OPTIONS response.". With an Ethereal sniffing,
it appears that Windows Media Player RTSP client does not even asks for OPTIONS,
but issues a DESCRIBE immediately
Comment 1 Wim Taymans 2006-03-21 16:20:25 UTC
The OPTIONS response does not contain Allow or Public on this server. This is however not required. Following patch should fix this. Next error is a 401, not allowed, which is a different issue.

        * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_open):
        the OPTIONS request result is optional so don't
        fail on it.
Comment 2 Fabrizio Gennari 2006-03-23 22:05:34 UTC
Created attachment 61874 [details]
Output of Ethereal's Follow TCP Stream 

Actually, I get an Unsupported Transport. Should a new bug be opened, ot is it enough to reopen this?
Comment 3 Fabrizio Gennari 2006-03-23 22:07:13 UTC
Created attachment 61875 [details]
Output of Ethereal's Follow TCP Stream when using WIndows Media Player

Apparently Windows Media Player appends unicast;interleaved=0-1;ssrc=<some session id> to the SETUP
Comment 4 Fabrizio Gennari 2006-04-02 20:03:07 UTC
I reopened this bug not because the original problem was not solved (it was), but because the title of this bug is vague enough to include the following problem encountered.

And the following problem is: the server replies to the SETUP request with RTSP/1.0 461 Unsupported Transport
Comment 5 Wim Taymans 2006-09-19 11:07:46 UTC
still getting 401, might have something to do with the fact that this is only available to members.
Comment 6 Wim Taymans 2006-10-06 16:33:08 UTC
Works fine now. someone needs to make an rtpasf depayloader though. Changing topic now to reflect this.
Comment 7 Tim-Philipp Müller 2006-10-07 19:19:19 UTC
Alternative demo stream (always get 401 with the above):

rtsp://wm1.warpnet.jet-stream.nl/jet-stream/windowsmedia.wmv
Comment 8 Tim-Philipp Müller 2006-10-09 12:24:59 UTC
Created attachment 74350 [details] [review]
ASF depayloader, first attempt

Here's a first attempt at an ASF RTP depayloader, based on the docs which can be found at http://sdp.ppona.com/. Not sure how correct it is, probably needs some more fine-tuning. asfdemux needs some love to work with this too.
Comment 9 Edward Hervey 2006-10-15 11:18:47 UTC
*** Bug 362342 has been marked as a duplicate of this bug. ***
Comment 10 Tim-Philipp Müller 2007-06-26 10:38:21 UTC
Created attachment 90653 [details] [review]
udpated patch

Updated patch. Same as above basically, but applies cleanly to CVS. Sink caps also have been updated: the encoding-name string is now upper-case.
Comment 11 Josep Torra Valles 2007-10-23 11:20:52 UTC
The proposed depayloader should just copy timestamp and duration from incoming buffer to out buffer as is explained at gst-plugins-good/gst/rtp/README.

The depayloader should keep the header until first buffer arrive and push it with the timestamp of the incoming buffer.

Comment 12 Tim-Philipp Müller 2008-08-14 10:40:18 UTC
*** Bug 530264 has been marked as a duplicate of this bug. ***
Comment 13 Philip Withnall 2008-11-12 22:54:21 UTC
*** Bug 560081 has been marked as a duplicate of this bug. ***
Comment 14 Maxim Levitsky 2008-11-30 17:27:38 UTC
What the state of this patch?

I need access to a stream that is encoded with that format
Comment 15 Maxim Levitsky 2008-11-30 22:17:54 UTC
I applied this patch to cvs version, and it WORKS!.

gst-launch rtspsrc location=.....  protocols=0x4   ! rtpasfdepay ! filesink location=test.wmv


^^^ Works perfectly, resulting WMV is playable in totem, and no artifacts, no connection drops, works just perfectly.

Only problem is that it doesn't work in totem due to "protocols=0x4", this I think is a bug in rtspsrc.
It should try both TCP and UDP,(here debug output tells me that server doesn't support udp)

Totem just shows nothing.

Thanks a lot,
      Maxim Levitsky
Comment 16 Mark Nauwelaerts 2008-12-01 09:22:03 UTC
The above problem with UDP (probably Unsupported Transport response to a SETUP request even though server reported it as supported) is most likely due to what is described in bug 552650 (patch given there may or may not apply to current HEAD CVS). 
Comment 17 Wim Taymans 2009-02-20 12:55:57 UTC
Commited a newly rewritten version.

commit f0078ebae4a09800db8c5d486b99c223479384ab
Author: Wim Taymans <wim.taymans@collabora.co.uk>
Date:   Fri Feb 20 13:48:08 2009 +0100

    Add ASF depayloader
    
    Add ASF depayloader based on latest public MicroSoft docs (MS-RTSP).
    Fixes #335067.
Comment 18 Maxim Levitsky 2009-02-20 19:26:55 UTC
Wow! Thanks
Comment 19 Tim-Philipp Müller 2009-04-01 22:19:00 UTC
*** Bug 577654 has been marked as a duplicate of this bug. ***