Re: [FFmpeg-devel] [PATCH] avformat: stop exporting ffurl_read_complete, ffurl_seek and ffurl_size
On Sun, Dec 27, 2015 at 7:32 PM, Jan Ehrhardtwrote: > Andreas Cadhalpun in gmane.comp.video.ffmpeg.devel (Tue, 27 Oct 2015 > 22:52:27 +0100): >>> On Tue, Oct 27, 2015 at 9:58 PM, Andreas Cadhalpun diff --git a/libavformat/libavformat.v b/libavformat/libavformat.v index e90aef7..a00a309 100644 --- a/libavformat/libavformat.v +++ b/libavformat/libavformat.v @@ -10,9 +10,6 @@ LIBAVFORMAT_$MAJOR { -ffurl_read_complete; -ffurl_seek; -ffurl_size; >> >>OK. I'll wait a bit to see if someone else wants to comment on this patch. > > There is a PHP extension that uses ffurl_seek and ffurl_read_complete: > https://github.com/chung-leong/av/blob/master/faststart.c#L76 > > These functions are also documented at > http://www.ffmpeg.org/doxygen/trunk/avio_8c.html > > How should an external developer know what functions are publically > available? The doxygen you referenced documents everything, including internal data structures. It may be a bit unfortunate choice to have that on the website, but its probably also used by developers of FFmpeg. If you want to see public functions, best would be to check the installed headers. avio.h for example doesn't export any non-public functions (while of course avio.c contains them, which is what you linked the doxygen of) - Hendrik ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avformat: stop exporting ffurl_read_complete, ffurl_seek and ffurl_size
Andreas Cadhalpun in gmane.comp.video.ffmpeg.devel (Tue, 27 Oct 2015 22:52:27 +0100): >> On Tue, Oct 27, 2015 at 9:58 PM, Andreas Cadhalpun >>> diff --git a/libavformat/libavformat.v b/libavformat/libavformat.v >>> index e90aef7..a00a309 100644 >>> --- a/libavformat/libavformat.v >>> +++ b/libavformat/libavformat.v >>> @@ -10,9 +10,6 @@ LIBAVFORMAT_$MAJOR { >>> -ffurl_read_complete; >>> -ffurl_seek; >>> -ffurl_size; > >OK. I'll wait a bit to see if someone else wants to comment on this patch. There is a PHP extension that uses ffurl_seek and ffurl_read_complete: https://github.com/chung-leong/av/blob/master/faststart.c#L76 These functions are also documented at http://www.ffmpeg.org/doxygen/trunk/avio_8c.html How should an external developer know what functions are publically available? -- Jan ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avformat: stop exporting ffurl_read_complete, ffurl_seek and ffurl_size
On 27.12.2015 19:32, Jan Ehrhardt wrote: > Andreas Cadhalpun in gmane.comp.video.ffmpeg.devel (Tue, 27 Oct 2015 > 22:52:27 +0100): >>> On Tue, Oct 27, 2015 at 9:58 PM, Andreas Cadhalpun diff --git a/libavformat/libavformat.v b/libavformat/libavformat.v index e90aef7..a00a309 100644 --- a/libavformat/libavformat.v +++ b/libavformat/libavformat.v @@ -10,9 +10,6 @@ LIBAVFORMAT_$MAJOR { -ffurl_read_complete; -ffurl_seek; -ffurl_size; >> >> OK. I'll wait a bit to see if someone else wants to comment on this patch. > > There is a PHP extension that uses ffurl_seek and ffurl_read_complete: > https://github.com/chung-leong/av/blob/master/faststart.c#L76 This extension is apparently not developed anymore: the last commit was about two years ago. > These functions are also documented at > http://www.ffmpeg.org/doxygen/trunk/avio_8c.html This documentation contains every (public or private) function of ffmpeg. > How should an external developer know what functions are publically > available? Publicly available functions are declared in installed headers, which ffurl_seek and ffurl_read have never been. Whoever wrote this extension must have been aware of the fact that these are private functions as they are explicitly declared in the code [1]: // from libavformat/url.h typedef struct URLContext URLContext; int ffurl_read_complete(URLContext *h, unsigned char *buf, int size); int ffurl_write(URLContext *h, const unsigned char *buf, int size); int64_t ffurl_seek(URLContext *h, int64_t pos, int whence); This shouldn't have been done in the first place... Best regards, Andreas 1: https://github.com/chung-leong/av/blob/master/faststart.c#L51 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avformat: stop exporting ffurl_read_complete, ffurl_seek and ffurl_size
On 27.10.2015 22:52, Andreas Cadhalpun wrote: > On 27.10.2015 22:04, Hendrik Leppkes wrote: >> On Tue, Oct 27, 2015 at 9:58 PM, Andreas Cadhalpun >>wrote: >>> They are not in public headers and not used outside of libavformat. >>> >>> Signed-off-by: Andreas Cadhalpun >>> --- >>> >>> It's been a year since the last attempt to remove these [1]. >>> Bad enough that ffserver still uses private functions, but keeping even >>> more in the ABI for some unnamed third party applications is just wrong. >>> >>> 1: https://ffmpeg.org/pipermail/ffmpeg-devel/2014-August/160951.html >>> >>> --- >>> libavformat/libavformat.v | 3 --- >>> 1 file changed, 3 deletions(-) >>> >>> diff --git a/libavformat/libavformat.v b/libavformat/libavformat.v >>> index e90aef7..a00a309 100644 >>> --- a/libavformat/libavformat.v >>> +++ b/libavformat/libavformat.v >>> @@ -10,9 +10,6 @@ LIBAVFORMAT_$MAJOR { >>> ffio_set_buf_size; >>> ffurl_close; >>> ffurl_open; >>> -ffurl_read_complete; >>> -ffurl_seek; >>> -ffurl_size; >>> ffurl_write; >>> #those are deprecated, remove on next bump >>> url_feof; >>> -- >>> 2.6.1 >>> >> >> Fine with me. > > OK. I'll wait a bit to see if someone else wants to comment on this patch. Seems not the case, so pushed now. Best regards, Andreas ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
[FFmpeg-devel] [PATCH] avformat: stop exporting ffurl_read_complete, ffurl_seek and ffurl_size
They are not in public headers and not used outside of libavformat. Signed-off-by: Andreas Cadhalpun--- It's been a year since the last attempt to remove these [1]. Bad enough that ffserver still uses private functions, but keeping even more in the ABI for some unnamed third party applications is just wrong. 1: https://ffmpeg.org/pipermail/ffmpeg-devel/2014-August/160951.html --- libavformat/libavformat.v | 3 --- 1 file changed, 3 deletions(-) diff --git a/libavformat/libavformat.v b/libavformat/libavformat.v index e90aef7..a00a309 100644 --- a/libavformat/libavformat.v +++ b/libavformat/libavformat.v @@ -10,9 +10,6 @@ LIBAVFORMAT_$MAJOR { ffio_set_buf_size; ffurl_close; ffurl_open; -ffurl_read_complete; -ffurl_seek; -ffurl_size; ffurl_write; #those are deprecated, remove on next bump url_feof; -- 2.6.1 ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avformat: stop exporting ffurl_read_complete, ffurl_seek and ffurl_size
On 27.10.2015 22:04, Hendrik Leppkes wrote: > On Tue, Oct 27, 2015 at 9:58 PM, Andreas Cadhalpun >wrote: >> They are not in public headers and not used outside of libavformat. >> >> Signed-off-by: Andreas Cadhalpun >> --- >> >> It's been a year since the last attempt to remove these [1]. >> Bad enough that ffserver still uses private functions, but keeping even >> more in the ABI for some unnamed third party applications is just wrong. >> >> 1: https://ffmpeg.org/pipermail/ffmpeg-devel/2014-August/160951.html >> >> --- >> libavformat/libavformat.v | 3 --- >> 1 file changed, 3 deletions(-) >> >> diff --git a/libavformat/libavformat.v b/libavformat/libavformat.v >> index e90aef7..a00a309 100644 >> --- a/libavformat/libavformat.v >> +++ b/libavformat/libavformat.v >> @@ -10,9 +10,6 @@ LIBAVFORMAT_$MAJOR { >> ffio_set_buf_size; >> ffurl_close; >> ffurl_open; >> -ffurl_read_complete; >> -ffurl_seek; >> -ffurl_size; >> ffurl_write; >> #those are deprecated, remove on next bump >> url_feof; >> -- >> 2.6.1 >> > > Fine with me. OK. I'll wait a bit to see if someone else wants to comment on this patch. > I don't understand why ffserver uses any of those instead of simply > using avio functions though. The ffurl_* functions could probably be replaced with avio_* functions, it's just that nobody wrote a patch for that, yet. Best regards, Andreas ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
Re: [FFmpeg-devel] [PATCH] avformat: stop exporting ffurl_read_complete, ffurl_seek and ffurl_size
On Tue, Oct 27, 2015 at 9:58 PM, Andreas Cadhalpunwrote: > They are not in public headers and not used outside of libavformat. > > Signed-off-by: Andreas Cadhalpun > --- > > It's been a year since the last attempt to remove these [1]. > Bad enough that ffserver still uses private functions, but keeping even > more in the ABI for some unnamed third party applications is just wrong. > > 1: https://ffmpeg.org/pipermail/ffmpeg-devel/2014-August/160951.html > > --- > libavformat/libavformat.v | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/libavformat/libavformat.v b/libavformat/libavformat.v > index e90aef7..a00a309 100644 > --- a/libavformat/libavformat.v > +++ b/libavformat/libavformat.v > @@ -10,9 +10,6 @@ LIBAVFORMAT_$MAJOR { > ffio_set_buf_size; > ffurl_close; > ffurl_open; > -ffurl_read_complete; > -ffurl_seek; > -ffurl_size; > ffurl_write; > #those are deprecated, remove on next bump > url_feof; > -- > 2.6.1 > Fine with me. I don't understand why ffserver uses any of those instead of simply using avio functions though. - Hendrik ___ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel