Commit 2d059d8d authored by Marton Balint's avatar Marton Balint

ffplay: factor out picture freeing code

Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
parent 060c42bc
......@@ -785,6 +785,14 @@ static void blend_subrect(AVPicture *dst, const AVSubtitleRect *rect, int imgw,
}
}
static void free_picture(VideoPicture *vp)
{
if (vp->bmp) {
SDL_FreeYUVOverlay(vp->bmp);
vp->bmp = NULL;
}
}
static void free_subpicture(SubPicture *sp)
{
avsubtitle_free(&sp->sub);
......@@ -1013,7 +1021,6 @@ static void video_audio_display(VideoState *s)
static void stream_close(VideoState *is)
{
VideoPicture *vp;
int i;
/* XXX: use a special url_shutdown call to abort parse cleanly */
is->abort_request = 1;
......@@ -1023,13 +1030,8 @@ static void stream_close(VideoState *is)
packet_queue_destroy(&is->subtitleq);
/* free all pictures */
for (i = 0; i < VIDEO_PICTURE_QUEUE_SIZE; i++) {
vp = &is->pictq[i];
if (vp->bmp) {
SDL_FreeYUVOverlay(vp->bmp);
vp->bmp = NULL;
}
}
for (i = 0; i < VIDEO_PICTURE_QUEUE_SIZE; i++)
free_picture(&is->pictq[i]);
for (i = 0; i < SUBPICTURE_QUEUE_SIZE; i++)
free_subpicture(&is->subpq[i]);
SDL_DestroyMutex(is->pictq_mutex);
......@@ -1505,8 +1507,7 @@ static void alloc_picture(VideoState *is)
vp = &is->pictq[is->pictq_windex];
if (vp->bmp)
SDL_FreeYUVOverlay(vp->bmp);
free_picture(vp);
video_open(is, 0, vp);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment