On Sep 30, 2015 7:50 PM, "Marton Balint" <c...@passwd.hu> wrote: > > > On Tue, 29 Sep 2015, Ganesh Ajjanagadde wrote: > >> SDL_CreateMutex and SDL_CreateCond can fail: >> https://wiki.libsdl.org/SDL_CreateMutex. >> This patch makes handling more robust in one instance. >> >> Signed-off-by: Ganesh Ajjanagadde <gajjanaga...@gmail.com> >> --- >> ffplay.c | 17 +++++++++++++---- >> 1 file changed, 13 insertions(+), 4 deletions(-) >> >> diff --git a/ffplay.c b/ffplay.c >> index 3c2407f..9466996 100644 >> --- a/ffplay.c >> +++ b/ffplay.c >> @@ -451,12 +451,21 @@ static int packet_queue_put_nullpacket(PacketQueue *q, int stream_index) >> } >> >> /* packet queue handling */ >> -static void packet_queue_init(PacketQueue *q) >> +static int packet_queue_init(PacketQueue *q) >> { >> memset(q, 0, sizeof(PacketQueue)); >> q->mutex = SDL_CreateMutex(); >> + if (!q->mutex) { >> + av_log(q, AV_LOG_FATAL, "SDL_CreateMutex(): %s\n", SDL_GetError()); >> + return AVERROR(ENOMEM); >> + } >> q->cond = SDL_CreateCond(); >> + if (!q->cond) { >> + av_log(q, AV_LOG_FATAL, "SDL_CreateCond(): %s\n", SDL_GetError()); >> + return AVERROR(ENOMEM); >> + } >> q->abort_request = 1; >> + return 0; >> } >> >> static void packet_queue_flush(PacketQueue *q) >> @@ -3136,9 +3145,9 @@ static VideoState *stream_open(const char *filename, AVInputFormat *iformat) >> if (frame_queue_init(&is->sampq, &is->audioq, SAMPLE_QUEUE_SIZE, 1) < 0) >> goto fail; >> >> - packet_queue_init(&is->videoq); >> - packet_queue_init(&is->audioq); >> - packet_queue_init(&is->subtitleq); >> + if (packet_queue_init(&is->videoq) || packet_queue_init(&is->audioq) >> + || packet_queue_init(&is->subtitleq)) >> + goto fail; > > > Only cosmetics, but maybe you could use ffmpeg-api-like less-than-zero error checking with common indentation: > > if (packet_queue_init() < 0 || > packet_queue_init() < 0 || > packet_queue_init() < 0)
Thanks for the style tip. I am currently away from a machine, will get to it in a few days. > > Regards, > Marton > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel