On Sun, Sep 28, 2014 at 9:56 PM, Vittorio Giovara <[email protected]> wrote: > On Sun, Sep 28, 2014 at 10:08 AM, Luca Barbato <[email protected]> wrote: >> Prevent a segfault on close. >> >> CC: [email protected] >> --- >> >> avplay.c | 18 ++++++++++++------ >> 1 file changed, 12 insertions(+), 6 deletions(-) >> >> diff --git a/avplay.c b/avplay.c >> index 58da984..338a881 100644 >> --- a/avplay.c >> +++ b/avplay.c >> @@ -1269,13 +1269,17 @@ static void alloc_picture(void *opaque) >> SDL_FreeYUVOverlay(vp->bmp); >> >> #if CONFIG_AVFILTER >> - vp->width = is->out_video_filter->inputs[0]->w; >> - vp->height = is->out_video_filter->inputs[0]->h; >> - vp->pix_fmt = is->out_video_filter->inputs[0]->format; >> + if (is->out_video_filter) { >> + vp->width = is->out_video_filter->inputs[0]->w; >> + vp->height = is->out_video_filter->inputs[0]->h; >> + vp->pix_fmt = is->out_video_filter->inputs[0]->format; >> + } else >> #else >> - vp->width = is->video_st->codec->width; >> - vp->height = is->video_st->codec->height; >> - vp->pix_fmt = is->video_st->codec->pix_fmt; >> + { >> + vp->width = is->video_st->codec->width; >> + vp->height = is->video_st->codec->height; >> + vp->pix_fmt = is->video_st->codec->pix_fmt; >> + } >> #endif >> >> vp->bmp = SDL_CreateYUVOverlay(vp->width, vp->height, >> @@ -1660,6 +1664,8 @@ static int video_thread(void *arg) >> #if CONFIG_AVFILTER >> av_freep(&vfilters); >> avfilter_graph_free(&graph); >> + is->in_video_filter = NULL; >> + is->out_video_filter = NULL; >> #endif >> av_free_packet(&pkt); >> av_frame_free(&frame); > > I think it should be fine.
Well with the sample from 750 with the patch attached I get Error: the video system does not support an image size of 704x560 pixels. Try using -vf "scale=w:h" to reduce the image size. and then it exits, while without I can play that sample fine. -- Vittorio _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
