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

Andreas Rheinhardt git at videolan.org
Mon Apr 20 19:23:38 EEST 2020


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Fri Apr  3 15:02:07 2020 +0200| [4e254ec6be86977d9ea173f1769398f153bd1d28] | committer: Andreas Rheinhardt

avformat/rtsp: Put strings instead of pointers to strings into array

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.

Reviewed-by: Ross Nicholson <phunkyfish at gmail.com>
Reviewed-by: Marton Balint <cus at passwd.hu>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4e254ec6be86977d9ea173f1769398f153bd1d28
---

 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)



More information about the ffmpeg-cvslog mailing list