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

Marton Balint cus at passwd.hu
Mon Apr 20 10:53:59 EEST 2020



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


More information about the ffmpeg-devel mailing list