[FFmpeg-devel] Realmedia patch
Ronald S. Bultje
Wed Aug 27 22:54:17 CEST 2008
On Wed, Aug 27, 2008 at 2:53 AM, Luca Abeni <lucabe72 at email.it> wrote:
> Ronald S. Bultje wrote:
>>> Again, here I'd like to have something more generic. Instead
>>> of a "is_real_datatype" variable, we can have some kind of
>>> "rtsp_flavour" enum (feel free to find a better name), which
>>> can currently assume only the "STANDARD_RTSP" and "REAL_RTSP"
>>> values (but someone can extend it in the future).
>> So, I'm sort of in doubt here. I can go two ways for this sort of stuff.
>> 1: simply add the enum
>> 2: add the enum plus a set of vfuncs (similar to the
>> RTPDynamicProtocol function pointers)
>> Which one would you prefer?
> I _personally_ think that 1) would be ok (after all, I've not
> been the one proposing to use RTPDynamicProtocol and function
> pointers for this stuff ;-).
> I suspect the code needs a little bit of refactoring, but then
> the enum approach can be implemented without too much complexity.
> I think the best way to go is to
> - first fix rtsp.c to make it more generic and to remove the
> "RTSP ===> RTP" assumption
> - after that, introduce RDT support with a second patch.
> And I believe the most difficult part is doing the first step
> in a clean way.
I'd probably just go and fix it as we go and integrate Realmedia
support... I mean, basically the only part where RTSP -> RDT comes
into play is in parse_packet, all other parts aren't really
interesting. RDT may lack many aspects of RTP, but in the end the
setup is the same. We can still use RTPDynamicProtocol and RTPPayload
and such works the same. The only thing really different is the packet
layout and apparent lack of RTCP. That's easy to take care of when we
get to those parts of the patches if we're not going to build a whole
machine around it, but simply use if..else.. statements.
Attached is a patch that introduces an enum ServerType and scans over
it during OPTIONS while we detect server type. I'll use that in other
patches in the future.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
More information about the ffmpeg-devel