[gstreamer-bugs] [Bug 566604] Add RTMP client support
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Jun 2 08:19:02 PDT 2010
https://bugzilla.gnome.org/show_bug.cgi?id=566604
GStreamer | don't know | git
--- Comment #26 from hyc <hyc at highlandsun.com> 2010-06-02 15:18:57 UTC ---
(In reply to comment #25)
> (In reply to comment #24)
> > (In reply to comment #21)
> > > (From update of attachment 162509 [details] [details] [details])
> > > The life-cycle of the RTMP object is horrible. So just a few notes:
> >
> > What do you mean? It's one object per session.
>
> You need a backing RTMP to use RTMP_SetupURL(), and that means re-parsing the
> URL everytime you disconnect/reconnect.
Since RTMP URLs frequently include an expiring authentication token, it's
unlikely in practice that you can disconnect and then reconnect with the same
URL.
> Note that RTMP_SetupURL() modifies the passed string in place, but you don't
> know whether it takes ownership of the string or not.
Hm, yeah, actually there is no need for it to be modifying the string. I'll fix
that.
> > > - code is from rtmpdump-2.2e
> > > - upstream code was copied, as they install a *static* library with a pc file
> >
> > pkg-config stuff was added to ease integration with mplayer. I suggest you use
> > "make XCFLAGS=-fPIC" to build a library that can be linked into shared code,
> > that's what I use for libcurl.so.
> >
> > Since the API is not frozen yet, it is too soon to be discussing a shared
> > library target for librtmp.
>
> You could write that in text, and have breakage expected. Having a static
> library doesn't help here.
Pretty sure that's already clearly stated on the web site. Given that the
librtmp code originated as a bunch of files linked directly into the rtmpdump
command, the move to a self-contained library has probably missed a few things
here and there.
> I also had to do quite a few code changes (private functions not marked as
> static, declarations of functions which don't take arguments not having void in
> their arguments, quite a few problems with const char * vs. char *).
>
> Let me know if you want those upstream, and I'll send you a patch.
Please do, thanks.
>
> The indentation is a GStreamer-specific requirement.
>
> > > - RTMP_Close() can't be used more than once (it frees some internal buffers)
> >
> > RTMP_Close() frees everything associated with a session. What else would you
> > expect it to do?
>
> Not the same thing I'd expect from RTMP_Free()? :)
Originally there was no RTMP_Alloc/RTMP_Free; I added that later so we can
start hiding the RTMP structure from applications. So since there was only
RTMP_Close, it had to do all cleanup.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list