[FFmpeg-devel] [PATCH 6/7] avformat: migrate to AVFormatContext->url
Marton Balint
cus at passwd.hu
Mon Jan 15 00:34:03 EET 2018
On Sun, 14 Jan 2018, Michael Niedermayer wrote:
> On Sat, Jan 06, 2018 at 09:50:31PM +0100, Marton Balint wrote:
>> Signed-off-by: Marton Balint <cus at passwd.hu>
>> ---
>> libavformat/concatdec.c | 4 ++--
>> libavformat/dashenc.c | 16 ++++++++--------
>> libavformat/fifo.c | 8 ++++----
>> libavformat/flvenc.c | 4 ++--
>> libavformat/gxfenc.c | 4 ++--
>> libavformat/hdsenc.c | 24 ++++++++++++------------
>> libavformat/img2dec.c | 4 ++--
>> libavformat/img2enc.c | 4 ++--
>> libavformat/matroskadec.c | 4 ++--
>> libavformat/mlvdec.c | 4 ++--
>> libavformat/mov.c | 2 +-
>> libavformat/movenc.c | 10 +++++-----
>> libavformat/mpeg.c | 4 ++--
>> libavformat/mpegtsenc.c | 2 +-
>> libavformat/options.c | 2 +-
>> libavformat/rtsp.c | 18 ++++++++++++------
>> libavformat/rtspdec.c | 4 ++--
>> libavformat/rtspenc.c | 4 +++-
>> libavformat/sapdec.c | 2 +-
>> libavformat/sapenc.c | 10 ++++++++--
>> libavformat/sdp.c | 4 ++--
>> libavformat/segment.c | 36 +++++++++++++++++++++---------------
>> libavformat/smoothstreamingenc.c | 12 ++++++------
>> libavformat/tee.c | 4 ++--
>> libavformat/utils.c | 2 +-
>> libavformat/webm_chunk.c | 10 +++++-----
>> 26 files changed, 111 insertions(+), 91 deletions(-)
>>
>> diff --git a/libavformat/concatdec.c b/libavformat/concatdec.c
>> index bd5174ada2..178fac86cb 100644
>> --- a/libavformat/concatdec.c
>> +++ b/libavformat/concatdec.c
>> @@ -126,10 +126,10 @@ static int add_file(AVFormatContext *avf, char *filename, ConcatFile **rfile,
>> url = filename;
>> filename = NULL;
>> } else {
>> - url_len = strlen(avf->filename) + strlen(filename) + 16;
>> + url_len = strlen(avf->url) + strlen(filename) + 16;
>> if (!(url = av_malloc(url_len)))
>> FAIL(AVERROR(ENOMEM));
>> - ff_make_absolute_url(url, url_len, avf->filename, filename);
>> + ff_make_absolute_url(url, url_len, avf->url, filename);
>> av_freep(&filename);
>> }
>>
>> diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
>> index 3345b89118..59c55cc8b7 100644
>> --- a/libavformat/dashenc.c
>> +++ b/libavformat/dashenc.c
>> @@ -685,7 +685,7 @@ static int write_manifest(AVFormatContext *s, int final)
>> AVIOContext *out;
>> char temp_filename[1024];
>> int ret, i;
>> - const char *proto = avio_find_protocol_name(s->filename);
>> + const char *proto = avio_find_protocol_name(s->url);
>> int use_rename = proto && !strcmp(proto, "file");
>> static unsigned int warned_non_file = 0;
>> AVDictionaryEntry *title = av_dict_get(s->metadata, "title", NULL, 0);
>> @@ -694,7 +694,7 @@ static int write_manifest(AVFormatContext *s, int final)
>> if (!use_rename && !warned_non_file++)
>> av_log(s, AV_LOG_ERROR, "Cannot use rename on non file protocol, this may lead to races and temporary partial files\n");
>>
>> - snprintf(temp_filename, sizeof(temp_filename), use_rename ? "%s.tmp" : "%s", s->filename);
>> + snprintf(temp_filename, sizeof(temp_filename), use_rename ? "%s.tmp" : "%s", s->url);
>
> could be truncated, the same applies to other cases
We already did silent truncations in the past, so I think this is not
worse than before.
Fixing the fixed length buffers all around the codebase is a lot of work
and it is easy to make mistakes. So these can be fixed later by the
relevant maintainers, or this can be a candiate for a janitor task.
Regards,
Marton
More information about the ffmpeg-devel
mailing list