vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Wed Mar 6 20:03:08 2019 +0200| [d55765b605d26e89bb81deaca98cfe0fec7916db] | committer: Rémi Denis-Courmont
input: introduce input_Hold() and input_Release() Type-safe replacements for vlc_object_hold() and vlc_object_release() (as discussed during the last workshop). > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d55765b605d26e89bb81deaca98cfe0fec7916db --- include/vlc_interface.h | 2 +- include/vlc_objects.h | 12 +++++ lib/audio.c | 10 ++-- lib/media_player.c | 54 +++++++++++----------- lib/video.c | 26 +++++------ modules/control/dbus/dbus.c | 8 ++-- modules/control/dbus/dbus_player.c | 18 ++++---- modules/control/gestures.c | 10 ++-- modules/control/hotkeys.c | 8 ++-- modules/control/oldrc.c | 14 +++--- .../macosx/coreinteraction/VLCCoreInteraction.m | 44 +++++++++--------- .../gui/macosx/coreinteraction/VLCInputManager.m | 8 ++-- modules/gui/macosx/extensions/helpers.h | 2 +- modules/gui/macosx/menus/VLCMainMenu.m | 8 ++-- modules/gui/macosx/os-integration/applescript.m | 12 ++--- .../macosx/panels/VLCBookmarksWindowController.m | 26 +++++------ .../VLCTrackSynchronizationWindowController.m | 12 ++--- .../windows/mainwindow/VLCControlsBarCommon.m | 2 +- .../gui/macosx/windows/mainwindow/VLCMainWindow.m | 4 +- .../windows/mainwindow/VLCMainWindowControlsBar.m | 2 +- .../macosx/windows/video/VLCFSPanelController.m | 4 +- .../macosx/windows/video/VLCVideoOutputProvider.m | 2 +- modules/gui/ncurses.c | 2 +- modules/gui/qt/adapters/seekpoints.cpp | 6 +-- modules/gui/qt/dialogs/epg.cpp | 2 +- modules/gui/qt/input_manager.cpp | 8 ++-- modules/gui/qt/menus.cpp | 2 +- modules/gui/skins2/commands/cmd_dvd.cpp | 10 ++-- modules/gui/skins2/commands/cmd_input.cpp | 2 +- modules/gui/skins2/src/vlcproc.cpp | 4 +- modules/lua/extension.c | 7 ++- modules/lua/libs/input.c | 14 +++--- modules/lua/libs/objects.c | 12 ++++- modules/lua/libs/osd.c | 12 ++--- modules/lua/libs/video.c | 3 +- modules/misc/audioscrobbler.c | 6 +-- src/playlist_legacy/engine.c | 2 +- 37 files changed, 199 insertions(+), 181 deletions(-) diff --git a/include/vlc_interface.h b/include/vlc_interface.h index acf82e5938..488ad0532b 100644 --- a/include/vlc_interface.h +++ b/include/vlc_interface.h @@ -101,7 +101,7 @@ vlc_intf_GetMainPlaylist(intf_thread_t *intf); /** * Retrieves the current input thread from the playlist. - * @note The returned object must be released with vlc_object_release(). + * @note The returned object must be released with input_Release(). */ #define pl_CurrentInput(intf) (playlist_CurrentInput(pl_Get(intf))) diff --git a/include/vlc_objects.h b/include/vlc_objects.h index 843a321e71..de251735cf 100644 --- a/include/vlc_objects.h +++ b/include/vlc_objects.h @@ -173,6 +173,18 @@ static inline libvlc_int_t *vlc_object_instance(vlc_object_t *obj) } #define vlc_object_instance(o) vlc_object_instance(VLC_OBJECT(o)) +/* Here for backward compatibility. TODO: Move to <vlc_input.h>! */ +static inline input_thread_t *input_Hold(input_thread_t *input) +{ + vlc_object_hold((vlc_object_t *)input); + return input; +} + +static inline void input_Release(input_thread_t *input) +{ + vlc_object_release((vlc_object_t *)input); +} + /** * @defgroup objres Object resources * diff --git a/lib/audio.c b/lib/audio.c index f642cee9ee..1842de34f1 100644 --- a/lib/audio.c +++ b/lib/audio.c @@ -348,7 +348,7 @@ int libvlc_audio_get_track_count( libvlc_media_player_t *p_mi ) i_track_count = var_CountChoices( p_input_thread, "audio-es" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_track_count; } @@ -371,7 +371,7 @@ int libvlc_audio_get_track( libvlc_media_player_t *p_mi ) return -1; int id = var_GetInteger( p_input_thread, "audio-es" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return id; } @@ -403,7 +403,7 @@ int libvlc_audio_set_track( libvlc_media_player_t *p_mi, int i_track ) libvlc_printerr( "Track identifier not found" ); end: free( val_list ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_ret; } @@ -451,7 +451,7 @@ int64_t libvlc_audio_get_delay( libvlc_media_player_t *p_mi ) if( p_input_thread != NULL ) { val = US_FROM_VLC_TICK( var_GetInteger( p_input_thread, "audio-delay" ) ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); } return val; } @@ -466,7 +466,7 @@ int libvlc_audio_set_delay( libvlc_media_player_t *p_mi, int64_t i_delay ) if( p_input_thread != NULL ) { var_SetInteger( p_input_thread, "audio-delay", VLC_TICK_FROM_US( i_delay ) ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); } else { diff --git a/lib/media_player.c b/lib/media_player.c index c6658270ae..3ffceacf52 100644 --- a/lib/media_player.c +++ b/lib/media_player.c @@ -199,7 +199,7 @@ input_thread_t *libvlc_get_input_thread( libvlc_media_player_t *p_mi ) lock_input(p_mi); p_input_thread = p_mi->input.p_thread; if( p_input_thread ) - vlc_object_hold( p_input_thread ); + input_Hold(p_input_thread); else libvlc_printerr( "No active input" ); unlock_input(p_mi); @@ -1066,7 +1066,7 @@ void libvlc_media_player_set_pause( libvlc_media_player_t *p_mi, int paused ) var_SetInteger( p_input_thread, "state", PLAYING_S ); } - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); } /************************************************************************** @@ -1375,7 +1375,7 @@ libvlc_time_t libvlc_media_player_get_length( return -1; i_time = from_mtime(var_GetInteger( p_input_thread, "length" )); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_time; } @@ -1390,7 +1390,7 @@ libvlc_time_t libvlc_media_player_get_time( libvlc_media_player_t *p_mi ) return -1; i_time = from_mtime(var_GetInteger( p_input_thread , "time" )); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_time; } @@ -1404,7 +1404,7 @@ int libvlc_media_player_set_time( libvlc_media_player_t *p_mi, return -1; input_SetTime( p_input_thread, to_mtime(i_time), b_fast ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return 0; } @@ -1418,7 +1418,7 @@ int libvlc_media_player_set_position( libvlc_media_player_t *p_mi, return -1; input_SetPosition( p_input_thread, position, b_fast ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return 0; } @@ -1432,7 +1432,7 @@ float libvlc_media_player_get_position( libvlc_media_player_t *p_mi ) return -1.0; f_position = var_GetFloat( p_input_thread, "position" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return f_position; } @@ -1447,7 +1447,7 @@ void libvlc_media_player_set_chapter( libvlc_media_player_t *p_mi, return; var_SetInteger( p_input_thread, "chapter", chapter ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); } int libvlc_media_player_get_chapter( libvlc_media_player_t *p_mi ) @@ -1460,7 +1460,7 @@ int libvlc_media_player_get_chapter( libvlc_media_player_t *p_mi ) return -1; i_chapter = var_GetInteger( p_input_thread, "chapter" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_chapter; } @@ -1475,7 +1475,7 @@ int libvlc_media_player_get_chapter_count( libvlc_media_player_t *p_mi ) return -1; int i_ret = var_Change( p_input_thread, "chapter", VLC_VAR_CHOICESCOUNT, &val ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_ret == VLC_SUCCESS ? (ssize_t)val : -1; } @@ -1494,7 +1494,7 @@ int libvlc_media_player_get_chapter_count_for_title( sprintf( psz_name, "title %2u", i_title ); int i_ret = var_Change( p_input_thread, psz_name, VLC_VAR_CHOICESCOUNT, &val ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_ret == VLC_SUCCESS ? (ssize_t)val : -1; } @@ -1509,7 +1509,7 @@ void libvlc_media_player_set_title( libvlc_media_player_t *p_mi, return; var_SetInteger( p_input_thread, "title", i_title ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); //send event libvlc_event_t event; @@ -1528,7 +1528,7 @@ int libvlc_media_player_get_title( libvlc_media_player_t *p_mi ) return -1; i_title = var_GetInteger( p_input_thread, "title" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_title; } @@ -1543,7 +1543,7 @@ int libvlc_media_player_get_title_count( libvlc_media_player_t *p_mi ) return -1; int i_ret = var_Change( p_input_thread, "title", VLC_VAR_CHOICESCOUNT, &val ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_ret == VLC_SUCCESS ? (ssize_t)val : -1; } @@ -1564,7 +1564,7 @@ int libvlc_media_player_get_full_title_descriptions( libvlc_media_player_t *p_mi /* fetch data */ int ret = input_Control( p_input_thread, INPUT_GET_FULL_TITLE_INFO, &p_input_title, &count ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); if( ret != VLC_SUCCESS ) return -1; @@ -1628,7 +1628,7 @@ int libvlc_media_player_get_full_chapter_descriptions( libvlc_media_player_t *p_ int i_title_count = 0, ci_chapter_count = 0; int ret = input_Control( p_input_thread, INPUT_GET_FULL_TITLE_INFO, &pp_title, &i_title_count ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); if( ret != VLC_SUCCESS || i_chapters_of_title >= i_title_count ) goto error; @@ -1722,7 +1722,7 @@ void libvlc_media_player_next_chapter( libvlc_media_player_t *p_mi ) var_TriggerCallback( p_input_thread, (i_type & VLC_VAR_TYPE) != 0 ? "next-chapter":"next-title" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); } void libvlc_media_player_previous_chapter( libvlc_media_player_t *p_mi ) @@ -1737,7 +1737,7 @@ void libvlc_media_player_previous_chapter( libvlc_media_player_t *p_mi ) var_TriggerCallback( p_input_thread, (i_type & VLC_VAR_TYPE) != 0 ? "prev-chapter":"prev-title" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); } int libvlc_media_player_will_play( libvlc_media_player_t *p_mi ) @@ -1748,7 +1748,7 @@ int libvlc_media_player_will_play( libvlc_media_player_t *p_mi ) return false; int state = var_GetInteger( p_input_thread, "state" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return state != END_S && state != ERROR_S; } @@ -1761,7 +1761,7 @@ int libvlc_media_player_set_rate( libvlc_media_player_t *p_mi, float rate ) if( !p_input_thread ) return 0; var_SetFloat( p_input_thread, "rate", rate ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return 0; } @@ -1787,7 +1787,7 @@ int libvlc_media_player_is_seekable( libvlc_media_player_t *p_mi ) if ( !p_input_thread ) return false; b_seekable = var_GetBool( p_input_thread, "can-seek" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return b_seekable; } @@ -1809,7 +1809,7 @@ void libvlc_media_player_navigate( libvlc_media_player_t* p_mi, return; input_Control( p_input, map[navigate], NULL ); - vlc_object_release( p_input ); + input_Release(p_input); } /* internal function, used by audio, video */ @@ -1850,7 +1850,7 @@ libvlc_track_description_t * *pp = NULL; free(val_list); free(text_list); - vlc_object_release( p_input ); + input_Release(p_input); return ret; } @@ -1878,7 +1878,7 @@ int libvlc_media_player_can_pause( libvlc_media_player_t *p_mi ) if ( !p_input_thread ) return false; b_can_pause = var_GetBool( p_input_thread, "can-pause" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return b_can_pause; } @@ -1892,7 +1892,7 @@ int libvlc_media_player_program_scrambled( libvlc_media_player_t *p_mi ) if ( !p_input_thread ) return false; b_program_scrambled = var_GetBool( p_input_thread, "program-scrambled" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return b_program_scrambled; } @@ -1903,7 +1903,7 @@ void libvlc_media_player_next_frame( libvlc_media_player_t *p_mi ) if( p_input_thread != NULL ) { var_TriggerCallback( p_input_thread, "frame-next" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); } } @@ -1959,7 +1959,7 @@ int libvlc_media_player_add_slave( libvlc_media_player_t *p_mi, { int i_ret = input_AddSlave( p_input_thread, (enum slave_type) i_type, psz_uri, b_select, false, false ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_ret == VLC_SUCCESS ? 0 : -1; } diff --git a/lib/video.c b/lib/video.c index f3445f351b..e5c2d72406 100644 --- a/lib/video.c +++ b/lib/video.c @@ -63,7 +63,7 @@ static vout_thread_t **GetVouts( libvlc_media_player_t *p_mi, size_t *n ) *n = 0; pp_vouts = NULL; } - vlc_object_release (p_input); + input_Release(p_input); return pp_vouts; } @@ -292,10 +292,10 @@ int libvlc_video_update_viewpoint( libvlc_media_player_t *p_mi, if( input_UpdateViewpoint( p_input_thread, &update, b_absolute ) != VLC_SUCCESS ) { - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return -1; } - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return 0; } @@ -326,7 +326,7 @@ int libvlc_video_get_spu( libvlc_media_player_t *p_mi ) } int i_spu = var_GetInteger( p_input_thread, "spu-es" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_spu; } @@ -339,7 +339,7 @@ int libvlc_video_get_spu_count( libvlc_media_player_t *p_mi ) return 0; i_spu_count = var_CountChoices( p_input_thread, "spu-es" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_spu_count; } @@ -373,7 +373,7 @@ int libvlc_video_set_spu( libvlc_media_player_t *p_mi, int i_spu ) } libvlc_printerr( "Track identifier not found" ); end: - vlc_object_release (p_input_thread); + input_Release(p_input_thread); free(list); return i_ret; } @@ -386,7 +386,7 @@ int64_t libvlc_video_get_spu_delay( libvlc_media_player_t *p_mi ) if( p_input_thread ) { val = US_FROM_VLC_TICK( var_GetInteger( p_input_thread, "spu-delay" ) ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); } else { @@ -405,7 +405,7 @@ int libvlc_video_set_spu_delay( libvlc_media_player_t *p_mi, if( p_input_thread ) { var_SetInteger( p_input_thread, "spu-delay", VLC_TICK_FROM_US( i_delay ) ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); ret = 0; } else @@ -503,7 +503,7 @@ void libvlc_video_set_teletext( libvlc_media_player_t *p_mi, int i_page ) if( var_CountChoices( p_input_thread, "teletext-es" ) <= 0 ) { - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return; } @@ -531,7 +531,7 @@ void libvlc_video_set_teletext( libvlc_media_player_t *p_mi, int i_page ) else libvlc_printerr("Key action sent while the teletext is disabled"); } - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); } int libvlc_video_get_track_count( libvlc_media_player_t *p_mi ) @@ -544,7 +544,7 @@ int libvlc_video_get_track_count( libvlc_media_player_t *p_mi ) i_track_count = var_CountChoices( p_input_thread, "video-es" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_track_count; } @@ -562,7 +562,7 @@ int libvlc_video_get_track( libvlc_media_player_t *p_mi ) return -1; int id = var_GetInteger( p_input_thread, "video-es" ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return id; } @@ -591,7 +591,7 @@ int libvlc_video_set_track( libvlc_media_player_t *p_mi, int i_track ) libvlc_printerr( "Track identifier not found" ); end: free(val_list); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return i_ret; } diff --git a/modules/control/dbus/dbus.c b/modules/control/dbus/dbus.c index b8e16805c8..47a67a7f6c 100644 --- a/modules/control/dbus/dbus.c +++ b/modules/control/dbus/dbus.c @@ -306,7 +306,7 @@ static void Close ( vlc_object_t *p_this ) var_DelCallback( p_sys->p_input, "intf-event", InputCallback, p_intf ); var_DelCallback( p_sys->p_input, "can-pause", AllCallback, p_intf ); var_DelCallback( p_sys->p_input, "can-seek", AllCallback, p_intf ); - vlc_object_release( p_sys->p_input ); + input_Release(p_sys->p_input); } /* The dbus connection is private, so we are responsible @@ -592,7 +592,7 @@ static void ProcessEvents( intf_thread_t *p_intf, if( p_input ) { p_item = input_GetItem( p_input ); - vlc_object_release( p_input ); + input_Release(p_input); if( p_item ) vlc_dictionary_insert( &player_properties, @@ -1080,7 +1080,7 @@ static int TrackChange( intf_thread_t *p_intf ) var_DelCallback( p_sys->p_input, "intf-event", InputCallback, p_intf ); var_DelCallback( p_sys->p_input, "can-pause", AllCallback, p_intf ); var_DelCallback( p_sys->p_input, "can-seek", AllCallback, p_intf ); - vlc_object_release( p_sys->p_input ); + input_Release(p_sys->p_input); p_sys->p_input = NULL; } @@ -1095,7 +1095,7 @@ static int TrackChange( intf_thread_t *p_intf ) p_item = input_GetItem( p_input ); if( !p_item ) { - vlc_object_release( p_input ); + input_Release(p_input); return VLC_EGENERIC; } diff --git a/modules/control/dbus/dbus_player.c b/modules/control/dbus/dbus_player.c index 5664b50664..be23a7e83a 100644 --- a/modules/control/dbus/dbus_player.c +++ b/modules/control/dbus/dbus_player.c @@ -51,7 +51,7 @@ MarshalPosition( intf_thread_t *p_intf, DBusMessageIter *container ) else { i_pos = US_FROM_VLC_TICK(var_GetInteger( p_input, "time" )); - vlc_object_release( p_input ); + input_Release(p_input); } if( !dbus_message_iter_append_basic( container, DBUS_TYPE_INT64, &i_pos ) ) @@ -99,7 +99,7 @@ DBUS_METHOD( SetPosition ) if( input != NULL ) { var_SetInteger( input, "time", VLC_TICK_FROM_US(i_pos) ); - vlc_object_release( input ); + input_Release(input); } REPLY_SEND; @@ -133,7 +133,7 @@ DBUS_METHOD( Seek ) } if( p_input ) - vlc_object_release( p_input ); + input_Release(p_input); REPLY_SEND; } @@ -286,7 +286,7 @@ MarshalCanPause( intf_thread_t *p_intf, DBusMessageIter *container ) if( p_input ) { b_can_pause = var_GetBool( p_input, "can-pause" ); - vlc_object_release( p_input ); + input_Release(p_input); } if( !dbus_message_iter_append_basic( container, DBUS_TYPE_BOOLEAN, @@ -318,7 +318,7 @@ MarshalCanSeek( intf_thread_t *p_intf, DBusMessageIter *container ) if( p_input ) { b_can_seek = var_GetBool( p_input, "can-seek" ); - vlc_object_release( p_input ); + input_Release(p_input); } if( !dbus_message_iter_append_basic( container, DBUS_TYPE_BOOLEAN, @@ -374,7 +374,7 @@ MarshalPlaybackStatus( intf_thread_t *p_intf, DBusMessageIter *container ) psz_playback_status = PLAYBACK_STATUS_STOPPED; } - vlc_object_release( (vlc_object_t*) p_input ); + input_Release(p_input); } else psz_playback_status = PLAYBACK_STATUS_STOPPED; @@ -395,7 +395,7 @@ MarshalRate( intf_thread_t *p_intf, DBusMessageIter *container ) if( p_input != NULL ) { d_rate = var_GetFloat( p_input, "rate" ); - vlc_object_release( (vlc_object_t*) p_input ); + input_Release(p_input); } else d_rate = 1.0; @@ -420,7 +420,7 @@ DBUS_METHOD( RateSet ) if( p_input != NULL ) { var_SetFloat( p_input, "rate", (float) d_rate ); - vlc_object_release( (vlc_object_t*) p_input ); + input_Release(p_input); } else return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; @@ -547,7 +547,7 @@ DBUS_SIGNAL( SeekedSignal ) if( p_input ) { i_pos = US_FROM_VLC_TICK(var_GetInteger( p_input, "time" )); - vlc_object_release( p_input ); + input_Release(p_input); } ADD_INT64( &i_pos ); diff --git a/modules/control/gestures.c b/modules/control/gestures.c index 58ecac7bdc..758cbdf39f 100644 --- a/modules/control/gestures.c +++ b/modules/control/gestures.c @@ -201,7 +201,7 @@ static void ProcessGesture( intf_thread_t *p_intf ) int it = var_InheritInteger( p_intf , "short-jump-size" ); if( it > 0 ) var_SetInteger( p_input, "time-offset", vlc_tick_from_sec( -it ) ); - vlc_object_release( p_input ); + input_Release(p_input); break; } @@ -216,7 +216,7 @@ static void ProcessGesture( intf_thread_t *p_intf ) int it = var_InheritInteger( p_intf , "short-jump-size" ); if( it > 0 ) var_SetInteger( p_input, "time-offset", vlc_tick_from_sec( it ) ); - vlc_object_release( p_input ); + input_Release(p_input); break; } @@ -242,7 +242,7 @@ static void ProcessGesture( intf_thread_t *p_intf ) int i_state = var_GetInteger( p_input, "state" ); i_state = (i_state == PLAYING_S) ? PAUSE_S : PLAYING_S; var_SetInteger( p_input, "state", i_state ); - vlc_object_release( p_input ); + input_Release(p_input); break; } @@ -304,7 +304,7 @@ static void ProcessGesture( intf_thread_t *p_intf ) var_SetInteger( p_input, "audio-es", list[i].i_int ); } free(list); - vlc_object_release( p_input ); + input_Release(p_input); break; } @@ -342,7 +342,7 @@ static void ProcessGesture( intf_thread_t *p_intf ) var_SetInteger( p_input, "audio-es", list[i].i_int ); } free(list); - vlc_object_release( p_input ); + input_Release(p_input); break; } diff --git a/modules/control/hotkeys.c b/modules/control/hotkeys.c index 4f211a0f64..46be8124f6 100644 --- a/modules/control/hotkeys.c +++ b/modules/control/hotkeys.c @@ -299,7 +299,7 @@ static void ChangeInput( intf_thread_t *p_intf, input_thread_t *p_input ) /* Replace input and vout locked */ vlc_mutex_lock( &p_sys->lock ); - p_sys->p_input = p_input ? vlc_object_hold( p_input ) : NULL; + p_sys->p_input = p_input ? input_Hold(p_input) : NULL; p_sys->p_vout = NULL; p_sys->vrnav.b_can_change = false; vlc_mutex_unlock( &p_sys->lock ); @@ -309,7 +309,7 @@ static void ChangeInput( intf_thread_t *p_intf, input_thread_t *p_input ) { if( p_old_vout != NULL ) vlc_object_release( p_old_vout ); - vlc_object_release( p_old_input ); + input_Release(p_old_input); } /* Register input events */ @@ -1444,7 +1444,7 @@ static int ActionEvent( vlc_object_t *libvlc, char const *psz_var, (void)oldval; vlc_mutex_lock( &p_intf->p_sys->lock ); - input_thread_t *p_input = p_sys->p_input ? vlc_object_hold( p_sys->p_input ) + input_thread_t *p_input = p_sys->p_input ? input_Hold(p_sys->p_input) : NULL; vout_thread_t *p_vout = p_sys->p_vout ? vlc_object_hold( p_sys->p_vout ) : NULL; @@ -1456,7 +1456,7 @@ static int ActionEvent( vlc_object_t *libvlc, char const *psz_var, newval.i_int ); if( p_input != NULL ) - vlc_object_release( p_input ); + input_Release(p_input); if( p_vout != NULL ) vlc_object_release( p_vout ); diff --git a/modules/control/oldrc.c b/modules/control/oldrc.c index 8ee6935830..97d41795bb 100644 --- a/modules/control/oldrc.c +++ b/modules/control/oldrc.c @@ -405,7 +405,7 @@ static void Deactivate( vlc_object_t *p_this ) if( p_sys->p_input != NULL ) { var_DelCallback( p_sys->p_input, "intf-event", InputEvent, p_intf ); - vlc_object_release( p_sys->p_input ); + input_Release(p_sys->p_input); } net_ListenClose( p_sys->pi_socket_listen ); @@ -564,7 +564,7 @@ static void *Run( void *data ) || state == END_S) ) { var_DelCallback( p_sys->p_input, "intf-event", InputEvent, p_intf ); - vlc_object_release( p_sys->p_input ); + input_Release(p_sys->p_input); p_sys->p_input = NULL; p_sys->i_last_state = PLAYLIST_STOPPED; @@ -1164,7 +1164,7 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd, free( name ); } out: - vlc_object_release( p_input ); + input_Release(p_input); return i_error; } @@ -1198,7 +1198,7 @@ static int Playlist( vlc_object_t *p_this, char const *psz_cmd, if( p_input ) { int state = var_GetInteger( p_input, "state" ); - vlc_object_release( p_input ); + input_Release(p_input); if( state == PAUSE_S ) { @@ -1369,7 +1369,7 @@ static int Playlist( vlc_object_t *p_this, char const *psz_cmd, /* Replay the current state of the system. */ char *psz_uri = input_item_GetURI( input_GetItem( p_input ) ); - vlc_object_release( p_input ); + input_Release(p_input); if( likely(psz_uri != NULL) ) { msg_rc( STATUS_CHANGE "( new input: %s )", psz_uri ); @@ -1498,7 +1498,7 @@ static int VideoConfig( vlc_object_t *p_this, char const *psz_cmd, return VLC_ENOOBJ; p_vout = input_GetVout( p_input ); - vlc_object_release( p_input ); + input_Release(p_input); if( !p_vout ) return VLC_ENOOBJ; @@ -1705,7 +1705,7 @@ static int Statistics ( vlc_object_t *p_this, char const *psz_cmd, return VLC_ENOOBJ; updateStatistics( p_intf, input_GetItem(p_input) ); - vlc_object_release( p_input ); + input_Release(p_input); return VLC_SUCCESS; } diff --git a/modules/gui/macosx/coreinteraction/VLCCoreInteraction.m b/modules/gui/macosx/coreinteraction/VLCCoreInteraction.m index e278889e75..e2be092a19 100644 --- a/modules/gui/macosx/coreinteraction/VLCCoreInteraction.m +++ b/modules/gui/macosx/coreinteraction/VLCCoreInteraction.m @@ -168,7 +168,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, p_input = pl_CurrentInput(p_intf); if (p_input) { var_ToggleBool(p_input, "record"); - vlc_object_release(p_input); + input_Release(p_input); } } @@ -194,7 +194,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, p_input = pl_CurrentInput(p_intf); if (p_input) { f_rate = var_GetFloat(p_input, "rate"); - vlc_object_release(p_input); + input_Release(p_input); } else { playlist_t * p_playlist = pl_Get(getIntf()); f_rate = var_GetFloat(p_playlist, "rate"); @@ -234,7 +234,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, return -1; i_duration = var_GetInteger(p_input, "length"); - vlc_object_release(p_input); + input_Release(p_input); return SEC_FROM_VLC_TICK(i_duration); } @@ -251,20 +251,20 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, input_item_t *p_item = input_GetItem(p_input); if (!p_item) { - vlc_object_release(p_input); + input_Release(p_input); return nil; } char *psz_uri = input_item_GetURI(p_item); if (!psz_uri) { - vlc_object_release(p_input); + input_Release(p_input); return nil; } NSURL *o_url; o_url = [NSURL URLWithString:toNSStr(psz_uri)]; free(psz_uri); - vlc_object_release(p_input); + input_Release(p_input); return o_url; } @@ -281,13 +281,13 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, input_item_t *p_item = input_GetItem(p_input); if (!p_item) { - vlc_object_release(p_input); + input_Release(p_input); return nil; } char *psz_uri = input_item_GetURI(p_item); if (!psz_uri) { - vlc_object_release(p_input); + input_Release(p_input); return nil; } @@ -309,7 +309,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, else o_name = [o_url absoluteString]; } - vlc_object_release(p_input); + input_Release(p_input); return o_name; } @@ -326,7 +326,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, val = val * -1; var_SetInteger( p_input, "time-offset", val ); } - vlc_object_release(p_input); + input_Release(p_input); } - (void)forwardExtraShort @@ -434,7 +434,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, msg_Dbg(getIntf(), "Setting A value"); timeA = var_GetInteger(p_input, "time"); - vlc_object_release(p_input); + input_Release(p_input); } } else if (!timeB) { input_thread_t * p_input = pl_CurrentInput(getIntf()); @@ -442,7 +442,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, msg_Dbg(getIntf(), "Setting B value"); timeB = var_GetInteger(p_input, "time"); - vlc_object_release(p_input); + input_Release(p_input); } } else [self resetAtoB]; @@ -463,7 +463,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, vlc_tick_t currentTime = var_GetInteger(p_input, "time"); if ( currentTime >= timeB || currentTime < timeA) var_SetInteger(p_input, "time", timeA); - vlc_object_release(p_input); + input_Release(p_input); } } } @@ -473,7 +473,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, input_thread_t * p_input = pl_CurrentInput(getIntf()); if (p_input) { var_SetInteger(p_input, "time", time); - vlc_object_release(p_input); + input_Release(p_input); } } @@ -568,7 +568,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, msg_Err(getIntf(), "unable to load subtitles from '%s'", mrl); free(mrl); } - vlc_object_release(p_input); + input_Release(p_input); } - (void)showPosition @@ -580,7 +580,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, var_SetInteger(vlc_object_instance(getIntf()), "key-action", ACTIONID_POSITION); vlc_object_release(p_vout); } - vlc_object_release(p_input); + input_Release(p_input); } } @@ -621,7 +621,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, return; input_Control(p_input_thread, INPUT_NAV_ACTIVATE, NULL ); - vlc_object_release(p_input_thread); + input_Release(p_input_thread); } - (void)moveMenuFocusLeft @@ -631,7 +631,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, return; input_Control(p_input_thread, INPUT_NAV_LEFT, NULL ); - vlc_object_release(p_input_thread); + input_Release(p_input_thread); } - (void)moveMenuFocusRight @@ -641,7 +641,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, return; input_Control(p_input_thread, INPUT_NAV_RIGHT, NULL ); - vlc_object_release(p_input_thread); + input_Release(p_input_thread); } - (void)moveMenuFocusUp @@ -651,7 +651,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, return; input_Control(p_input_thread, INPUT_NAV_UP, NULL ); - vlc_object_release(p_input_thread); + input_Release(p_input_thread); } - (void)moveMenuFocusDown @@ -661,7 +661,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, return; input_Control(p_input_thread, INPUT_NAV_DOWN, NULL ); - vlc_object_release(p_input_thread); + input_Release(p_input_thread); } #pragma mark - @@ -695,7 +695,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, } vlc_object_release(p_vout); } - vlc_object_release(p_input); + input_Release(p_input); } } } diff --git a/modules/gui/macosx/coreinteraction/VLCInputManager.m b/modules/gui/macosx/coreinteraction/VLCInputManager.m index 86115241e3..e9bf60e97e 100644 --- a/modules/gui/macosx/coreinteraction/VLCInputManager.m +++ b/modules/gui/macosx/coreinteraction/VLCInputManager.m @@ -197,7 +197,7 @@ static int InputEvent(vlc_object_t *p_this, const char *psz_var, [self storePlaybackPositionForItem:p_current_input]; var_DelCallback(p_current_input, "intf-event", InputEvent, (__bridge void *)self); - vlc_object_release(p_current_input); + input_Release(p_current_input); p_current_input = NULL; } @@ -212,7 +212,7 @@ static int InputEvent(vlc_object_t *p_this, const char *psz_var, { if (p_current_input) { var_DelCallback(p_current_input, "intf-event", InputEvent, (__bridge void *)self); - vlc_object_release(p_current_input); + input_Release(p_current_input); p_current_input = NULL; [[o_main mainMenu] setRateControlsEnabled: NO]; @@ -237,7 +237,7 @@ static int InputEvent(vlc_object_t *p_this, const char *psz_var, [[o_main mainWindow] changePlaylistState: psPlaylistItemChangedEvent]; } - p_input_changed = vlc_object_hold(p_current_input); + p_input_changed = input_Hold(p_current_input); // [[o_main playlist] currentlyPlayingItemChanged]; @@ -261,7 +261,7 @@ static int InputEvent(vlc_object_t *p_this, const char *psz_var, dispatch_async(informInputChangedQueue, ^{ [[self->o_main extensionsManager] inputChanged:p_input_changed]; if (p_input_changed) - vlc_object_release(p_input_changed); + input_Release(p_input_changed); }); } diff --git a/modules/gui/macosx/extensions/helpers.h b/modules/gui/macosx/extensions/helpers.h index 76c5a2e520..b28e54161e 100644 --- a/modules/gui/macosx/extensions/helpers.h +++ b/modules/gui/macosx/extensions/helpers.h @@ -38,7 +38,7 @@ static inline vout_thread_t *getVout(void) if (!p_input) return NULL; vout_thread_t *p_vout = input_GetVout(p_input); - vlc_object_release(p_input); + input_Release(p_input); return p_vout; } diff --git a/modules/gui/macosx/menus/VLCMainMenu.m b/modules/gui/macosx/menus/VLCMainMenu.m index c100b44f4c..e5321af3fc 100644 --- a/modules/gui/macosx/menus/VLCMainMenu.m +++ b/modules/gui/macosx/menus/VLCMainMenu.m @@ -602,7 +602,7 @@ [self refreshVoutDeviceMenu:nil]; } [_postprocessing setEnabled:YES]; - vlc_object_release(p_input); + input_Release(p_input); } else { [_postprocessing setEnabled:NO]; } @@ -965,7 +965,7 @@ vlc_object_release(p_vout); } - vlc_object_release(p_input); + input_Release(p_input); } } @@ -1021,7 +1021,7 @@ input_item_t *p_item = input_GetItem(p_input); if (!p_item) { - vlc_object_release(p_input); + input_Release(p_input); return; } @@ -1041,7 +1041,7 @@ url = [url URLByDeletingLastPathComponent]; [openPanel setDirectoryURL: url]; free(path); - vlc_object_release(p_input); + input_Release(p_input); i_returnValue = [openPanel runModal]; diff --git a/modules/gui/macosx/os-integration/applescript.m b/modules/gui/macosx/os-integration/applescript.m index 3373e2e5b7..0c92cb3f74 100644 --- a/modules/gui/macosx/os-integration/applescript.m +++ b/modules/gui/macosx/os-integration/applescript.m @@ -189,7 +189,7 @@ return NO; input_state_e i_state = var_GetInteger(p_input, "state"); - vlc_object_release(p_input); + input_Release(p_input); return ((i_state == OPENING_S) || (i_state == PLAYING_S)); } @@ -210,7 +210,7 @@ return -1; i_delay = var_GetInteger(p_input, "audio-delay"); - vlc_object_release(p_input); + input_Release(p_input); return MS_FROM_VLC_TICK( i_delay ); } @@ -221,7 +221,7 @@ return; var_SetInteger(p_input, "audio-delay", VLC_TICK_FROM_MS( i_audioDesync )); - vlc_object_release(p_input); + input_Release(p_input); } - (int) currentTime { @@ -232,7 +232,7 @@ return -1; i_currentTime = var_GetInteger(p_input, "time"); - vlc_object_release(p_input); + input_Release(p_input); return (int)SEC_FROM_VLC_TICK(i_currentTime); } @@ -247,7 +247,7 @@ input_SetTime(p_input, vlc_tick_from_sec(i64_value), var_GetBool(p_input, "input-fast-seek")); - vlc_object_release(p_input); + input_Release(p_input); } } @@ -277,7 +277,7 @@ /* fetch data */ int coreret = input_Control(p_input_thread, INPUT_GET_FULL_TITLE_INFO, &p_input_title, &count); - vlc_object_release(p_input_thread); + input_Release(p_input_thread); if (coreret != VLC_SUCCESS) return NO; diff --git a/modules/gui/macosx/panels/VLCBookmarksWindowController.m b/modules/gui/macosx/panels/VLCBookmarksWindowController.m index 9992050f04..4d9cf88500 100644 --- a/modules/gui/macosx/panels/VLCBookmarksWindowController.m +++ b/modules/gui/macosx/panels/VLCBookmarksWindowController.m @@ -59,7 +59,7 @@ - (void)dealloc { if (p_old_input) - vlc_object_release(p_old_input); + input_Release(p_old_input); [[NSNotificationCenter defaultCenter] removeObserver:self]; } @@ -132,7 +132,7 @@ input_Control(p_input, INPUT_ADD_BOOKMARK, &bookmark); } - vlc_object_release(p_input); + input_Release(p_input); [_dataTable reloadData]; } @@ -147,7 +147,7 @@ input_Control(p_input, INPUT_CLEAR_BOOKMARKS); - vlc_object_release(p_input); + input_Release(p_input); [_dataTable reloadData]; } @@ -166,12 +166,12 @@ return; if (row < 0) { - vlc_object_release(p_input); + input_Release(p_input); return; } if (input_Control(p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, &i_bookmarks) != VLC_SUCCESS) { - vlc_object_release(p_input); + input_Release(p_input); return; } @@ -182,7 +182,7 @@ * changes. Note, we don't need to keep a reference to the object. * so release it now. */ p_old_input = p_input; - vlc_object_release(p_input); + input_Release(p_input); [self.window beginSheet:_editBookmarksWindow completionHandler:nil]; @@ -223,12 +223,12 @@ [alert setInformativeText:_NS("Input has changed, unable to save bookmark. Suspending playback with \"Pause\" while editing bookmarks to ensure to keep the same input.")]; [alert beginSheetModalForWindow:self.window completionHandler:nil]; - vlc_object_release(p_input); + input_Release(p_input); return; } if (input_Control(p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, &i_bookmarks) != VLC_SUCCESS) { - vlc_object_release(p_input); + input_Release(p_input); return; } @@ -257,7 +257,7 @@ } [_dataTable reloadData]; - vlc_object_release(p_input); + input_Release(p_input); [NSApp endSheet: _editBookmarksWindow]; [_editBookmarksWindow close]; @@ -279,7 +279,7 @@ clear: input_Control(p_input, INPUT_SET_BOOKMARK, [_dataTable selectedRow]); - vlc_object_release(p_input); + input_Release(p_input); } - (IBAction)remove:(id)sender @@ -294,7 +294,7 @@ clear: if (i_focused >= 0) input_Control(p_input, INPUT_DEL_BOOKMARK, i_focused); - vlc_object_release(p_input); + input_Release(p_input); [_dataTable reloadData]; } @@ -326,7 +326,7 @@ clear: return 0; int returnValue = input_Control(p_input, INPUT_GET_BOOKMARKS, &pp_bookmarks, &i_bookmarks); - vlc_object_release(p_input); + input_Release(p_input); if (returnValue != VLC_SUCCESS) return 0; @@ -365,7 +365,7 @@ clear: vlc_seekpoint_Delete(pp_bookmarks[i]); free(pp_bookmarks); } - vlc_object_release(p_input); + input_Release(p_input); return ret; } diff --git a/modules/gui/macosx/panels/VLCTrackSynchronizationWindowController.m b/modules/gui/macosx/panels/VLCTrackSynchronizationWindowController.m index 1aab2b5626..c426b67ed5 100644 --- a/modules/gui/macosx/panels/VLCTrackSynchronizationWindowController.m +++ b/modules/gui/macosx/panels/VLCTrackSynchronizationWindowController.m @@ -123,7 +123,7 @@ var_SetInteger(p_input, "spu-delay", 0); var_SetFloat(p_input, "sub-fps", 1.0); [self svDurationValueChanged:nil]; - vlc_object_release(p_input); + input_Release(p_input); } } @@ -135,7 +135,7 @@ [_av_advanceTextField setDoubleValue: secf_from_vlc_tick(var_GetInteger(p_input, "audio-delay"))]; [_sv_advanceTextField setDoubleValue: secf_from_vlc_tick(var_GetInteger(p_input, "spu-delay"))]; [_sv_speedTextField setFloatValue: var_GetFloat(p_input, "sub-fps")]; - vlc_object_release(p_input); + input_Release(p_input); } [_avStepper setDoubleValue: [_av_advanceTextField doubleValue]]; [_sv_advanceStepper setDoubleValue: [_sv_advanceTextField doubleValue]]; @@ -153,7 +153,7 @@ if (p_input) { var_SetInteger(p_input, "audio-delay", vlc_tick_from_sec([_av_advanceTextField doubleValue])); - vlc_object_release(p_input); + input_Release(p_input); } } @@ -168,7 +168,7 @@ if (p_input) { var_SetInteger(p_input, "spu-delay", vlc_tick_from_sec([_sv_advanceTextField doubleValue])); - vlc_object_release(p_input); + input_Release(p_input); } } @@ -183,7 +183,7 @@ if (p_input) { var_SetFloat(p_input, "sub-fps", [_sv_speedTextField floatValue]); - vlc_object_release(p_input); + input_Release(p_input); } } @@ -209,7 +209,7 @@ } [VLCVideoFilterHelper setVideoFilter: "subsdelay" on: f_factor > 0]; - vlc_object_release(p_input); + input_Release(p_input); } } diff --git a/modules/gui/macosx/windows/mainwindow/VLCControlsBarCommon.m b/modules/gui/macosx/windows/mainwindow/VLCControlsBarCommon.m index c9aaf38c3c..cfdc2c6d2a 100644 --- a/modules/gui/macosx/windows/mainwindow/VLCControlsBarCommon.m +++ b/modules/gui/macosx/windows/mainwindow/VLCControlsBarCommon.m @@ -340,7 +340,7 @@ /* chapters & titles */ //FIXME! b_chapters = p_input->stream.i_area_nb > 1; - vlc_object_release(p_input); + input_Release(p_input); } [self.timeSlider setEnabled: b_seekable]; diff --git a/modules/gui/macosx/windows/mainwindow/VLCMainWindow.m b/modules/gui/macosx/windows/mainwindow/VLCMainWindow.m index 2581ace9c5..52c38cc741 100644 --- a/modules/gui/macosx/windows/mainwindow/VLCMainWindow.m +++ b/modules/gui/macosx/windows/mainwindow/VLCMainWindow.m @@ -628,7 +628,7 @@ static const float f_min_window_height = 307.; [self setRepresentedURL: nil]; } - vlc_object_release(p_input); + input_Release(p_input); } else { [self setTitle: _NS("VLC media player")]; [self setRepresentedURL: nil]; @@ -650,7 +650,7 @@ static const float f_min_window_height = 307.; /* seekable streams */ b_seekable = var_GetBool(p_input, "can-seek"); - vlc_object_release(p_input); + input_Release(p_input); } if ([self.fspanel respondsToSelector:@selector(setSeekable:)]) diff --git a/modules/gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.m b/modules/gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.m index 5e9e2ce2b2..dc996fd7e5 100644 --- a/modules/gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.m +++ b/modules/gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.m @@ -426,7 +426,7 @@ /* chapters & titles */ //FIXME! b_chapters = p_input->stream.i_area_nb > 1; - vlc_object_release(p_input); + input_Release(p_input); } [self.stopButton setEnabled: b_input]; diff --git a/modules/gui/macosx/windows/video/VLCFSPanelController.m b/modules/gui/macosx/windows/video/VLCFSPanelController.m index ccd8007da1..1c44138dfc 100644 --- a/modules/gui/macosx/windows/video/VLCFSPanelController.m +++ b/modules/gui/macosx/windows/video/VLCFSPanelController.m @@ -204,7 +204,7 @@ static NSString *kAssociatedFullscreenRect = @"VLCFullscreenAssociatedWindowRect vlc_value_t pos; pos.f_float = [_timeSlider floatValue] / 10000.; var_Set(p_input, "position", pos); - vlc_object_release(p_input); + input_Release(p_input); } [[[VLCMain sharedInstance] mainWindow] updateTimeSlider]; } @@ -280,7 +280,7 @@ static NSString *kAssociatedFullscreenRect = @"VLCFullscreenAssociatedWindowRect NSString *playbackPosition = toNSStr(secstotimestr(psz_time, (int)SEC_FROM_VLC_TICK(t))); [_elapsedTime setStringValue:playbackPosition]; - vlc_object_release(p_input); + input_Release(p_input); } - (void)setSeekable:(BOOL)seekable diff --git a/modules/gui/macosx/windows/video/VLCVideoOutputProvider.m b/modules/gui/macosx/windows/video/VLCVideoOutputProvider.m index b9e7f0b161..111ee6ab1c 100644 --- a/modules/gui/macosx/windows/video/VLCVideoOutputProvider.m +++ b/modules/gui/macosx/windows/video/VLCVideoOutputProvider.m @@ -511,7 +511,7 @@ int WindowOpen(vout_window_t *p_wnd) } if (p_input) - vlc_object_release(p_input); + input_Release(p_input); } else { // leaving fullscreen is always allowed [o_current_window leaveFullscreenWithAnimation:YES]; diff --git a/modules/gui/ncurses.c b/modules/gui/ncurses.c index a12a45b853..746ca2c69f 100644 --- a/modules/gui/ncurses.c +++ b/modules/gui/ncurses.c @@ -1747,7 +1747,7 @@ static void *Run(void *data) Redraw(intf, input); HandleKey(intf, input); if (input) - vlc_object_release(input); + input_Release(input); vlc_restorecancel(canc); } vlc_assert_unreachable(); diff --git a/modules/gui/qt/adapters/seekpoints.cpp b/modules/gui/qt/adapters/seekpoints.cpp index a75012bbf3..a42e91e100 100644 --- a/modules/gui/qt/adapters/seekpoints.cpp +++ b/modules/gui/qt/adapters/seekpoints.cpp @@ -44,12 +44,12 @@ void SeekPoints::update() if ( input_Control( p_input_thread, INPUT_GET_FULL_TITLE_INFO, &pp_title, &i_title_count ) != VLC_SUCCESS ) { - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); pointsList.clear(); return; } - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); if( i_title_id < i_title_count ) p_title = pp_title[i_title_id]; @@ -93,6 +93,6 @@ bool SeekPoints::jumpTo( int i_chapterindex ) input_thread_t *p_input_thread = playlist_CurrentInput( THEPL ); if( !p_input_thread ) return false; bool b_succ = var_Set( p_input_thread, "chapter", val ); - vlc_object_release( p_input_thread ); + input_Release(p_input_thread); return ( b_succ == VLC_SUCCESS ); } diff --git a/modules/gui/qt/dialogs/epg.cpp b/modules/gui/qt/dialogs/epg.cpp index 604752c4ea..2b4b294991 100644 --- a/modules/gui/qt/dialogs/epg.cpp +++ b/modules/gui/qt/dialogs/epg.cpp @@ -184,7 +184,7 @@ void EpgDialog::updateInfos() p_input_item = input_GetItem( p_input_thread ); if ( p_input_item ) input_item_Hold( p_input_item ); PL_UNLOCK; - vlc_object_release( p_input_thread ); + input_Release( p_input_thread ); if ( p_input_item ) { epg->updateEPG( p_input_item ); diff --git a/modules/gui/qt/input_manager.cpp b/modules/gui/qt/input_manager.cpp index 67012f4c0e..ade9e328f4 100644 --- a/modules/gui/qt/input_manager.cpp +++ b/modules/gui/qt/input_manager.cpp @@ -100,7 +100,7 @@ void InputManager::setInput( input_thread_t *_p_input ) if( p_input != NULL ) { msg_Dbg( p_intf, "IM: Setting an input" ); - vlc_object_hold( p_input ); + input_Hold(p_input); addCallbacks(); UpdateStatus(); @@ -187,7 +187,7 @@ void InputManager::delInput() p_input_vbi = NULL; } - vlc_object_release( p_input ); + input_Release( p_input ); p_input = NULL; emit positionUpdated( -1.0, 0 ,0 ); @@ -1005,7 +1005,7 @@ MainInputManager::~MainInputManager() { if( p_input ) { - vlc_object_release( p_input ); + input_Release(p_input); p_input = NULL; emit inputChanged( false ); } @@ -1086,7 +1086,7 @@ void MainInputManager::customEvent( QEvent *event ) void MainInputManager::probeCurrentInput() { if( p_input != NULL ) - vlc_object_release( p_input ); + input_Release(p_input); p_input = playlist_CurrentInput( THEPL ); emit inputChanged( p_input != NULL ); } diff --git a/modules/gui/qt/menus.cpp b/modules/gui/qt/menus.cpp index 7efffb4290..0ebfa136b0 100644 --- a/modules/gui/qt/menus.cpp +++ b/modules/gui/qt/menus.cpp @@ -1531,7 +1531,7 @@ void VLCMenuBar::DoAction( QObject *data ) if( input != NULL ) { vout_thread_t *vout = input_GetVout( input ); - vlc_object_release( input ); + input_Release(input); if( vout != NULL ) { var_Set( vout, var, val ); /* never void class */ diff --git a/modules/gui/skins2/commands/cmd_dvd.cpp b/modules/gui/skins2/commands/cmd_dvd.cpp index f540482d1f..eeb180cf40 100644 --- a/modules/gui/skins2/commands/cmd_dvd.cpp +++ b/modules/gui/skins2/commands/cmd_dvd.cpp @@ -31,7 +31,7 @@ void CmdDvdNextTitle::execute() if( p_input ) { var_TriggerCallback( p_input, "next-title" ); - vlc_object_release( p_input ); + input_Release(p_input); } } @@ -43,7 +43,7 @@ void CmdDvdPreviousTitle::execute() if( p_input ) { var_TriggerCallback( p_input, "prev-title" ); - vlc_object_release( p_input ); + input_Release(p_input); } } @@ -55,7 +55,7 @@ void CmdDvdNextChapter::execute() if( p_input ) { var_TriggerCallback( p_input, "next-chapter" ); - vlc_object_release( p_input ); + input_Release(p_input); } } @@ -67,7 +67,7 @@ void CmdDvdPreviousChapter::execute() if( p_input ) { var_TriggerCallback( p_input, "prev-chapter" ); - vlc_object_release( p_input ); + input_Release(p_input); } } @@ -79,7 +79,7 @@ void CmdDvdRootMenu::execute() if( p_input ) { var_SetInteger( p_input, "title 0", 2); - vlc_object_release( p_input ); + input_Release(p_input); } } diff --git a/modules/gui/skins2/commands/cmd_input.cpp b/modules/gui/skins2/commands/cmd_input.cpp index e220108784..47ff9094c0 100644 --- a/modules/gui/skins2/commands/cmd_input.cpp +++ b/modules/gui/skins2/commands/cmd_input.cpp @@ -35,7 +35,7 @@ void CmdPlay::execute() if( pInput ) { var_SetFloat( getPL(), "rate", 1.0 ); - vlc_object_release( pInput ); + input_Release(pInput); } playlist_Lock( pPlaylist ); diff --git a/modules/gui/skins2/src/vlcproc.cpp b/modules/gui/skins2/src/vlcproc.cpp index 7c3223d2ea..86deb91c1a 100644 --- a/modules/gui/skins2/src/vlcproc.cpp +++ b/modules/gui/skins2/src/vlcproc.cpp @@ -437,7 +437,7 @@ void VlcProc::on_intf_event_changed( vlc_object_t* p_obj, vlc_value_t newVal ) msg_Dbg( getIntf(), "new input %p detected", (void *)pInput ); getIntf()->p_sys->p_input = pInput; - vlc_object_hold( pInput ); + input_Hold(pInput); // update global variables pertaining to this input update_current_input(); @@ -535,7 +535,7 @@ void VlcProc::on_intf_event_changed( vlc_object_t* p_obj, vlc_value_t newVal ) var_DelCallback( pInput, "bit-rate", onGenericCallback, this ); var_DelCallback( pInput, "sample-rate", onGenericCallback, this ); var_DelCallback( pInput, "can-record" , onGenericCallback, this ); - vlc_object_release( pInput ); + input_Release(pInput); getIntf()->p_sys->p_input = NULL; reset_input(); break; diff --git a/modules/lua/extension.c b/modules/lua/extension.c index 2d3c9813a9..79ba23b961 100644 --- a/modules/lua/extension.c +++ b/modules/lua/extension.c @@ -592,11 +592,10 @@ static int Control( extensions_manager_t *p_mgr, int i_control, va_list args ) p_ext ); input_item_Release( p_item ); } - vlc_object_release( old ); + input_Release(old); } - p_ext->p_sys->p_input = p_input ? vlc_object_hold( p_input ) - : p_input; + p_ext->p_sys->p_input = p_input ? input_Hold(p_input) : NULL; // Tell the script the input changed if( p_ext->p_sys->i_capabilities & EXT_INPUT_LISTENER ) @@ -669,7 +668,7 @@ int lua_ExtensionDeactivate( extensions_manager_t *p_mgr, extension_t *p_ext ) input_item_t *p_item = input_GetItem( p_ext->p_sys->p_input ); input_item_Release( p_item ); } - vlc_object_release( p_ext->p_sys->p_input ); + input_Release(p_ext->p_sys->p_input); p_ext->p_sys->p_input = NULL; } diff --git a/modules/lua/libs/input.c b/modules/lua/libs/input.c index ec4679bb38..90a8b5878c 100644 --- a/modules/lua/libs/input.c +++ b/modules/lua/libs/input.c @@ -53,7 +53,7 @@ input_thread_t * vlclua_get_input_internal( lua_State *L ) input_thread_t *p_input = p_extension->p_sys->p_input; if( p_input ) { - vlc_object_hold(p_input); + input_Hold(p_input); return p_input; } } @@ -92,7 +92,7 @@ static int vlclua_input_is_playing( lua_State *L ) input_thread_t * p_input = vlclua_get_input_internal( L ); lua_pushboolean( L, !!p_input ); if( p_input ) - vlc_object_release( p_input ); + input_Release(p_input); return 1; } @@ -222,7 +222,7 @@ static int vlclua_input_add_subtitle( lua_State *L, bool b_path ) return luaL_error( L, "can't add subtitle: no current input" ); if( !lua_isstring( L, 1 ) ) { - vlc_object_release( p_input ); + input_Release(p_input); return luaL_error( L, "vlc.input.add_subtitle() usage: (path)" ); } if( lua_gettop( L ) >= 2 ) @@ -239,7 +239,7 @@ static int vlclua_input_add_subtitle( lua_State *L, bool b_path ) free( psz_mrl ); } } - vlc_object_release( p_input ); + input_Release(p_input); return 1; } @@ -290,13 +290,15 @@ static int vlclua_input_item_get_current( lua_State *L ) if( !p_item ) { lua_pushnil( L ); - if( p_input ) vlc_object_release( p_input ); + if (p_input != NULL) + input_Release(p_input); return 1; } vlclua_input_item_get( L, p_item ); - if( p_input ) vlc_object_release( p_input ); + if (p_input != NULL) + input_Release(p_input); return 1; } diff --git a/modules/lua/libs/objects.c b/modules/lua/libs/objects.c index 4896cda44e..b93a3a0c4e 100644 --- a/modules/lua/libs/objects.c +++ b/modules/lua/libs/objects.c @@ -74,6 +74,14 @@ static int vlclua_push_vlc_object(lua_State *L, vlc_object_t *p_obj, return 1; } +static int vlclua_input_release(lua_State *L) +{ + vlc_object_t **pp = luaL_checkudata( L, 1, "vlc_object" ); + lua_pop(L, 1); + input_Release((input_thread_t *)*pp); + return 0; +} + static int vlclua_object_find( lua_State *L ) { lua_pushnil( L ); @@ -101,7 +109,7 @@ static int vlclua_get_input( lua_State *L ) { /* NOTE: p_input is already held by vlclua_get_input_internal() */ vlclua_push_vlc_object(L, VLC_OBJECT(p_input), - vlclua_object_release); + vlclua_input_release); } else lua_pushnil( L ); return 1; @@ -113,7 +121,7 @@ static int vlclua_get_vout( lua_State *L ) if( p_input ) { vout_thread_t *p_vout = input_GetVout( p_input ); - vlc_object_release( p_input ); + input_Release(p_input); if(p_vout) { vlclua_push_vlc_object(L, VLC_OBJECT(p_vout), diff --git a/modules/lua/libs/osd.c b/modules/lua/libs/osd.c index 72a26fd6e3..3757431638 100644 --- a/modules/lua/libs/osd.c +++ b/modules/lua/libs/osd.c @@ -79,7 +79,7 @@ static int vlclua_osd_icon( lua_State *L ) vout_OSDIcon( p_vout, i_chan, i_icon ); vlc_object_release( p_vout ); } - vlc_object_release( p_input ); + input_Release(p_input); } return 0; } @@ -127,7 +127,7 @@ static int vlclua_osd_message( lua_State *L ) duration, psz_message ); vlc_object_release( p_vout ); } - vlc_object_release( p_input ); + input_Release(p_input); } return 0; } @@ -170,7 +170,7 @@ static int vlclua_osd_slider( lua_State *L ) vout_OSDSlider( p_vout, i_chan, i_position, i_type ); vlc_object_release( p_vout ); } - vlc_object_release( p_input ); + input_Release(p_input); } return 0; } @@ -182,15 +182,14 @@ static int vlclua_spu_channel_register( lua_State *L ) return luaL_error( L, "Unable to find input." ); vout_thread_t *p_vout = input_GetVout( p_input ); + input_Release(p_input); if( !p_vout ) { - vlc_object_release( p_input ); return luaL_error( L, "Unable to find vout." ); } int i_chan = vout_RegisterSubpictureChannel( p_vout ); vlc_object_release( p_vout ); - vlc_object_release( p_input ); lua_pushinteger( L, i_chan ); return 1; } @@ -202,15 +201,14 @@ static int vlclua_spu_channel_clear( lua_State *L ) if( !p_input ) return luaL_error( L, "Unable to find input." ); vout_thread_t *p_vout = input_GetVout( p_input ); + input_Release(p_input); if( !p_vout ) { - vlc_object_release( p_input ); return luaL_error( L, "Unable to find vout." ); } vout_FlushSubpictureChannel( p_vout, i_chan ); vlc_object_release( p_vout ); - vlc_object_release( p_input ); return 0; } diff --git a/modules/lua/libs/video.c b/modules/lua/libs/video.c index e3d29cbd20..110f56a68f 100644 --- a/modules/lua/libs/video.c +++ b/modules/lua/libs/video.c @@ -50,16 +50,15 @@ static int vlclua_fullscreen( lua_State *L ) if( !p_input ) return vlclua_error( L ); p_vout = input_GetVout( p_input ); + input_Release(p_input); if( !p_vout ) { - vlc_object_release( p_input ); return vlclua_error( L ); } i_ret = vlclua_var_toggle_or_set( L, p_vout, "fullscreen" ); vlc_object_release( p_vout ); - vlc_object_release( p_input ); return i_ret; } diff --git a/modules/misc/audioscrobbler.c b/modules/misc/audioscrobbler.c index 1f6bb91b48..10b9b094d2 100644 --- a/modules/misc/audioscrobbler.c +++ b/modules/misc/audioscrobbler.c @@ -351,7 +351,7 @@ static int ItemChange(vlc_object_t *p_this, const char *psz_var, if (p_sys->p_input != NULL) { var_DelCallback(p_sys->p_input, "intf-event", PlayingChange, p_intf); - vlc_object_release(p_sys->p_input); + input_Release(p_sys->p_input); p_sys->p_input = NULL; } @@ -372,7 +372,7 @@ static int ItemChange(vlc_object_t *p_this, const char *psz_var, time(&p_sys->p_current_song.date); /* to be sent to last.fm */ p_sys->p_current_song.i_start = vlc_tick_now(); /* only used locally */ - p_sys->p_input = vlc_object_hold(p_input); + p_sys->p_input = input_Hold(p_input); var_AddCallback(p_input, "intf-event", PlayingChange, p_intf); if (input_item_IsPreparsed(p_item)) @@ -428,7 +428,7 @@ static void Close(vlc_object_t *p_this) if (p_sys->p_input != NULL) { var_DelCallback(p_sys->p_input, "intf-event", PlayingChange, p_intf); - vlc_object_release(p_sys->p_input); + input_Release(p_sys->p_input); } int i; diff --git a/src/playlist_legacy/engine.c b/src/playlist_legacy/engine.c index 59a6611a11..cac6c16a98 100644 --- a/src/playlist_legacy/engine.c +++ b/src/playlist_legacy/engine.c @@ -353,7 +353,7 @@ input_thread_t *playlist_CurrentInputLocked( playlist_t *p_playlist ) input_thread_t *p_input = pl_priv(p_playlist)->p_input; if( p_input != NULL ) - vlc_object_hold( p_input ); + input_Hold( p_input ); return p_input; } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
