[FFmpeg-devel] [PATCH 1/2] avformat: add protocol_whitelist
Michael Niedermayer
michael at niedermayer.cc
Thu Jan 28 23:58:37 CET 2016
On Thu, Jan 28, 2016 at 12:12:01AM +0100, Andreas Cadhalpun wrote:
> On 27.01.2016 14:22, Michael Niedermayer wrote:
> > From: Michael Niedermayer <michael at niedermayer.cc>
> >
> > TODO: Docs
> > TODO: version bump
> >
> > Note to maintainers: update tools
> >
> > Note to maintainers: set a default whitelist for your protocol
> > If that makes no sense then consider to set "none" and thus require the user to specify a white-list
> > for sub-protocols to be opened
> >
> > Note, testing and checking for missing changes is needed
> >
> > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > ---
> > libavformat/avformat.h | 7 +++++
> > libavformat/avio.c | 66 ++++++++++++++++++++++++++++++++++++++++---
> > libavformat/avio_internal.h | 4 +++
> > libavformat/aviobuf.c | 16 ++++++++---
> > libavformat/options_table.h | 1 +
> > libavformat/url.h | 6 ++++
> > libavformat/utils.c | 13 ++++++---
> > 7 files changed, 101 insertions(+), 12 deletions(-)
>
> I generally like the approach, but the main problem now is that setting a
> default protocol_whitelist doesn't quite work as intended.
> This is because it is not propagated back to the AVFormatContext
> protocol_whitelist, which is used (in the following patch) to forward
> the whitelist when opening other protocols.
> Thus I think there also needs to be a protocol_whitelist in the AVIOContext,
> which can be used to propagate the whitelist set in ffurl_connect back
> to the AVFormatContext.
ive added backwarding to AVFormatContext, this requires manual
overiding for rtp at least though
> This forwarding could be done in ffio_open_whitelist (URLContext->AVIOContext)
> and ffio_open2_wrapper (AVIOContext->AVFormatContext), and the latter could
> then be used instead of ffio_open_whitelist.
>
> > diff --git a/libavformat/avformat.h b/libavformat/avformat.h
> > index 285bb16..273a6ae 100644
> > --- a/libavformat/avformat.h
> > +++ b/libavformat/avformat.h
> > @@ -1827,6 +1827,13 @@ typedef struct AVFormatContext {
> > * Demuxing: Set by user.
> > */
> > int (*open_cb)(struct AVFormatContext *s, AVIOContext **p, const char *url, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options);
> > +
> > + /**
> > + * ',' separated list of allowed protocols.
> > + * - encoding: unused
>
> Really?
> The following patch also uses the whitelist in various *enc.c files.
yes, ive changed a few as i thought, "why not, when iam already
changing things".
I dont think it should be documented to work before its finished
and tested
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Let us carefully observe those good qualities wherein our enemies excel us
and endeavor to excel them, by avoiding what is faulty, and imitating what
is excellent in them. -- Plutarch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160128/67bbc9ea/attachment.sig>
More information about the ffmpeg-devel
mailing list