vlc | branch: master | Thomas Guillem <[email protected]> | Thu May 3 10:26:28 2018 +0200| [f1faf78de9238b2760ac4eb7d320f659d6925ef2] | committer: Thomas Guillem
vout: hide vout_Request/vout_Close So that we can use private structs to initialize the vout. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=f1faf78de9238b2760ac4eb7d320f659d6925ef2 --- include/vlc_vout.h | 50 -------------------------------------- src/libvlccore.sym | 2 -- src/video_output/control.c | 2 +- src/video_output/vout_internal.h | 52 +++++++++++++++++++++++++++++++++++++++- 4 files changed, 52 insertions(+), 54 deletions(-) diff --git a/include/vlc_vout.h b/include/vlc_vout.h index f98faf50dd..89d9821438 100644 --- a/include/vlc_vout.h +++ b/include/vlc_vout.h @@ -46,17 +46,6 @@ */ /** - * Vout configuration - */ -typedef struct { - vout_thread_t *vout; - vlc_object_t *input; - bool change_fmt; - const video_format_t *fmt; - unsigned dpb_size; -} vout_configuration_t; - -/** * Video output thread private structure */ typedef struct vout_thread_sys_t vout_thread_sys_t; @@ -88,45 +77,6 @@ struct vout_thread_t { *****************************************************************************/ /** - * Returns a suitable vout or release the given one. - * - * If cfg->fmt is non NULL and valid, a vout will be returned, reusing cfg->vout - * is possible, otherwise it returns NULL. - * If cfg->vout is not used, it will be closed and released. - * - * You can release the returned value either by vout_Request or vout_Close() - * followed by a vlc_object_release() or shorter vout_CloseAndRelease() - * - * \param object a vlc object - * \param cfg the video configuration requested. - * \return a vout - */ -VLC_API vout_thread_t * vout_Request( vlc_object_t *object, const vout_configuration_t *cfg ); -#define vout_Request(a,b) vout_Request(VLC_OBJECT(a),b) - -/** - * This function will close a vout created by vout_Request. - * The associated vout module is closed. - * Note: It is not released yet, you'll have to call vlc_object_release() - * or use the convenient vout_CloseAndRelease(). - * - * \param p_vout the vout to close - */ -VLC_API void vout_Close( vout_thread_t *p_vout ); - -/** - * This function will close a vout created by vout_Create - * and then release it. - * - * \param p_vout the vout to close and release - */ -static inline void vout_CloseAndRelease( vout_thread_t *p_vout ) -{ - vout_Close( p_vout ); - vlc_object_release( p_vout ); -} - -/** * This function will handle a snapshot request. * * pp_image, pp_picture and p_fmt can be NULL otherwise they will be diff --git a/src/libvlccore.sym b/src/libvlccore.sym index 89d69b85f5..ce655489dc 100644 --- a/src/libvlccore.sym +++ b/src/libvlccore.sym @@ -703,7 +703,6 @@ vlm_MessageNew vlm_MessageSimpleNew vlm_New vout_ChangeAspectRatio -vout_Close vout_GetPicture vout_PutPicture vout_PutSubpicture @@ -715,7 +714,6 @@ vout_OSDMessage vout_OSDEpg vout_OSDSlider vout_OSDText -vout_Request vout_window_New vout_window_Delete vout_display_GetDefaultDisplaySize diff --git a/src/video_output/control.c b/src/video_output/control.c index f60b3fc371..f20a5f5053 100644 --- a/src/video_output/control.c +++ b/src/video_output/control.c @@ -27,7 +27,7 @@ #include <vlc_common.h> #include <vlc_vout.h> -#include "control.h" +#include "vout_internal.h" /* */ void vout_control_cmd_Init(vout_control_cmd_t *cmd, int type) diff --git a/src/video_output/vout_internal.h b/src/video_output/vout_internal.h index fae8c92f83..89c7542943 100644 --- a/src/video_output/vout_internal.h +++ b/src/video_output/vout_internal.h @@ -29,7 +29,6 @@ #include <vlc_picture_pool.h> #include <vlc_vout_display.h> #include <vlc_vout_wrapper.h> -#include "control.h" #include "snapshot.h" #include "statistic.h" #include "chrono.h" @@ -42,6 +41,18 @@ */ #define VOUT_MAX_PICTURES (20) +/** + * Vout configuration + */ +typedef struct { + vout_thread_t *vout; + vlc_object_t *input; + bool change_fmt; + const video_format_t *fmt; + unsigned dpb_size; +} vout_configuration_t; +#include "control.h" + /* */ struct vout_thread_sys_t { @@ -137,6 +148,45 @@ struct vout_thread_sys_t vout_chrono_t render; /**< picture render time estimator */ }; +/** + * Returns a suitable vout or release the given one. + * + * If cfg->fmt is non NULL and valid, a vout will be returned, reusing cfg->vout + * is possible, otherwise it returns NULL. + * If cfg->vout is not used, it will be closed and released. + * + * You can release the returned value either by vout_Request or vout_Close() + * followed by a vlc_object_release() or shorter vout_CloseAndRelease() + * + * \param object a vlc object + * \param cfg the video configuration requested. + * \return a vout + */ +vout_thread_t * vout_Request( vlc_object_t *object, const vout_configuration_t *cfg ); +#define vout_Request(a,b) vout_Request(VLC_OBJECT(a),b) + +/** + * This function will close a vout created by vout_Request. + * The associated vout module is closed. + * Note: It is not released yet, you'll have to call vlc_object_release() + * or use the convenient vout_CloseAndRelease(). + * + * \param p_vout the vout to close + */ +void vout_Close( vout_thread_t *p_vout ); + +/** + * This function will close a vout created by vout_Create + * and then release it. + * + * \param p_vout the vout to close and release + */ +static inline void vout_CloseAndRelease( vout_thread_t *p_vout ) +{ + vout_Close( p_vout ); + vlc_object_release( p_vout ); +} + /* TODO to move them to vlc_vout.h */ void vout_ControlChangeFullscreen(vout_thread_t *, bool fullscreen); void vout_ControlChangeWindowState(vout_thread_t *, unsigned state); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
