[FFmpeg-devel] Realmedia patch

Ronald S. Bultje rsbultje
Wed Sep 3 15:01:52 CEST 2008


Hi Luca,

On Wed, Sep 3, 2008 at 3:07 AM, Luca Abeni <lucabe72 at email.it> wrote:
> Ronald S. Bultje wrote:
> [...]
>>>>> I can move this to ff_rdt_parse_packet() if you prefer it there
>>>> Yes, this belongs to ff_rdt_parse_packet(), since it has nothing to
>>>> do with RTSP...
>>
>> OK so this is becoming problematic for me now. Here's why:
>> - RTSPStream is private to rtsp.c
>> - AVStream->priv_data is a RTSPStream
>> - the only way to get to the DynamicProtocolHandler private data is
>> through RTPDemuxContext->dynamic_protocol_context or RTSPStream
>> - I can't get to my context data without rtsp.c data
> [...]
>
> I need to think a little bit more about this.
> I know real rtsp is a mess, but there must be some way to support
> it without filling all the rtsp code with hacks, layering violations,
> and so on...
>
> I suspect part of the problem is due to the fact that you are reusing
> the RTP infrastructure without making the RTSP code more generic, but
> I am not sure about it... I need to re-read all the code, and to think
> about it.

What if I export rdt_read_header() and call that from
rtsp_read_packet()? At least it centralizes the parsing into rdt.c,
but the ID numbering is still done inside rtsp.c. :-).

> (BTW, is it my impression, or rtp_check_and_send_back_rr() is
> still called for RDT over UDP?

Yes. I'm considering adding a if(rdt&&!tcp) return error; as you
suggested earlier, I think we're thinking about a case too much that
may not exist at all, all servers give me a 461 (unsupported protocol)
for UDP. See #4 attached.

> And is rtp_parse_open() still called?)

Yes. I think that one I can get rid of with rdt.c in place now, but I
don't think it'll affect the if(rdt)..else.. structure of rtsp.c.

Anyway, seems you really want this, attached is a patch to generalize
the code around rtp_parse_open() (#1), so that I can make rtp_ctx
opaque as you requested (#2, #3).

All patches are on top of my other work, sorry for that...

Ronald
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rtsp-generalize-rtp.patch
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080903/60500fcd/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rtsp-open_rdt.patch
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080903/60500fcd/attachment.asc>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rtsp-rtpdemuxctx-opaque.patch
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080903/60500fcd/attachment-0001.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rtsp-disallow-nontcprdt.patch
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080903/60500fcd/attachment-0001.asc>



More information about the ffmpeg-devel mailing list