vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sat Jun 7 17:00:04 2014 +0300| [7f569759b4658f68575d5382a31eef5cff58ec4b] | committer: Rémi Denis-Courmont
vdpau/chroma: remove dead code and simplify > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7f569759b4658f68575d5382a31eef5cff58ec4b --- modules/hw/vdpau/chroma.c | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/modules/hw/vdpau/chroma.c b/modules/hw/vdpau/chroma.c index 9474795..fa63676 100644 --- a/modules/hw/vdpau/chroma.c +++ b/modules/hw/vdpau/chroma.c @@ -292,24 +292,21 @@ static picture_t *OutputAllocate(filter_t *filter) picture_sys_t *psys = pic->p_sys; assert(psys->vdp != NULL); - if (unlikely(sys->vdp != psys->vdp) && (sys->mixer != VDP_INVALID_HANDLE)) - { - Flush(filter); /* release surfaces from the old device */ - vdp_video_mixer_destroy(sys->vdp, sys->mixer); - vdp_release_x11(sys->vdp); - sys->mixer = VDP_INVALID_HANDLE; + if (likely(sys->mixer != VDP_INVALID_HANDLE)) + { /* Not the first output picture */ + assert(psys->vdp == sys->vdp); + return pic; } - if (unlikely(sys->mixer == VDP_INVALID_HANDLE)) - { - sys->vdp = vdp_hold_x11(psys->vdp, NULL); - sys->device = psys->device; - sys->mixer = MixerCreate(filter); - if (sys->mixer == VDP_INVALID_HANDLE) - goto error; - } - return pic; -error: + /* First picture: get the context and allocate the mixer */ + sys->vdp = vdp_hold_x11(psys->vdp, NULL); + sys->device = psys->device; + sys->mixer = MixerCreate(filter); + if (sys->mixer != VDP_INVALID_HANDLE) + return pic; + + vdp_release_x11(psys->vdp); + psys->vdp = NULL; picture_Release(pic); return NULL; } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
