[FFmpeg-cvslog] ffplay: dynamically allocate filename buffer
Ganesh Ajjanagadde
git at videolan.org
Sun Sep 27 01:41:23 CEST 2015
ffmpeg | branch: master | Ganesh Ajjanagadde <gajjanagadde at gmail.com> | Sat Sep 26 17:09:52 2015 -0400| [23acb982a3c79e993ed45bffde4b1cfc574402df] | committer: Marton Balint
ffplay: dynamically allocate filename buffer
filename was set to an arbitrary 1024 characters. ffplay would thus be unable to
play files whose name exceeds that arbitrary threshold.
This patch dynamically allocates and frees the filename buffer to remove such
limitations.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
Signed-off-by: Marton Balint <cus at passwd.hu>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=23acb982a3c79e993ed45bffde4b1cfc574402df
---
ffplay.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/ffplay.c b/ffplay.c
index 9b5ee84..2bb5d26 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -285,7 +285,7 @@ typedef struct VideoState {
SDL_Rect last_display_rect;
int eof;
- char filename[1024];
+ char *filename;
int width, height, xleft, ytop;
int step;
@@ -1132,6 +1132,7 @@ static void stream_close(VideoState *is)
sws_freeContext(is->img_convert_ctx);
#endif
sws_freeContext(is->sub_convert_ctx);
+ av_free(is->filename);
av_free(is);
}
@@ -3099,7 +3100,9 @@ static VideoState *stream_open(const char *filename, AVInputFormat *iformat)
is = av_mallocz(sizeof(VideoState));
if (!is)
return NULL;
- av_strlcpy(is->filename, filename, sizeof(is->filename));
+ is->filename = av_strdup(filename);
+ if (!is->filename)
+ goto fail;
is->iformat = iformat;
is->ytop = 0;
is->xleft = 0;
More information about the ffmpeg-cvslog
mailing list