vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Wed Jan 2 12:27:02 2019 +0200| [7afbfc5031559d0443ef2964df9e6dcebe8edc29] | committer: Rémi Denis-Courmont
display: avoid unnecessary special case Always provide a display "owner" structure in caller when creating a vout display. Also use the owner data as a pointer to the owning video output thread. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7afbfc5031559d0443ef2964df9e6dcebe8edc29 --- src/video_output/display.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/video_output/display.c b/src/video_output/display.c index 56b0784c3c..ab2a594ea0 100644 --- a/src/video_output/display.c +++ b/src/video_output/display.c @@ -384,11 +384,11 @@ void vout_display_SendEventPicturesInvalid(vout_display_t *vd) static void VoutDisplayEvent(vout_display_t *vd, int event, va_list args) { - vout_display_priv_t *osys = container_of(vd, vout_display_priv_t, display); + vout_thread_t *vout = vd->owner.sys; switch (event) { case VOUT_DISPLAY_EVENT_VIEWPOINT_MOVED: - var_SetAddress(osys->vout, "viewpoint-moved", + var_SetAddress(vout, "viewpoint-moved", (void *)va_arg(args, const vlc_viewpoint_t *)); break; default: @@ -759,7 +759,7 @@ static vout_display_t *DisplayNew(vout_thread_t *vout, vd->display = NULL; vd->control = NULL; vd->sys = NULL; - vd->owner.event = (owner != NULL) ? owner->event : VoutDisplayEvent; + vd->owner = *owner; if (!is_splitter) { vd->module = vlc_module_load(vd, "vout display", module, @@ -835,7 +835,11 @@ vout_display_t *vout_NewDisplay(vout_thread_t *vout, const vout_display_cfg_t *cfg, const char *module) { - return DisplayNew(vout, source, cfg, module, false, NULL); + vout_display_owner_t owner = { + .event = VoutDisplayEvent, .sys = vout, + }; + + return DisplayNew(vout, source, cfg, module, false, &owner); } /***************************************************************************** _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
