vlc | branch: master | Steve Lhomme <[email protected]> | Fri Oct 9 12:54:10 2020 +0200| [6806b49b226b5e019f54549c1e0dcd12146ca3c3] | committer: Steve Lhomme
visualization filters: use a typed close callback in the operations structure > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6806b49b226b5e019f54549c1e0dcd12146ca3c3 --- modules/visualization/glspectrum.c | 9 ++++----- modules/visualization/goom.c | 8 ++++---- modules/visualization/projectm.cpp | 7 +++---- modules/visualization/visual/visual.c | 8 ++++---- modules/visualization/vsxu.cpp | 8 ++++---- 5 files changed, 19 insertions(+), 21 deletions(-) diff --git a/modules/visualization/glspectrum.c b/modules/visualization/glspectrum.c index 3e8b878197..f97c711a26 100644 --- a/modules/visualization/glspectrum.c +++ b/modules/visualization/glspectrum.c @@ -51,7 +51,7 @@ * Module descriptor *****************************************************************************/ static int Open(vlc_object_t *); -static void Close(vlc_object_t *); +static void Close(filter_t *); #define WIDTH_TEXT N_("Video width") #define WIDTH_LONGTEXT N_("The width of the visualization window, in pixels.") @@ -70,7 +70,7 @@ vlc_module_begin() add_integer("glspectrum-height", 300, HEIGHT_TEXT, HEIGHT_LONGTEXT, false) add_shortcut("glspectrum") - set_callbacks(Open, Close) + set_callback(Open) vlc_module_end() @@ -112,7 +112,7 @@ const GLfloat lightZeroColor[] = {1.0f, 1.0f, 1.0f, 1.0f}; const GLfloat lightZeroPosition[] = {0.0f, 3.0f, 10.0f, 0.0f}; static const struct vlc_filter_operations filter_ops = { - .filter_audio = DoWork, + .filter_audio = DoWork, .close = Close, }; /** @@ -174,9 +174,8 @@ static int Open(vlc_object_t * p_this) * Close the module. * @param p_this: the filter object */ -static void Close(vlc_object_t *p_this) +static void Close(filter_t *p_filter) { - filter_t *p_filter = (filter_t *)p_this; filter_sys_t *p_sys = p_filter->p_sys; /* Terminate the thread. */ diff --git a/modules/visualization/goom.c b/modules/visualization/goom.c index eeeeae90cf..69450e73f7 100644 --- a/modules/visualization/goom.c +++ b/modules/visualization/goom.c @@ -41,7 +41,7 @@ * Module descriptor *****************************************************************************/ static int Open ( vlc_object_t * ); -static void Close ( vlc_object_t * ); +static void Close ( filter_t * ); #define WIDTH_TEXT N_("Goom display width") #define HEIGHT_TEXT N_("Goom display height") @@ -66,7 +66,7 @@ vlc_module_begin () HEIGHT_TEXT, RES_LONGTEXT, false ) add_integer_with_range( "goom-speed", 6, 1, 10, SPEED_TEXT, SPEED_LONGTEXT, false ) - set_callbacks( Open, Close ) + set_callback( Open ) add_shortcut( "goom" ) vlc_module_end () @@ -107,6 +107,7 @@ static void *Thread( void * ); static const struct vlc_filter_operations filter_ops = { .filter_audio = DoWork, .flush = Flush, + .close = Close, }; /***************************************************************************** @@ -340,9 +341,8 @@ static void *Thread( void *p_thread_data ) /***************************************************************************** * Close: close the plugin *****************************************************************************/ -static void Close( vlc_object_t *p_this ) +static void Close( filter_t *p_filter ) { - filter_t *p_filter = (filter_t *)p_this; goom_thread_t *p_thread = p_filter->p_sys; /* Stop Goom Thread */ diff --git a/modules/visualization/projectm.cpp b/modules/visualization/projectm.cpp index b0e2d0edbb..8756ab8fe7 100644 --- a/modules/visualization/projectm.cpp +++ b/modules/visualization/projectm.cpp @@ -46,7 +46,7 @@ * Module descriptor *****************************************************************************/ static int Open ( vlc_object_t * ); -static void Close ( vlc_object_t * ); +static void Close ( filter_t * ); #define CONFIG_TEXT N_("projectM configuration file") #define CONFIG_LONGTEXT N_("File that will be used to configure the projectM " \ @@ -124,7 +124,7 @@ vlc_module_begin () add_integer( "projectm-texture-size", 1024, TEXTURE_TEXT, TEXTURE_LONGTEXT, false ) add_shortcut( "projectm" ) - set_callbacks( Open, Close ) + set_callback( Open ) vlc_module_end () @@ -221,9 +221,8 @@ error: * Close the module * @param p_this: the filter object */ -static void Close( vlc_object_t *p_this ) +static void Close( filter_t *p_filter ) { - filter_t *p_filter = (filter_t *)p_this; filter_sys_t *p_sys = reinterpret_cast<filter_sys_t *>( p_filter->p_sys ); /* Stop the thread diff --git a/modules/visualization/visual/visual.c b/modules/visualization/visual/visual.c index 21c34ad945..c3591944ad 100644 --- a/modules/visualization/visual/visual.c +++ b/modules/visualization/visual/visual.c @@ -112,7 +112,7 @@ #define VOUT_HEIGHT 500 static int Open ( vlc_object_t * ); -static void Close ( vlc_object_t * ); +static void Close ( filter_t * ); vlc_module_begin () set_shortname( N_("Visualizer")) @@ -166,7 +166,7 @@ vlc_module_begin () add_integer("spect-peak-height", 1, PEAK_HEIGHT_TEXT, PEAK_HEIGHT_LONGTEXT, true ) set_capability( "visualization", 0 ) - set_callbacks( Open, Close ) + set_callback( Open ) add_shortcut( "visualizer") vlc_module_end () @@ -191,6 +191,7 @@ typedef struct static const struct vlc_filter_operations filter_ops = { .filter_audio = DoWork, .flush = Flush, + .close = Close, }; /***************************************************************************** @@ -403,9 +404,8 @@ static void Flush( filter_t *p_filter ) /***************************************************************************** * Close: close the plugin *****************************************************************************/ -static void Close( vlc_object_t *p_this ) +static void Close( filter_t * p_filter ) { - filter_t * p_filter = (filter_t *)p_this; filter_sys_t *p_sys = p_filter->p_sys; vlc_queue_Kill(&p_sys->queue, &p_sys->dead); diff --git a/modules/visualization/vsxu.cpp b/modules/visualization/vsxu.cpp index 9abea745da..42a09552df 100644 --- a/modules/visualization/vsxu.cpp +++ b/modules/visualization/vsxu.cpp @@ -46,7 +46,7 @@ * Module descriptor *****************************************************************************/ static int Open ( vlc_object_t * ); -static void Close ( vlc_object_t * ); +static void Close ( filter_t * ); #define WIDTH_TEXT N_("Video width") #define WIDTH_LONGTEXT N_("The width of the video window, in pixels.") @@ -65,7 +65,7 @@ vlc_module_begin () add_integer( "vsxu-height", 800, HEIGHT_TEXT, HEIGHT_LONGTEXT, false ) add_shortcut( "vsxu" ) - set_callbacks( Open, Close ) + set_callback( Open ) vlc_module_end () @@ -102,6 +102,7 @@ static const struct FilterOperationInitializer { FilterOperationInitializer() { ops.filter_audio = DoWork; + ops.close = Close; }; } filter_ops; @@ -162,9 +163,8 @@ error: * Close the module * @param p_this: the filter object */ -static void Close( vlc_object_t *p_this ) +static void Close( filter_t *p_filter ) { - filter_t *p_filter = (filter_t *)p_this; filter_sys_t *p_sys = p_filter->p_sys; vlc_mutex_lock( &p_sys->lock ); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
