mirror of https://git.ffmpeg.org/ffmpeg.git
ffplay: factor out picture freeing code
Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
060c42bc3d
commit
2d059d8de1
21
ffplay.c
21
ffplay.c
|
@ -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)
|
static void free_subpicture(SubPicture *sp)
|
||||||
{
|
{
|
||||||
avsubtitle_free(&sp->sub);
|
avsubtitle_free(&sp->sub);
|
||||||
|
@ -1013,7 +1021,6 @@ static void video_audio_display(VideoState *s)
|
||||||
|
|
||||||
static void stream_close(VideoState *is)
|
static void stream_close(VideoState *is)
|
||||||
{
|
{
|
||||||
VideoPicture *vp;
|
|
||||||
int i;
|
int i;
|
||||||
/* XXX: use a special url_shutdown call to abort parse cleanly */
|
/* XXX: use a special url_shutdown call to abort parse cleanly */
|
||||||
is->abort_request = 1;
|
is->abort_request = 1;
|
||||||
|
@ -1023,13 +1030,8 @@ static void stream_close(VideoState *is)
|
||||||
packet_queue_destroy(&is->subtitleq);
|
packet_queue_destroy(&is->subtitleq);
|
||||||
|
|
||||||
/* free all pictures */
|
/* free all pictures */
|
||||||
for (i = 0; i < VIDEO_PICTURE_QUEUE_SIZE; i++) {
|
for (i = 0; i < VIDEO_PICTURE_QUEUE_SIZE; i++)
|
||||||
vp = &is->pictq[i];
|
free_picture(&is->pictq[i]);
|
||||||
if (vp->bmp) {
|
|
||||||
SDL_FreeYUVOverlay(vp->bmp);
|
|
||||||
vp->bmp = NULL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (i = 0; i < SUBPICTURE_QUEUE_SIZE; i++)
|
for (i = 0; i < SUBPICTURE_QUEUE_SIZE; i++)
|
||||||
free_subpicture(&is->subpq[i]);
|
free_subpicture(&is->subpq[i]);
|
||||||
SDL_DestroyMutex(is->pictq_mutex);
|
SDL_DestroyMutex(is->pictq_mutex);
|
||||||
|
@ -1505,8 +1507,7 @@ static void alloc_picture(VideoState *is)
|
||||||
|
|
||||||
vp = &is->pictq[is->pictq_windex];
|
vp = &is->pictq[is->pictq_windex];
|
||||||
|
|
||||||
if (vp->bmp)
|
free_picture(vp);
|
||||||
SDL_FreeYUVOverlay(vp->bmp);
|
|
||||||
|
|
||||||
video_open(is, 0, vp);
|
video_open(is, 0, vp);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue