[FFmpeg-devel] [PATCH] avformat/rtsp: Put strings instead of pointers to strings into array

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Mon Apr 20 19:27:07 EEST 2020


Marton Balint:
> 
> 
> On Mon, 20 Apr 2020, Andreas Rheinhardt wrote:
> 
>> In this example, the difference in length between the shortest and
>> longest string is three, so that not using pointers to strings saves
>> space even on 32bit systems.
>>
>> Moreover, there is no need to use a sentinel here; it can be replaced
>> with FF_ARRAY_ELEMS.
>>
>> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
>> ---
>> I have to admit that this is untested.
>>
>> libavformat/rtsp.c | 5 +++--
>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
>> index 0a6462000d..b2b3f32011 100644
>> --- a/libavformat/rtsp.c
>> +++ b/libavformat/rtsp.c
>> @@ -2526,10 +2526,11 @@ static int rtp_read_header(AVFormatContext *s)
>>
>>     p = strchr(s->url, '?');
>>     if (p) {
>> -        static const char *filters[][2] = {{"sources", "incl"},
>> {"block", "excl"}, {NULL, NULL}};
>> +        static const char filters[][2][8] = { { "sources", "incl" },
>> +                                              { "block",   "excl" } };
>>         int i;
>>         char *q;
>> -        for (i = 0; filters[i][0]; i++) {
>> +        for (i = 0; i < FF_ARRAY_ELEMS(filters); i++) {
>>             if (av_find_info_tag(filters_buf, sizeof(filters_buf),
>> filters[i][0], p)) {
>>                 q = filters_buf;
>>                 while ((q = strchr(q, ',')) != NULL)
> 
> LGTM, thanks.
> 
> Marton

Applied, thanks.

- Andreas


More information about the ffmpeg-devel mailing list