vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Tue Feb 19 17:31:20 2019 +0200| [e48a8a9eb2b507cbfecce661cf0fc843db05a6bd] | committer: Rémi Denis-Courmont
objects: add vlc_object_instance() ...instead of open-coded access to obj->obj.libvlc > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e48a8a9eb2b507cbfecce661cf0fc843db05a6bd --- include/vlc_objects.h | 7 ++++++ lib/media_player.c | 5 ++-- modules/access/idummy.c | 2 +- modules/audio_filter/audiobargraph_a.c | 16 ++++++++----- modules/control/dbus/dbus.c | 11 ++++----- modules/control/dbus/dbus_root.c | 2 +- modules/control/gestures.c | 2 +- modules/control/globalhotkeys/win32.c | 2 +- modules/control/globalhotkeys/xcb.c | 2 +- modules/control/hotkeys.c | 8 +++---- modules/control/lirc.c | 2 +- modules/control/ntservice.c | 2 +- modules/control/oldrc.c | 20 ++++++++-------- modules/demux/mkv/events.cpp | 5 ++-- .../gui/macosx/coreinteraction/VLCClickerManager.m | 8 +++---- .../macosx/coreinteraction/VLCCoreInteraction.m | 4 ++-- modules/gui/macosx/panels/VLCPlaylistInfo.m | 4 ++-- modules/gui/macosx/preferences/prefs_widgets.m | 2 +- .../windows/logging/VLCLogWindowController.m | 10 ++++---- modules/gui/macosx/windows/video/VLCVoutView.m | 6 ++--- modules/gui/ncurses.c | 8 +++---- modules/gui/qt/components/complete_preferences.cpp | 2 +- modules/gui/qt/dialogs/messages.cpp | 9 +++---- modules/gui/qt/dialogs/vlm.cpp | 2 +- modules/gui/qt/dialogs_provider.cpp | 4 ++-- modules/gui/qt/input_manager.cpp | 6 ++--- modules/gui/qt/main_interface.cpp | 4 ++-- modules/gui/qt/qt.cpp | 2 +- modules/gui/qt/util/input_slider.cpp | 4 ++-- modules/gui/skins2/commands/cmd_quit.cpp | 2 +- modules/gui/skins2/os2/os2_factory.cpp | 2 +- modules/gui/skins2/win32/win32_factory.cpp | 2 +- modules/gui/skins2/x11/x11_loop.cpp | 2 +- modules/lua/libs/misc.c | 2 +- modules/lua/libs/objects.c | 2 +- modules/lua/libs/variables.c | 5 ++-- modules/lua/libs/vlm.c | 2 +- modules/services_discovery/mediadirs.c | 9 ++++--- modules/spu/audiobargraph_v.c | 27 ++++++++++----------- modules/spu/mosaic.h | 3 ++- modules/spu/remoteosd.c | 6 +++-- modules/stream_filter/record.c | 2 +- modules/stream_out/bridge.c | 12 ++++++---- modules/stream_out/mosaic_bridge.c | 4 ++-- modules/stream_out/record.c | 2 +- modules/video_filter/opencv_example.cpp | 8 +++---- modules/video_output/decklink.cpp | 4 ++-- modules/video_output/win32/win32touch.c | 28 +++++++++++----------- modules/video_output/xcb/window.c | 14 ++++++----- src/input/player.c | 2 +- src/input/vlm.c | 9 ++++--- src/interface/dialog.c | 2 +- src/interface/interface.c | 2 +- src/misc/actions.c | 2 +- src/misc/keystore.c | 2 +- src/misc/medialibrary.c | 2 +- src/misc/messages.c | 4 ++-- src/misc/objects.c | 2 +- src/misc/update.c | 4 ++-- src/playlist_legacy/item.c | 2 +- src/playlist_legacy/thread.c | 7 +++--- src/video_output/vout_intf.c | 2 +- src/video_output/window.c | 2 +- src/win32/mta_holder.h | 12 ++++++---- 64 files changed, 191 insertions(+), 164 deletions(-) diff --git a/include/vlc_objects.h b/include/vlc_objects.h index cb18fff59e..70ca5c9c74 100644 --- a/include/vlc_objects.h +++ b/include/vlc_objects.h @@ -130,6 +130,13 @@ VLC_API char *vlc_object_get_name( const vlc_object_t * ) VLC_USED; #define vlc_object_release(a) \ vlc_object_release( VLC_OBJECT(a) ) +VLC_USED +static inline libvlc_int_t *vlc_object_instance(vlc_object_t *obj) +{ + return obj->obj.libvlc; +} +#define vlc_object_instance(o) vlc_object_instance(VLC_OBJECT(o)) + /** * @defgroup objres Object resources * diff --git a/lib/media_player.c b/lib/media_player.c index 4079efd4b0..8bc7a9636f 100644 --- a/lib/media_player.c +++ b/lib/media_player.c @@ -780,7 +780,8 @@ libvlc_media_player_new( libvlc_instance_t *instance ) * FIXME: It's unclear why we want to put this in public API, and why we * want to expose it in such a limiting and ugly way. */ - var_AddCallback(mp->obj.libvlc, "snapshot-file", snapshot_was_taken, mp); + var_AddCallback(vlc_object_instance(mp), + "snapshot-file", snapshot_was_taken, mp); libvlc_retain(instance); return mp; @@ -814,7 +815,7 @@ static void libvlc_media_player_destroy( libvlc_media_player_t *p_mi ) assert( p_mi ); /* Detach Callback from the main libvlc object */ - var_DelCallback( p_mi->obj.libvlc, + var_DelCallback( vlc_object_instance(p_mi), "snapshot-file", snapshot_was_taken, p_mi ); /* Detach callback from the media player / input manager object */ diff --git a/modules/access/idummy.c b/modules/access/idummy.c index 0e7410625f..1b599257f0 100644 --- a/modules/access/idummy.c +++ b/modules/access/idummy.c @@ -159,7 +159,7 @@ nop: msg_Info( p_demux, "command `quit'" ); p_demux->pf_demux = DemuxNoOp; p_demux->pf_control = DemuxControl; - libvlc_Quit( p_demux->obj.libvlc ); + libvlc_Quit( vlc_object_instance(p_demux) ); return VLC_SUCCESS; } diff --git a/modules/audio_filter/audiobargraph_a.c b/modules/audio_filter/audiobargraph_a.c index 5c57bd9b59..e744b52f24 100644 --- a/modules/audio_filter/audiobargraph_a.c +++ b/modules/audio_filter/audiobargraph_a.c @@ -139,8 +139,10 @@ static int Open( vlc_object_t *p_this ) p_filter->fmt_out.audio = p_filter->fmt_in.audio; p_filter->pf_audio_filter = DoWork; - var_Create(p_filter->obj.libvlc, "audiobargraph_v-alarm", VLC_VAR_BOOL); - var_Create(p_filter->obj.libvlc, "audiobargraph_v-i_values", VLC_VAR_STRING); + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_filter)); + + var_Create(vlc, "audiobargraph_v-alarm", VLC_VAR_BOOL); + var_Create(vlc, "audiobargraph_v-i_values", VLC_VAR_STRING); return VLC_SUCCESS; } @@ -157,7 +159,8 @@ static void SendValues(filter_t *p_filter, float *value, int nbChannels) } //msg_Dbg(p_filter, "values: %s", msg); - var_SetString(p_filter->obj.libvlc, "audiobargraph_v-i_values", msg); + var_SetString(vlc_object_instance(p_filter), "audiobargraph_v-i_values", + msg); } /***************************************************************************** @@ -224,7 +227,7 @@ static block_t *DoWork( filter_t *p_filter, block_t *p_in_buf ) sum = sqrtf(sum); /* 5 - compare it to the threshold */ - var_SetBool(p_filter->obj.libvlc, "audiobargraph_v-alarm", + var_SetBool(vlc_object_instance(p_filter), "audiobargraph_v-alarm", sum < p_sys->alarm_threshold); p_sys->lastAlarm = p_in_buf->i_pts; @@ -246,9 +249,10 @@ static void Close( vlc_object_t *p_this ) { filter_t * p_filter = (filter_t *)p_this; filter_sys_t *p_sys = p_filter->p_sys; + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_filter)); - var_Destroy(p_filter->obj.libvlc, "audiobargraph_v-i_values"); - var_Destroy(p_filter->obj.libvlc, "audiobargraph_v-alarm"); + var_Destroy(vlc, "audiobargraph_v-i_values"); + var_Destroy(vlc, "audiobargraph_v-alarm"); while (p_sys->first != NULL) { ValueDate_t *current = p_sys->first; diff --git a/modules/control/dbus/dbus.c b/modules/control/dbus/dbus.c index 103fda991d..b8e16805c8 100644 --- a/modules/control/dbus/dbus.c +++ b/modules/control/dbus/dbus.c @@ -147,6 +147,7 @@ vlc_module_end () static int Open( vlc_object_t *p_this ) { intf_thread_t *p_intf = (intf_thread_t*)p_this; + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_this)); /* initialisation of the connection */ if( !dbus_threads_init_default() ) @@ -194,7 +195,7 @@ static int Open( vlc_object_t *p_this ) /* Try to register org.mpris.MediaPlayer2.vlc */ const unsigned bus_flags = DBUS_NAME_FLAG_DO_NOT_QUEUE; - var_Create(p_intf->obj.libvlc, "dbus-mpris-name", VLC_VAR_STRING); + var_Create(vlc, "dbus-mpris-name", VLC_VAR_STRING); if( dbus_bus_request_name( p_conn, DBUS_MPRIS_BUS_NAME, bus_flags, NULL ) != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER ) { @@ -212,15 +213,13 @@ static int Open( vlc_object_t *p_this ) == DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER ) { msg_Dbg( p_intf, "listening on dbus as: %s", unique_service ); - var_SetString(p_intf->obj.libvlc, "dbus-mpris-name", - unique_service); + var_SetString(vlc, "dbus-mpris-name", unique_service); } } else { msg_Dbg( p_intf, "listening on dbus as: %s", DBUS_MPRIS_BUS_NAME ); - var_SetString(p_intf->obj.libvlc, "dbus-mpris-name", - DBUS_MPRIS_BUS_NAME); + var_SetString(vlc, "dbus-mpris-name", DBUS_MPRIS_BUS_NAME); } dbus_connection_flush( p_conn ); @@ -264,7 +263,7 @@ static int Open( vlc_object_t *p_this ) return VLC_SUCCESS; error: - var_Destroy(p_intf->obj.libvlc, "dbus-mpris-name"); + var_Destroy(vlc, "dbus-mpris-name"); /* The dbus connection is private, * so we are responsible for closing it * XXX: Does this make sense when OOM ? */ diff --git a/modules/control/dbus/dbus_root.c b/modules/control/dbus/dbus_root.c index e9394d6a9f..312c120a9c 100644 --- a/modules/control/dbus/dbus_root.c +++ b/modules/control/dbus/dbus_root.c @@ -260,7 +260,7 @@ MarshalSupportedUriSchemes( intf_thread_t *p_intf, DBusMessageIter *container ) DBUS_METHOD( Quit ) { /* exits vlc */ REPLY_INIT; - libvlc_Quit(INTF->obj.libvlc); + libvlc_Quit(vlc_object_instance(INTF)); REPLY_SEND; } diff --git a/modules/control/gestures.c b/modules/control/gestures.c index 4fcade4620..58ecac7bdc 100644 --- a/modules/control/gestures.c +++ b/modules/control/gestures.c @@ -356,7 +356,7 @@ static void ProcessGesture( intf_thread_t *p_intf ) case GESTURE(DOWN,LEFT,NONE,NONE): /* FIXME: Should close the vout!"*/ - libvlc_Quit( p_intf->obj.libvlc ); + libvlc_Quit( vlc_object_instance(p_intf) ); break; case GESTURE(DOWN,LEFT,UP,RIGHT): diff --git a/modules/control/globalhotkeys/win32.c b/modules/control/globalhotkeys/win32.c index f575735a66..6cc3d0264d 100644 --- a/modules/control/globalhotkeys/win32.c +++ b/modules/control/globalhotkeys/win32.c @@ -305,7 +305,7 @@ LRESULT CALLBACK WMHOTKEYPROC( HWND hwnd, UINT uMsg, WPARAM wParam, vlc_action_id_t action = vlc_actions_get_id( psz_atomName ); if( action != ACTIONID_NONE ) { - var_SetInteger( p_intf->obj.libvlc, + var_SetInteger( vlc_object_instance(p_intf), "key-action", action ); return 1; } diff --git a/modules/control/globalhotkeys/xcb.c b/modules/control/globalhotkeys/xcb.c index 3fa8a10e38..32b2d312c6 100644 --- a/modules/control/globalhotkeys/xcb.c +++ b/modules/control/globalhotkeys/xcb.c @@ -402,7 +402,7 @@ static void *Thread( void *p_data ) if( p_map->p_keys[j] == e->detail && p_map->i_modifier == e->state ) { - var_SetInteger( p_intf->obj.libvlc, + var_SetInteger( vlc_object_instance(p_intf), "global-key-pressed", p_map->i_vlc ); goto done; } diff --git a/modules/control/hotkeys.c b/modules/control/hotkeys.c index 2b7bbfcd61..325501f3d1 100644 --- a/modules/control/hotkeys.c +++ b/modules/control/hotkeys.c @@ -200,7 +200,7 @@ static int ButtonEvent( vlc_object_t *p_this, char const *psz_var, for (int i = MOUSE_BUTTON_WHEEL_UP; i <= MOUSE_BUTTON_WHEEL_RIGHT; i++) if (pressed & (1 << i)) - var_SetInteger(p_intf->obj.libvlc, "key-pressed", + var_SetInteger(vlc_object_instance(p_intf), "key-pressed", i - MOUSE_BUTTON_WHEEL_UP + KEY_MOUSEWHEELUP); return VLC_SUCCESS; @@ -349,7 +349,7 @@ static int Open( vlc_object_t *p_this ) vlc_mutex_init( &p_sys->lock ); - var_AddCallback( p_intf->obj.libvlc, "key-action", ActionEvent, p_intf ); + var_AddCallback( vlc_object_instance(p_intf), "key-action", ActionEvent, p_intf ); var_AddCallback( pl_Get(p_intf), "input-current", PlaylistEvent, p_intf ); @@ -366,7 +366,7 @@ static void Close( vlc_object_t *p_this ) var_DelCallback( pl_Get(p_intf), "input-current", PlaylistEvent, p_intf ); - var_DelCallback( p_intf->obj.libvlc, "key-action", ActionEvent, p_intf ); + var_DelCallback( vlc_object_instance(p_intf), "key-action", ActionEvent, p_intf ); ChangeInput( p_intf, NULL ); @@ -389,7 +389,7 @@ static int PutAction( intf_thread_t *p_intf, input_thread_t *p_input, { /* Libvlc / interface actions */ case ACTIONID_QUIT: - libvlc_Quit( p_intf->obj.libvlc ); + libvlc_Quit( vlc_object_instance(p_intf) ); ClearChannels( p_vout, slider_chan ); DisplayMessage( p_vout, _( "Quit" ) ); diff --git a/modules/control/lirc.c b/modules/control/lirc.c index 4a493a390a..3750b2e9df 100644 --- a/modules/control/lirc.c +++ b/modules/control/lirc.c @@ -196,7 +196,7 @@ static void Process( intf_thread_t *p_intf ) { vlc_action_id_t i_key = vlc_actions_get_id( c ); if( i_key ) - var_SetInteger( p_intf->obj.libvlc, "key-action", i_key ); + var_SetInteger( vlc_object_instance(p_intf), "key-action", i_key ); else msg_Err( p_intf, "Unknown hotkey '%s'", c ); } diff --git a/modules/control/ntservice.c b/modules/control/ntservice.c index 2215989a3e..22f9fc7030 100644 --- a/modules/control/ntservice.c +++ b/modules/control/ntservice.c @@ -170,7 +170,7 @@ static void *Run( void *data ) free( p_intf->p_sys->psz_service ); /* Make sure we exit (In case other interfaces have been spawned) */ - libvlc_Quit( p_intf->obj.libvlc ); + libvlc_Quit( vlc_object_instance(p_intf) ); return NULL; } diff --git a/modules/control/oldrc.c b/modules/control/oldrc.c index 2c35a1f60a..062ce72179 100644 --- a/modules/control/oldrc.c +++ b/modules/control/oldrc.c @@ -499,6 +499,7 @@ static void *Run( void *data ) { intf_thread_t *p_intf = data; intf_sys_t *p_sys = p_intf->p_sys; + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_intf)); char p_buffer[ MAX_LINE_LENGTH + 1 ]; bool b_showpos = var_InheritBool( p_intf, "rc-show-pos" ); @@ -647,16 +648,16 @@ static void *Run( void *data ) psz_cmd, i_ret, vlc_error( i_ret ) ); } /* Or maybe it's a global command */ - else if( var_Type( p_intf->obj.libvlc, psz_cmd ) & VLC_VAR_ISCOMMAND ) + else if( var_Type( vlc, psz_cmd ) & VLC_VAR_ISCOMMAND ) { int i_ret = VLC_SUCCESS; /* FIXME: it's a global command, but we should pass the - * local object as an argument, not p_intf->obj.libvlc. */ - if ((var_Type( p_intf->obj.libvlc, psz_cmd) & VLC_VAR_CLASS) == VLC_VAR_VOID) + * local object as an argument, not vlc_object_instance(p_intf). */ + if ((var_Type( vlc, psz_cmd) & VLC_VAR_CLASS) == VLC_VAR_VOID) var_TriggerCallback( p_intf, psz_cmd ); else - i_ret = var_SetString( p_intf->obj.libvlc, psz_cmd, psz_arg ); + i_ret = var_SetString( vlc, psz_cmd, psz_arg ); if( i_ret != 0 ) { msg_rc( "%s: returned %i (%s)", @@ -742,8 +743,7 @@ static void *Run( void *data ) } else if( !strcmp( psz_cmd, "key" ) || !strcmp( psz_cmd, "hotkey" ) ) { - var_SetInteger( p_intf->obj.libvlc, "key-action", - vlc_actions_get_id( psz_arg ) ); + var_SetInteger( vlc, "key-action", vlc_actions_get_id( psz_arg ) ); } else switch( psz_cmd[0] ) { @@ -1015,7 +1015,7 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd, } else { - var_SetInteger( p_intf->obj.libvlc, "key-action", ACTIONID_JUMP_FORWARD_EXTRASHORT ); + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_JUMP_FORWARD_EXTRASHORT ); } i_error = VLC_SUCCESS; } @@ -1029,7 +1029,7 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd, } else { - var_SetInteger( p_intf->obj.libvlc, "key-action", ACTIONID_JUMP_BACKWARD_EXTRASHORT ); + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_JUMP_BACKWARD_EXTRASHORT ); } i_error = VLC_SUCCESS; } @@ -1420,7 +1420,7 @@ static int Quit( vlc_object_t *p_this, char const *psz_cmd, VLC_UNUSED(p_data); VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval); VLC_UNUSED(newval); - libvlc_Quit( p_this->obj.libvlc ); + libvlc_Quit( vlc_object_instance(p_this) ); return VLC_SUCCESS; } @@ -1859,7 +1859,7 @@ bool ReadCommand( intf_thread_t *p_intf, char *p_buffer, int *pi_size ) { if( read( 0/*STDIN_FILENO*/, p_buffer + *pi_size, 1 ) <= 0 ) { /* Standard input closed: exit */ - libvlc_Quit( p_intf->obj.libvlc ); + libvlc_Quit( vlc_object_instance(p_intf) ); p_buffer[*pi_size] = 0; return true; } diff --git a/modules/demux/mkv/events.cpp b/modules/demux/mkv/events.cpp index e80bdd2986..66d7855cc3 100644 --- a/modules/demux/mkv/events.cpp +++ b/modules/demux/mkv/events.cpp @@ -123,10 +123,11 @@ int event_thread_t::EventKey( vlc_object_t *p_this, char const *, void event_thread_t::EventThread() { + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_demux)); int canc = vlc_savecancel (); /* catch all key event */ - var_AddCallback( p_demux->obj.libvlc, "key-action", EventKey, this ); + var_AddCallback( vlc, "key-action", EventKey, this ); for( vlc_mutex_locker guard( &lock );; ) { @@ -155,7 +156,7 @@ void event_thread_t::EventThread() } } - var_DelCallback( p_demux->obj.libvlc, "key-action", EventKey, this ); + var_DelCallback( vlc, "key-action", EventKey, this ); vlc_restorecancel (canc); } diff --git a/modules/gui/macosx/coreinteraction/VLCClickerManager.m b/modules/gui/macosx/coreinteraction/VLCClickerManager.m index ac5569e67a..dade9fa98b 100644 --- a/modules/gui/macosx/coreinteraction/VLCClickerManager.m +++ b/modules/gui/macosx/coreinteraction/VLCClickerManager.m @@ -211,11 +211,11 @@ break; case kRemoteButtonVolume_Plus_Hold: if (p_intf) - var_SetInteger(p_intf->obj.libvlc, "key-action", ACTIONID_VOL_UP); + var_SetInteger(vlc_object_instance(p_intf), "key-action", ACTIONID_VOL_UP); break; case kRemoteButtonVolume_Minus_Hold: if (p_intf) - var_SetInteger(p_intf->obj.libvlc, "key-action", ACTIONID_VOL_DOWN); + var_SetInteger(vlc_object_instance(p_intf), "key-action", ACTIONID_VOL_DOWN); break; } if (b_remote_button_hold) { @@ -254,14 +254,14 @@ [NSSound increaseSystemVolume]; else if (p_intf) - var_SetInteger(p_intf->obj.libvlc, "key-action", ACTIONID_VOL_UP); + var_SetInteger(vlc_object_instance(p_intf), "key-action", ACTIONID_VOL_UP); break; case kRemoteButtonVolume_Minus: if (config_GetInt("macosx-appleremote-sysvol")) [NSSound decreaseSystemVolume]; else if (p_intf) - var_SetInteger(p_intf->obj.libvlc, "key-action", ACTIONID_VOL_DOWN); + var_SetInteger(vlc_object_instance(p_intf), "key-action", ACTIONID_VOL_DOWN); break; case kRemoteButtonRight: if (config_GetInt("macosx-appleremote-prevnext")) diff --git a/modules/gui/macosx/coreinteraction/VLCCoreInteraction.m b/modules/gui/macosx/coreinteraction/VLCCoreInteraction.m index 1a014e6fd1..86c058543e 100644 --- a/modules/gui/macosx/coreinteraction/VLCCoreInteraction.m +++ b/modules/gui/macosx/coreinteraction/VLCCoreInteraction.m @@ -576,7 +576,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, if (p_input != NULL) { vout_thread_t *p_vout = input_GetVout(p_input); if (p_vout != NULL) { - var_SetInteger(getIntf()->obj.libvlc, "key-action", ACTIONID_POSITION); + var_SetInteger(vlc_object_instance(getIntf()), "key-action", ACTIONID_POSITION); vlc_object_release(p_vout); } vlc_object_release(p_input); @@ -769,7 +769,7 @@ static int BossCallback(vlc_object_t *p_this, const char *psz_var, } if (b_found_key) { - var_SetInteger(p_intf->obj.libvlc, "key-pressed", val.i_int); + var_SetInteger(vlc_object_instance(p_intf), "key-pressed", val.i_int); return YES; } } diff --git a/modules/gui/macosx/panels/VLCPlaylistInfo.m b/modules/gui/macosx/panels/VLCPlaylistInfo.m index e5f4989367..4fa73f9df3 100644 --- a/modules/gui/macosx/panels/VLCPlaylistInfo.m +++ b/modules/gui/macosx/panels/VLCPlaylistInfo.m @@ -198,7 +198,7 @@ [_imageWell setImage: [NSImage imageNamed: @"noart.png"]]; } else { if (!input_item_IsPreparsed(p_item)) - libvlc_MetadataRequest(getIntf()->obj.libvlc, p_item, META_REQUEST_OPTION_NONE, + libvlc_MetadataRequest(vlc_object_instance(getIntf()), p_item, META_REQUEST_OPTION_NONE, NULL, NULL, -1, NULL); /* fill uri info */ @@ -367,7 +367,7 @@ FREENULL( psz_##foo ); - (IBAction)downloadCoverArt:(id)sender { if (p_item) - libvlc_ArtRequest(getIntf()->obj.libvlc, p_item, META_REQUEST_OPTION_NONE, + libvlc_ArtRequest(vlc_object_instance(getIntf()), p_item, META_REQUEST_OPTION_NONE, NULL, NULL); } diff --git a/modules/gui/macosx/preferences/prefs_widgets.m b/modules/gui/macosx/preferences/prefs_widgets.m index 40c14b07c6..a7b52ca94f 100644 --- a/modules/gui/macosx/preferences/prefs_widgets.m +++ b/modules/gui/macosx/preferences/prefs_widgets.m @@ -876,7 +876,7 @@ o_textfield = [[NSSecureTextField alloc] initWithFrame: s_rc]; \ case CONFIG_ITEM_KEY: /* So you don't need to restart to have the changes take effect */ val.i_int = [self intValue]; - var_Set(getIntf()->obj.libvlc, psz_name, val); + var_Set(vlc_object_instance(getIntf()), psz_name, val); case CONFIG_ITEM_INTEGER: case CONFIG_ITEM_BOOL: config_PutInt(psz_name, [self intValue]); diff --git a/modules/gui/macosx/windows/logging/VLCLogWindowController.m b/modules/gui/macosx/windows/logging/VLCLogWindowController.m index 9ff7543fa9..30b26026bc 100644 --- a/modules/gui/macosx/windows/logging/VLCLogWindowController.m +++ b/modules/gui/macosx/windows/logging/VLCLogWindowController.m @@ -87,7 +87,7 @@ static const struct vlc_logger_operations log_ops = { MsgCallback, NULL }; - (void)dealloc { if (getIntf()) - vlc_LogSet( getIntf()->obj.libvlc, NULL, NULL ); + vlc_LogSet( vlc_object_instance(getIntf()), NULL, NULL ); } - (void)windowDidLoad @@ -125,7 +125,7 @@ static const struct vlc_logger_operations log_ops = { MsgCallback, NULL }; } // Subscribe to LibVLCCore's messages - vlc_LogSet(getIntf()->obj.libvlc, &log_ops, (__bridge void*)self); + vlc_LogSet(vlc_object_instance(getIntf()), &log_ops, (__bridge void*)self); _refreshTimer = [NSTimer scheduledTimerWithTimeInterval:0.3 target:self selector:@selector(appendMessageBuffer) @@ -137,7 +137,7 @@ static const struct vlc_logger_operations log_ops = { MsgCallback, NULL }; - (void)windowWillClose:(NSNotification *)notification { // Unsubscribe from LibVLCCore's messages - vlc_LogSet( getIntf()->obj.libvlc, NULL, NULL ); + vlc_LogSet( vlc_object_instance(getIntf()), NULL, NULL ); // Remove all messages [self clearMessageBuffer]; @@ -217,14 +217,14 @@ static const struct vlc_logger_operations log_ops = { MsgCallback, NULL }; - (IBAction)clearLog:(id)sender { // Unregister handler - vlc_LogSet(getIntf()->obj.libvlc, NULL, NULL); + vlc_LogSet(vlc_object_instance(getIntf()), NULL, NULL); // Remove all messages [self clearMessageBuffer]; [self clearMessageTable]; // Reregister handler, to write new header to log - vlc_LogSet(getIntf()->obj.libvlc, &log_ops, (__bridge void*)self); + vlc_LogSet(vlc_object_instance(getIntf()), &log_ops, (__bridge void*)self); } /* Refresh log action diff --git a/modules/gui/macosx/windows/video/VLCVoutView.m b/modules/gui/macosx/windows/video/VLCVoutView.m index fee924316d..e53d11cbf0 100644 --- a/modules/gui/macosx/windows/video/VLCVoutView.m +++ b/modules/gui/macosx/windows/video/VLCVoutView.m @@ -181,7 +181,7 @@ [[VLCCoreInteraction sharedInstance] toggleFullscreen]; else if (p_vout) { val.i_int |= (int)CocoaKeyToVLC(key); - var_Set(p_vout->obj.libvlc, "key-pressed", val); + var_Set(vlc_object_instance(p_vout), "key-pressed", val); } else msg_Dbg(getIntf(), "could not send keyevent to VLC core"); @@ -283,7 +283,7 @@ while (ABS(f_cumulatedYScrollValue) >= f_yThreshold) { f_cumulatedYScrollValue -= (f_cumulatedYScrollValue > 0 ? f_yThreshold : -f_yThreshold); - var_SetInteger(p_intf->obj.libvlc, "key-pressed", key); + var_SetInteger(vlc_object_instance(p_intf), "key-pressed", key); msg_Dbg(p_intf, "Scrolling in y direction"); } @@ -297,7 +297,7 @@ while (ABS(f_cumulatedXScrollValue) >= f_xThreshold) { f_cumulatedXScrollValue -= (f_cumulatedXScrollValue > 0 ? f_xThreshold : -f_xThreshold); - var_SetInteger(p_intf->obj.libvlc, "key-pressed", key); + var_SetInteger(vlc_object_instance(p_intf), "key-pressed", key); msg_Dbg(p_intf, "Scrolling in x direction"); } } diff --git a/modules/gui/ncurses.c b/modules/gui/ncurses.c index 2826d2d378..fa2b11b765 100644 --- a/modules/gui/ncurses.c +++ b/modules/gui/ncurses.c @@ -738,7 +738,7 @@ static int SubDrawObject(intf_sys_t *sys, int l, vlc_object_t *p_obj, int i_leve static int DrawObjects(intf_thread_t *intf, input_thread_t *input) { (void) input; - return SubDrawObject(intf->p_sys, 0, VLC_OBJECT(intf->obj.libvlc), 0, ""); + return SubDrawObject(intf->p_sys, 0, VLC_OBJECT(vlc_object_instance(intf)), 0, ""); } static int DrawMeta(intf_thread_t *intf, input_thread_t *p_input) @@ -1575,7 +1575,7 @@ static void HandleCommonKey(intf_thread_t *intf, input_thread_t *input, case 'q': case 'Q': case KEY_EXIT: - libvlc_Quit(intf->obj.libvlc); + libvlc_Quit(vlc_object_instance(intf)); return; case 'h': @@ -1803,7 +1803,7 @@ static int Open(vlc_object_t *p_this) vlc_mutex_init(&sys->msg_lock); sys->verbosity = var_InheritInteger(intf, "verbose"); - vlc_LogSet(intf->obj.libvlc, &log_ops, sys); + vlc_LogSet(vlc_object_instance(intf), &log_ops, sys); sys->box_type = BOX_PLAYLIST; sys->plidx_follow = true; @@ -1870,7 +1870,7 @@ static void Close(vlc_object_t *p_this) endwin(); /* Close the ncurses interface */ - vlc_LogSet(p_this->obj.libvlc, NULL, NULL); + vlc_LogSet(vlc_object_instance(p_this), NULL, NULL); vlc_mutex_destroy(&sys->msg_lock); for(unsigned i = 0; i < sizeof sys->msgs / sizeof *sys->msgs; i++) { if (sys->msgs[i].item) diff --git a/modules/gui/qt/components/complete_preferences.cpp b/modules/gui/qt/components/complete_preferences.cpp index 19ed53564e..3b972aac6c 100644 --- a/modules/gui/qt/components/complete_preferences.cpp +++ b/modules/gui/qt/components/complete_preferences.cpp @@ -434,7 +434,7 @@ void PrefsTree::updateLoadedStatus( QTreeWidgetItem *item = NULL, if( loaded == NULL ) { - vlc_object_t *p_root = VLC_OBJECT( p_intf->obj.libvlc ); + vlc_object_t *p_root = VLC_OBJECT( vlc_object_instance(p_intf) ); loaded = new QSet<QString>(); populateLoadedSet( loaded, p_root ); b_release = true; diff --git a/modules/gui/qt/dialogs/messages.cpp b/modules/gui/qt/dialogs/messages.cpp index 45180b222f..58e6fdaa07 100644 --- a/modules/gui/qt/dialogs/messages.cpp +++ b/modules/gui/qt/dialogs/messages.cpp @@ -137,16 +137,17 @@ MessagesDialog::MessagesDialog( intf_thread_t *_p_intf) MessagesDialog::MsgCallback, NULL }; + libvlc_int_t *vlc = vlc_object_instance(p_intf); - vlc_LogSet( p_intf->obj.libvlc, &log_ops, this ); + vlc_LogSet( vlc, &log_ops, this ); - buildTree( NULL, VLC_OBJECT( p_intf->obj.libvlc ) ); + buildTree( NULL, VLC_OBJECT(vlc) ); } MessagesDialog::~MessagesDialog() { saveWidgetPosition( "Messages" ); - vlc_LogSet( p_intf->obj.libvlc, NULL, NULL ); + vlc_LogSet( vlc_object_instance(p_intf), NULL, NULL ); }; void MessagesDialog::changeVerbosity( int i_verbosity ) @@ -338,7 +339,7 @@ void MessagesDialog::updateOrClear() if( ui.mainTab->currentIndex() == 1) { ui.modulesTree->clear(); - buildTree( NULL, VLC_OBJECT( p_intf->obj.libvlc ) ); + buildTree( NULL, VLC_OBJECT( vlc_object_instance(p_intf) ) ); } else if( ui.mainTab->currentIndex() == 0 ) ui.messages->clear(); diff --git a/modules/gui/qt/dialogs/vlm.cpp b/modules/gui/qt/dialogs/vlm.cpp index f7f4b66ac7..8034bf0edd 100644 --- a/modules/gui/qt/dialogs/vlm.cpp +++ b/modules/gui/qt/dialogs/vlm.cpp @@ -54,7 +54,7 @@ VLMDialog::VLMDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf ) { - vlm_t *p_vlm = vlm_New( p_intf->obj.libvlc, NULL ); + vlm_t *p_vlm = vlm_New( vlc_object_instance(p_intf), NULL ); if( !p_vlm ) { diff --git a/modules/gui/qt/dialogs_provider.cpp b/modules/gui/qt/dialogs_provider.cpp index 084892aa7f..4bb9118890 100644 --- a/modules/gui/qt/dialogs_provider.cpp +++ b/modules/gui/qt/dialogs_provider.cpp @@ -130,7 +130,7 @@ QString DialogsProvider::getSaveFileName( QWidget *parent, void DialogsProvider::quit() { b_isDying = true; - libvlc_Quit( p_intf->obj.libvlc ); + libvlc_Quit( vlc_object_instance(p_intf) ); } void DialogsProvider::customEvent( QEvent *event ) @@ -846,5 +846,5 @@ void DialogsProvider::sendKey( int key ) } // forward key to vlc core when not a key accelerator - var_SetInteger( p_intf->obj.libvlc, "key-pressed", key ); + var_SetInteger( vlc_object_instance(p_intf), "key-pressed", key ); } diff --git a/modules/gui/qt/input_manager.cpp b/modules/gui/qt/input_manager.cpp index fdb11dae2a..67012f4c0e 100644 --- a/modules/gui/qt/input_manager.cpp +++ b/modules/gui/qt/input_manager.cpp @@ -678,7 +678,7 @@ void InputManager::requestArtUpdate( input_item_t *p_item, bool b_forced ) if ( status & ( ITEM_ART_NOTFOUND|ITEM_ART_FETCHED ) ) return; } - libvlc_ArtRequest( p_intf->obj.libvlc, p_item, + libvlc_ArtRequest( vlc_object_instance(p_intf), p_item, (b_forced) ? META_REQUEST_OPTION_SCOPE_ANY : META_REQUEST_OPTION_NONE, NULL, NULL ); @@ -896,12 +896,12 @@ void InputManager::faster() void InputManager::littlefaster() { - var_SetInteger( p_intf->obj.libvlc, "key-action", ACTIONID_RATE_FASTER_FINE ); + var_SetInteger( vlc_object_instance(p_intf), "key-action", ACTIONID_RATE_FASTER_FINE ); } void InputManager::littleslower() { - var_SetInteger( p_intf->obj.libvlc, "key-action", ACTIONID_RATE_SLOWER_FINE ); + var_SetInteger( vlc_object_instance(p_intf), "key-action", ACTIONID_RATE_SLOWER_FINE ); } void InputManager::normalRate() diff --git a/modules/gui/qt/main_interface.cpp b/modules/gui/qt/main_interface.cpp index b243b789f2..82ce6e81a8 100644 --- a/modules/gui/qt/main_interface.cpp +++ b/modules/gui/qt/main_interface.cpp @@ -1678,7 +1678,7 @@ void MainInterface::handleKeyPress( QKeyEvent *e ) int i_vlck = qtEventToVLCKey( e ); if( i_vlck > 0 ) { - var_SetInteger( p_intf->obj.libvlc, "key-pressed", i_vlck ); + var_SetInteger( vlc_object_instance(p_intf), "key-pressed", i_vlck ); e->accept(); } else @@ -1688,7 +1688,7 @@ void MainInterface::handleKeyPress( QKeyEvent *e ) void MainInterface::wheelEvent( QWheelEvent *e ) { int i_vlckey = qtWheelEventToVLCKey( e ); - var_SetInteger( p_intf->obj.libvlc, "key-pressed", i_vlckey ); + var_SetInteger( vlc_object_instance(p_intf), "key-pressed", i_vlckey ); e->accept(); } diff --git a/modules/gui/qt/qt.cpp b/modules/gui/qt/qt.cpp index f71d8d7695..00294ecae5 100644 --- a/modules/gui/qt/qt.cpp +++ b/modules/gui/qt/qt.cpp @@ -428,7 +428,7 @@ static int Open( vlc_object_t *p_this, bool isDialogProvider ) vlc_sem_init (&ready, 0); #ifdef Q_OS_MAC /* Run mainloop on the main thread as Cocoa requires */ - libvlc_SetExitHandler( p_intf->obj.libvlc, Abort, p_intf ); + libvlc_SetExitHandler( vlc_object_instance(p_intf), Abort, p_intf ); Thread( (void *)p_intf ); #else if( vlc_clone( &p_sys->thread, Thread, p_intf, VLC_THREAD_PRIORITY_LOW ) ) diff --git a/modules/gui/qt/util/input_slider.cpp b/modules/gui/qt/util/input_slider.cpp index 3060163b5e..a93af5f5a5 100644 --- a/modules/gui/qt/util/input_slider.cpp +++ b/modules/gui/qt/util/input_slider.cpp @@ -402,8 +402,8 @@ void SeekSlider::wheelEvent( QWheelEvent *event ) /* Don't do anything if we are for somehow reason sliding */ if( !isSliding && isEnabled() ) { - int64_t i_size = var_InheritInteger( p_intf->obj.libvlc, "short-jump-size" ); - int i_mode = var_InheritInteger( p_intf->obj.libvlc, "hotkeys-x-wheel-mode" ); + int64_t i_size = var_InheritInteger( vlc_object_instance(p_intf), "short-jump-size" ); + int i_mode = var_InheritInteger( vlc_object_instance(p_intf), "hotkeys-x-wheel-mode" ); if ( ( event->delta() < 0 && i_mode != 3 ) || ( event->delta() > 0 && i_mode == 3 ) ) i_size = - i_size; float posOffset = static_cast<float>( i_size ) / static_cast<float>( inputLength ); diff --git a/modules/gui/skins2/commands/cmd_quit.cpp b/modules/gui/skins2/commands/cmd_quit.cpp index b400ae9839..96e5e412ba 100644 --- a/modules/gui/skins2/commands/cmd_quit.cpp +++ b/modules/gui/skins2/commands/cmd_quit.cpp @@ -47,7 +47,7 @@ void CmdQuit::execute() } // Kill libvlc - libvlc_Quit( getIntf()->obj.libvlc ); + libvlc_Quit( vlc_object_instance(getIntf()) ); } diff --git a/modules/gui/skins2/os2/os2_factory.cpp b/modules/gui/skins2/os2/os2_factory.cpp index 5d0e17101b..4d4a26cae3 100644 --- a/modules/gui/skins2/os2/os2_factory.cpp +++ b/modules/gui/skins2/os2/os2_factory.cpp @@ -90,7 +90,7 @@ MRESULT EXPENTRY OS2Factory::OS2FrameProc( HWND hwnd, ULONG msg, // If closing parent window if( SHORT1FROMMP(mp1) == SC_CLOSE ) { - libvlc_Quit( p_intf->obj.libvlc ); + libvlc_Quit( vlc_object_instance(p_intf) ); return 0; } diff --git a/modules/gui/skins2/win32/win32_factory.cpp b/modules/gui/skins2/win32/win32_factory.cpp index 6f4d5e8bcb..12be516305 100644 --- a/modules/gui/skins2/win32/win32_factory.cpp +++ b/modules/gui/skins2/win32/win32_factory.cpp @@ -73,7 +73,7 @@ LRESULT CALLBACK Win32Factory::Win32Proc( HWND hwnd, UINT uMsg, // If closing parent window if( (wParam & 0xFFF0) == SC_CLOSE ) { - libvlc_Quit( p_intf->obj.libvlc ); + libvlc_Quit( vlc_object_instance(p_intf) ); return 0; } else if( (wParam & 0xFFF0) == SC_MINIMIZE ) diff --git a/modules/gui/skins2/x11/x11_loop.cpp b/modules/gui/skins2/x11/x11_loop.cpp index 8b6437d32d..b0103e75b3 100644 --- a/modules/gui/skins2/x11/x11_loop.cpp +++ b/modules/gui/skins2/x11/x11_loop.cpp @@ -178,7 +178,7 @@ void X11Loop::handleX11Event() (Atom)event.xclient.data.l[0] == wm_delete ) { msg_Dbg( getIntf(), "Received WM_DELETE_WINDOW message" ); - libvlc_Quit( getIntf()->obj.libvlc ); + libvlc_Quit( vlc_object_instance(getIntf()) ); } } return; diff --git a/modules/lua/libs/misc.c b/modules/lua/libs/misc.c index ee9157f7d7..f07e93b15c 100644 --- a/modules/lua/libs/misc.c +++ b/modules/lua/libs/misc.c @@ -123,7 +123,7 @@ static int vlclua_quit( lua_State *L ) vlc_object_t *p_this = vlclua_get_this( L ); /* The rc.c code also stops the playlist ... not sure if this is needed * though. */ - libvlc_Quit( p_this->obj.libvlc ); + libvlc_Quit( vlc_object_instance(p_this) ); return 0; } diff --git a/modules/lua/libs/objects.c b/modules/lua/libs/objects.c index 63c8d7e0b5..d385ed9061 100644 --- a/modules/lua/libs/objects.c +++ b/modules/lua/libs/objects.c @@ -58,7 +58,7 @@ static int vlclua_object_find( lua_State *L ) static int vlclua_get_libvlc( lua_State *L ) { - libvlc_int_t *p_libvlc = vlclua_get_this( L )->obj.libvlc; + libvlc_int_t *p_libvlc = vlc_object_instance(vlclua_get_this( L )); vlc_object_hold( p_libvlc ); vlclua_push_vlc_object( L, p_libvlc ); return 1; diff --git a/modules/lua/libs/variables.c b/modules/lua/libs/variables.c index 2240ef7a4d..e724ac2306 100644 --- a/modules/lua/libs/variables.c +++ b/modules/lua/libs/variables.c @@ -260,19 +260,20 @@ static int vlclua_var_get_list( lua_State *L ) static int vlclua_libvlc_command( lua_State *L ) { vlc_object_t * p_this = vlclua_get_this( L ); + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_this)); vlc_value_t val_arg; const char *psz_cmd = luaL_checkstring( L, 1 ); val_arg.psz_string = (char*)luaL_optstring( L, 2, "" ); - int i_type = var_Type( p_this->obj.libvlc, psz_cmd ); + int i_type = var_Type( vlc, psz_cmd ); if( ! (i_type & VLC_VAR_ISCOMMAND) ) { return luaL_error( L, "libvlc's \"%s\" is not a command", psz_cmd ); } - int i_ret = var_Set( p_this->obj.libvlc, psz_cmd, val_arg ); + int i_ret = var_Set( vlc, psz_cmd, val_arg ); lua_pop( L, 2 ); return vlclua_push_ret( L, i_ret ); diff --git a/modules/lua/libs/vlm.c b/modules/lua/libs/vlm.c index 558634e02c..eeb19b164d 100644 --- a/modules/lua/libs/vlm.c +++ b/modules/lua/libs/vlm.c @@ -52,7 +52,7 @@ static const luaL_Reg vlclua_vlm_reg[] = { static int vlclua_vlm_new( lua_State *L ) { vlc_object_t *p_this = vlclua_get_this( L ); - vlm_t *p_vlm = vlm_New( p_this->obj.libvlc, NULL ); + vlm_t *p_vlm = vlm_New( vlc_object_instance(p_this), NULL ); if( !p_vlm ) return luaL_error( L, "Cannot start VLM." ); diff --git a/modules/services_discovery/mediadirs.c b/modules/services_discovery/mediadirs.c index 8570ad6408..6efe265c22 100644 --- a/modules/services_discovery/mediadirs.c +++ b/modules/services_discovery/mediadirs.c @@ -161,11 +161,13 @@ static int Open( vlc_object_t *p_this, enum type_e i_type ) p_sd->description = vlc_gettext(desc); - var_AddCallback( p_sd->obj.libvlc, p_sys->psz_var, onNewFileAdded, p_sd ); + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_sd)); + + var_AddCallback( vlc, p_sys->psz_var, onNewFileAdded, p_sd ); if( vlc_clone( &p_sys->thread, Run, p_sd, VLC_THREAD_PRIORITY_LOW ) ) { - var_DelCallback( p_sd->obj.libvlc, p_sys->psz_var, onNewFileAdded, p_sd ); + var_DelCallback( vlc, p_sys->psz_var, onNewFileAdded, p_sd ); free( p_sys->psz_dir[1] ); free( p_sys->psz_dir[0] ); free( p_sys ); @@ -221,10 +223,11 @@ static void Close( vlc_object_t *p_this ) { services_discovery_t *p_sd = (services_discovery_t *)p_this; services_discovery_sys_t *p_sys = p_sd->p_sys; + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_sd)); vlc_join( p_sys->thread, NULL ); - var_DelCallback( p_sd->obj.libvlc, p_sys->psz_var, onNewFileAdded, p_sd ); + var_DelCallback( vlc, p_sys->psz_var, onNewFileAdded, p_sd ); free( p_sys->psz_dir[1] ); free( p_sys->psz_dir[0] ); diff --git a/modules/spu/audiobargraph_v.c b/modules/spu/audiobargraph_v.c index bbd361f907..52a876e5e7 100644 --- a/modules/spu/audiobargraph_v.c +++ b/modules/spu/audiobargraph_v.c @@ -541,17 +541,17 @@ static int OpenCommon(vlc_object_t *p_this, bool b_sub) if (!b_sub && p_sys->i_pos_x >= 0 && p_sys->i_pos_y >= 0) p_sys->i_pos = 0; + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_filter)); + vlc_mutex_init(&p_sys->lock); - var_Create(p_filter->obj.libvlc, CFG_PREFIX "alarm", VLC_VAR_BOOL); - var_Create(p_filter->obj.libvlc, CFG_PREFIX "i_values", VLC_VAR_STRING); + var_Create(vlc, CFG_PREFIX "alarm", VLC_VAR_BOOL); + var_Create(vlc, CFG_PREFIX "i_values", VLC_VAR_STRING); - var_AddCallback(p_filter->obj.libvlc, CFG_PREFIX "alarm", - BarGraphCallback, p_sys); - var_AddCallback(p_filter->obj.libvlc, CFG_PREFIX "i_values", - BarGraphCallback, p_sys); + var_AddCallback(vlc, CFG_PREFIX "alarm", BarGraphCallback, p_sys); + var_AddCallback(vlc, CFG_PREFIX "i_values", BarGraphCallback, p_sys); - var_TriggerCallback(p_filter->obj.libvlc, CFG_PREFIX "alarm"); - var_TriggerCallback(p_filter->obj.libvlc, CFG_PREFIX "i_values"); + var_TriggerCallback(vlc, CFG_PREFIX "alarm"); + var_TriggerCallback(vlc, CFG_PREFIX "i_values"); for (int i = 0; ppsz_filter_callbacks[i]; i++) var_AddCallback(p_filter, ppsz_filter_callbacks[i], @@ -588,17 +588,16 @@ static void Close(vlc_object_t *p_this) { filter_t *p_filter = (filter_t *)p_this; filter_sys_t *p_sys = p_filter->p_sys; + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_filter)); for (int i = 0; ppsz_filter_callbacks[i]; i++) var_DelCallback(p_filter, ppsz_filter_callbacks[i], BarGraphCallback, p_sys); - var_DelCallback(p_filter->obj.libvlc, CFG_PREFIX "i_values", - BarGraphCallback, p_sys); - var_DelCallback(p_filter->obj.libvlc, CFG_PREFIX "alarm", - BarGraphCallback, p_sys); - var_Destroy(p_filter->obj.libvlc, CFG_PREFIX "i_values"); - var_Destroy(p_filter->obj.libvlc, CFG_PREFIX "alarm"); + var_DelCallback(vlc, CFG_PREFIX "i_values", BarGraphCallback, p_sys); + var_DelCallback(vlc, CFG_PREFIX "alarm", BarGraphCallback, p_sys); + var_Destroy(vlc, CFG_PREFIX "i_values"); + var_Destroy(vlc, CFG_PREFIX "alarm"); if (p_sys->p_blend) filter_DeleteBlend(p_sys->p_blend); diff --git a/modules/spu/mosaic.h b/modules/spu/mosaic.h index 9ddcf882a0..41bd00950d 100644 --- a/modules/spu/mosaic.h +++ b/modules/spu/mosaic.h @@ -42,6 +42,7 @@ typedef struct bridge_t static bridge_t *GetBridge( vlc_object_t *p_object ) { - return var_GetAddress(VLC_OBJECT(p_object->obj.libvlc), "mosaic-struct"); + return var_GetAddress(VLC_OBJECT(vlc_object_instance(p_object)), + "mosaic-struct"); } #define GetBridge(a) GetBridge( VLC_OBJECT(a) ) diff --git a/modules/spu/remoteosd.c b/modules/spu/remoteosd.c index a02dbf33ca..2c71df6841 100644 --- a/modules/spu/remoteosd.c +++ b/modules/spu/remoteosd.c @@ -282,7 +282,8 @@ static int CreateFilter ( vlc_object_t *p_this ) p_sys->b_vnc_key_events = var_InheritBool( p_this, RMTOSD_CFG "key-events" ); if( p_sys->b_vnc_key_events ) - var_AddCallback( p_filter->obj.libvlc, "key-pressed", KeyEvent, p_this ); + var_AddCallback( vlc_object_instance(p_filter), "key-pressed", + KeyEvent, p_this ); msg_Dbg( p_filter, "osdvnc filter started" ); @@ -310,7 +311,8 @@ static void DestroyFilter( vlc_object_t *p_this ) msg_Dbg( p_filter, "DestroyFilter called." ); if( p_sys->b_vnc_key_events ) - var_DelCallback( p_filter->obj.libvlc, "key-pressed", KeyEvent, p_this ); + var_DelCallback( vlc_object_instance(p_filter), "key-pressed", + KeyEvent, p_this ); vlc_cancel( p_sys->worker_thread ); vlc_join( p_sys->worker_thread, NULL ); diff --git a/modules/stream_filter/record.c b/modules/stream_filter/record.c index db260e92b0..43d71498c0 100644 --- a/modules/stream_filter/record.c +++ b/modules/stream_filter/record.c @@ -195,7 +195,7 @@ static int Start( stream_t *s, const char *psz_extension ) } /* signal new record file */ - var_SetString( s->obj.libvlc, "record-file", psz_file ); + var_SetString( vlc_object_instance(s), "record-file", psz_file ); msg_Dbg( s, "Recording into %s", psz_file ); free( psz_file ); diff --git a/modules/stream_out/bridge.c b/modules/stream_out/bridge.c index 3699c5d41b..003c036f5d 100644 --- a/modules/stream_out/bridge.c +++ b/modules/stream_out/bridge.c @@ -236,6 +236,7 @@ static void CloseOut( vlc_object_t * p_this ) static void *AddOut( sout_stream_t *p_stream, const es_format_t *p_fmt ) { + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_stream)); out_sout_stream_sys_t *p_sys = (out_sout_stream_sys_t *)p_stream->p_sys; bridge_t *p_bridge; bridged_es_t *p_es; @@ -250,13 +251,13 @@ static void *AddOut( sout_stream_t *p_stream, const es_format_t *p_fmt ) vlc_mutex_lock( &lock ); - p_bridge = var_GetAddress( p_stream->obj.libvlc, p_sys->psz_name ); + p_bridge = var_GetAddress( vlc, p_sys->psz_name ); if ( p_bridge == NULL ) { p_bridge = xmalloc( sizeof( bridge_t ) ); - var_Create( p_stream->obj.libvlc, p_sys->psz_name, VLC_VAR_ADDRESS ); - var_SetAddress( p_stream->obj.libvlc, p_sys->psz_name, p_bridge ); + var_Create( vlc, p_sys->psz_name, VLC_VAR_ADDRESS ); + var_SetAddress( vlc, p_sys->psz_name, p_bridge ); p_bridge->i_es_num = 0; p_bridge->pp_es = NULL; @@ -502,6 +503,7 @@ static void DelIn( sout_stream_t *p_stream, void *_id ) static int SendIn( sout_stream_t *p_stream, void *_id, block_t *p_buffer ) { + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_stream)); in_sout_stream_sys_t *p_sys = (in_sout_stream_sys_t *)p_stream->p_sys; sout_stream_id_sys_t *id = (sout_stream_id_sys_t *)_id; bridge_t *p_bridge; @@ -516,7 +518,7 @@ static int SendIn( sout_stream_t *p_stream, void *_id, block_t *p_buffer ) /* Then check all bridged streams */ vlc_mutex_lock( &lock ); - p_bridge = var_GetAddress( p_stream->obj.libvlc, p_sys->psz_name ); + p_bridge = var_GetAddress( vlc, p_sys->psz_name ); if( p_bridge ) { @@ -658,7 +660,7 @@ static int SendIn( sout_stream_t *p_stream, void *_id, block_t *p_buffer ) free( p_bridge->pp_es[i] ); free( p_bridge->pp_es ); free( p_bridge ); - var_Destroy( p_stream->obj.libvlc, p_sys->psz_name ); + var_Destroy( vlc, p_sys->psz_name ); } } diff --git a/modules/stream_out/mosaic_bridge.c b/modules/stream_out/mosaic_bridge.c index 9608422748..707c9ad49c 100644 --- a/modules/stream_out/mosaic_bridge.c +++ b/modules/stream_out/mosaic_bridge.c @@ -329,7 +329,7 @@ static void *Add( sout_stream_t *p_stream, const es_format_t *p_fmt ) p_bridge = GetBridge( p_stream ); if ( p_bridge == NULL ) { - vlc_object_t *p_libvlc = VLC_OBJECT( p_stream->obj.libvlc ); + vlc_object_t *p_libvlc = VLC_OBJECT( vlc_object_instance(p_stream) ); vlc_value_t val; p_bridge = xmalloc( sizeof( bridge_t ) ); @@ -459,7 +459,7 @@ static void Del( sout_stream_t *p_stream, void *id ) if ( b_last_es ) { - vlc_object_t *p_libvlc = VLC_OBJECT( p_stream->obj.libvlc ); + vlc_object_t *p_libvlc = VLC_OBJECT( vlc_object_instance(p_stream) ); for ( i = 0; i < p_bridge->i_es_num; i++ ) free( p_bridge->pp_es[i] ); free( p_bridge->pp_es ); diff --git a/modules/stream_out/record.c b/modules/stream_out/record.c index 50c7b2986e..219775ade3 100644 --- a/modules/stream_out/record.c +++ b/modules/stream_out/record.c @@ -356,7 +356,7 @@ static int OutputNew( sout_stream_t *p_stream, } if( psz_file && psz_extension ) - var_SetString( p_stream->obj.libvlc, "record-file", psz_file ); + var_SetString( vlc_object_instance(p_stream), "record-file", psz_file ); free( psz_file ); free( psz_output ); diff --git a/modules/video_filter/opencv_example.cpp b/modules/video_filter/opencv_example.cpp index 1d787858cc..1334cd4c36 100644 --- a/modules/video_filter/opencv_example.cpp +++ b/modules/video_filter/opencv_example.cpp @@ -112,11 +112,11 @@ static int OpenFilter( vlc_object_t *p_this ) //create the VIDEO_FILTER_EVENT_VARIABLE vlc_value_t val; - if (var_Create( p_filter->obj.libvlc, VIDEO_FILTER_EVENT_VARIABLE, VLC_VAR_ADDRESS | VLC_VAR_DOINHERIT ) != VLC_SUCCESS) + if (var_Create( vlc_object_instance(p_filter), VIDEO_FILTER_EVENT_VARIABLE, VLC_VAR_ADDRESS | VLC_VAR_DOINHERIT ) != VLC_SUCCESS) msg_Err( p_filter, "Could not create %s", VIDEO_FILTER_EVENT_VARIABLE); val.p_address = &(p_sys->event_info); - if (var_Set( p_filter->obj.libvlc, VIDEO_FILTER_EVENT_VARIABLE, val )!=VLC_SUCCESS) + if (var_Set( vlc_object_instance(p_filter), VIDEO_FILTER_EVENT_VARIABLE, val )!=VLC_SUCCESS) msg_Err( p_filter, "Could not set %s", VIDEO_FILTER_EVENT_VARIABLE); //OpenCV init specific to this example @@ -145,7 +145,7 @@ static void CloseFilter( vlc_object_t *p_this ) free( p_sys->event_info.p_region ); free( p_sys ); - var_Destroy( p_filter->obj.libvlc, VIDEO_FILTER_EVENT_VARIABLE); + var_Destroy( vlc_object_instance(p_filter), VIDEO_FILTER_EVENT_VARIABLE); } /**************************************************************************** @@ -210,7 +210,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic ) } if (faces && (faces->total > 0)) //raise the video filter event - var_TriggerCallback( p_filter->obj.libvlc, VIDEO_FILTER_EVENT_VARIABLE ); + var_TriggerCallback( vlc_object_instance(p_filter), VIDEO_FILTER_EVENT_VARIABLE ); } else msg_Err( p_filter, "No cascade - is opencv-haarcascade-file valid?" ); diff --git a/modules/video_output/decklink.cpp b/modules/video_output/decklink.cpp index e212152a61..2d001868d8 100644 --- a/modules/video_output/decklink.cpp +++ b/modules/video_output/decklink.cpp @@ -289,7 +289,7 @@ static vlc_mutex_t sys_lock = VLC_STATIC_MUTEX; static decklink_sys_t *HoldDLSys(vlc_object_t *obj, int i_cat) { - vlc_object_t *libvlc = VLC_OBJECT(obj->obj.libvlc); + vlc_object_t *libvlc = VLC_OBJECT(vlc_object_instance(obj)); decklink_sys_t *sys; vlc_mutex_lock(&sys_lock); @@ -335,7 +335,7 @@ static decklink_sys_t *HoldDLSys(vlc_object_t *obj, int i_cat) static void ReleaseDLSys(vlc_object_t *obj, int i_cat) { - vlc_object_t *libvlc = VLC_OBJECT(obj->obj.libvlc); + vlc_object_t *libvlc = VLC_OBJECT(vlc_object_instance(obj)); vlc_mutex_lock(&sys_lock); diff --git a/modules/video_output/win32/win32touch.c b/modules/video_output/win32/win32touch.c index ece54d5708..809c1d4011 100644 --- a/modules/video_output/win32/win32touch.c +++ b/modules/video_output/win32/win32touch.c @@ -98,7 +98,7 @@ static BOOL DecodeGestureAction( vlc_object_t *p_this, win32_gesture_sys_t *p_ge else action_id = ACTIONID_JUMP_FORWARD_SHORT; } - var_SetInteger( p_this->obj.libvlc, "key-action", action_id ); + var_SetInteger( vlc_object_instance(p_this), "key-action", action_id ); } /* Reset the values */ p_gesture->i_action = GESTURE_ACTION_UNDEFINED; @@ -137,9 +137,9 @@ static BOOL DecodeGestureAction( vlc_object_t *p_this, win32_gesture_sys_t *p_ge int offset = p_gesture->i_lasty - p_gi->ptsLocation.y; if( offset > 100) - var_SetInteger( p_this->obj.libvlc, "key-action", ACTIONID_VOL_UP ); + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_VOL_UP ); else if( offset < -100) - var_SetInteger( p_this->obj.libvlc, "key-action", ACTIONID_VOL_DOWN ); + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_VOL_DOWN ); else break; @@ -153,19 +153,19 @@ static BOOL DecodeGestureAction( vlc_object_t *p_this, win32_gesture_sys_t *p_ge if( p_gesture->i_lasty - p_gesture->i_beginy > 80 ) { - var_SetInteger( p_this->obj.libvlc, "key-action", ACTIONID_BRIGHTNESS_DOWN ); + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_BRIGHTNESS_DOWN ); p_gesture->i_lasty = p_gi->ptsLocation.y; } else if ( p_gesture->i_lasty - p_gesture->i_beginy < 80 ) { - var_SetInteger( p_this->obj.libvlc, "key-action", ACTIONID_BRIGHTNESS_UP ); + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_BRIGHTNESS_UP ); p_gesture->i_lasty = p_gi->ptsLocation.y; } */ } break; case GID_TWOFINGERTAP: p_gesture->i_type = GID_TWOFINGERTAP; - var_SetInteger( p_this->obj.libvlc, "key-action", ACTIONID_PLAY_PAUSE ); + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_PLAY_PAUSE ); bHandled = TRUE; break; case GID_ZOOM: @@ -180,10 +180,10 @@ static BOOL DecodeGestureAction( vlc_object_t *p_this, win32_gesture_sys_t *p_ge double k = (double)(p_gi->ullArguments) / (double)(p_gesture->i_ullArguments); if( k > 1 ) - var_SetInteger( p_this->obj.libvlc, "key-action", + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_TOGGLE_FULLSCREEN ); else - var_SetInteger( p_this->obj.libvlc, "key-action", + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_LEAVE_FULLSCREEN ); } break; @@ -227,7 +227,7 @@ static BOOL DecodeGestureProjection( vlc_object_t *p_this, win32_gesture_sys_t * action_id = ACTIONID_JUMP_BACKWARD_SHORT; else action_id = ACTIONID_JUMP_FORWARD_SHORT; - var_SetInteger( p_this->obj.libvlc, "key-action", action_id ); + var_SetInteger( vlc_object_instance(p_this), "key-action", action_id ); } } /* Reset the values */ @@ -265,9 +265,9 @@ static BOOL DecodeGestureProjection( vlc_object_t *p_this, win32_gesture_sys_t * int offset = p_gesture->i_lasty - p_gi->ptsLocation.y; if( offset > 100) - var_SetInteger( p_this->obj.libvlc, "key-action", ACTIONID_VOL_UP ); + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_VOL_UP ); else if( offset < -100) - var_SetInteger( p_this->obj.libvlc, "key-action", ACTIONID_VOL_DOWN ); + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_VOL_DOWN ); else break; @@ -276,7 +276,7 @@ static BOOL DecodeGestureProjection( vlc_object_t *p_this, win32_gesture_sys_t * break; case GID_TWOFINGERTAP: p_gesture->i_type = GID_TWOFINGERTAP; - var_SetInteger( p_this->obj.libvlc, "key-action", ACTIONID_PLAY_PAUSE ); + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_PLAY_PAUSE ); bHandled = TRUE; break; case GID_ZOOM: @@ -295,12 +295,12 @@ static BOOL DecodeGestureProjection( vlc_object_t *p_this, win32_gesture_sys_t * if (k > p_gesture->f_lastzoom * 1.01) { - var_SetInteger( p_this->obj.libvlc, "key-action", ACTIONID_VIEWPOINT_FOV_IN ); + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_VIEWPOINT_FOV_IN ); p_gesture->f_lastzoom = k; } else if (k < p_gesture->f_lastzoom * 0.99) { - var_SetInteger( p_this->obj.libvlc, "key-action", ACTIONID_VIEWPOINT_FOV_OUT ); + var_SetInteger( vlc_object_instance(p_this), "key-action", ACTIONID_VIEWPOINT_FOV_OUT ); p_gesture->f_lastzoom = k; } break; diff --git a/modules/video_output/xcb/window.c b/modules/video_output/xcb/window.c index 373042453e..231d652050 100644 --- a/modules/video_output/xcb/window.c +++ b/modules/video_output/xcb/window.c @@ -775,16 +775,17 @@ static vlc_mutex_t serializer = VLC_STATIC_MUTEX; /** Acquire a drawable */ static int AcquireDrawable (vlc_object_t *obj, xcb_window_t window) { + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(obj)); xcb_window_t *used; size_t n = 0; - if (var_Create (obj->obj.libvlc, "xid-in-use", VLC_VAR_ADDRESS)) + if (var_Create(vlc, "xid-in-use", VLC_VAR_ADDRESS)) return VLC_ENOMEM; /* Keep a list of busy drawables, so we don't overlap videos if there are * more than one video track in the stream. */ vlc_mutex_lock (&serializer); - used = var_GetAddress (obj->obj.libvlc, "xid-in-use"); + used = var_GetAddress(vlc, "xid-in-use"); if (used != NULL) { while (used[n]) @@ -800,7 +801,7 @@ static int AcquireDrawable (vlc_object_t *obj, xcb_window_t window) { used[n] = window; used[n + 1] = 0; - var_SetAddress (obj->obj.libvlc, "xid-in-use", used); + var_SetAddress(vlc, "xid-in-use", used); } else { @@ -816,11 +817,12 @@ skip: /** Remove this drawable from the list of busy ones */ static void ReleaseDrawable (vlc_object_t *obj, xcb_window_t window) { + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(obj)); xcb_window_t *used; size_t n = 0; vlc_mutex_lock (&serializer); - used = var_GetAddress (obj->obj.libvlc, "xid-in-use"); + used = var_GetAddress(vlc, "xid-in-use"); assert (used); while (used[n] != window) { @@ -832,7 +834,7 @@ static void ReleaseDrawable (vlc_object_t *obj, xcb_window_t window) while (used[++n]); if (!used[0]) - var_SetAddress (obj->obj.libvlc, "xid-in-use", NULL); + var_SetAddress(vlc, "xid-in-use", NULL); else used = NULL; @@ -841,7 +843,7 @@ static void ReleaseDrawable (vlc_object_t *obj, xcb_window_t window) free( used ); /* Variables are reference-counted... */ - var_Destroy (obj->obj.libvlc, "xid-in-use"); + var_Destroy(vlc, "xid-in-use"); } static void EmClose(vout_window_t *); diff --git a/src/input/player.c b/src/input/player.c index 63265a7535..a309a6ab5f 100644 --- a/src/input/player.c +++ b/src/input/player.c @@ -966,7 +966,7 @@ vlc_player_input_HandleState(struct vlc_player_input *input, if (player->input && player->started) vlc_player_input_Start(player->input); else - libvlc_Quit(player->obj.libvlc); + libvlc_Quit(vlc_object_instance(player)); break; case VLC_PLAYER_MEDIA_STOPPED_CONTINUE: if (player->input && player->started) diff --git a/src/input/vlm.c b/src/input/vlm.c index e7a1aa9a9a..745691de6d 100644 --- a/src/input/vlm.c +++ b/src/input/vlm.c @@ -83,7 +83,7 @@ static int InputEvent( vlc_object_t *p_this, char const *psz_cmd, VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval); input_thread_t *p_input = (input_thread_t *)p_this; - vlm_t *p_vlm = libvlc_priv( p_input->obj.libvlc )->p_vlm; + vlm_t *p_vlm = libvlc_priv( vlc_object_instance(p_input) )->p_vlm; assert( p_vlm ); vlm_media_sys_t *p_media = p_data; const char *psz_instance_name = NULL; @@ -134,8 +134,7 @@ vlm_t *vlm_New( libvlc_int_t *libvlc, const char *psz_vlmconf ) msg_Dbg( p_this, "creating VLM" ); - p_vlm = vlc_custom_create( p_this->obj.libvlc, sizeof( *p_vlm ), - "vlm daemon" ); + p_vlm = vlc_custom_create( p_this, sizeof( *p_vlm ), "vlm daemon" ); if( !p_vlm ) { vlc_mutex_unlock( &vlm_mutex ); @@ -198,7 +197,7 @@ void vlm_Delete( vlm_t *p_vlm ) vlc_mutex_lock( &vlm_mutex ); assert( p_vlm->users > 0 ); if( --p_vlm->users == 0 ) - assert( libvlc_priv(p_vlm->obj.libvlc)->p_vlm == p_vlm ); + assert( libvlc_priv(vlc_object_instance(p_vlm))->p_vlm == p_vlm ); else p_vlm = NULL; @@ -225,7 +224,7 @@ void vlm_Delete( vlm_t *p_vlm ) vlc_object_release( p_vlm->p_vod ); } - libvlc_priv(p_vlm->obj.libvlc)->p_vlm = NULL; + libvlc_priv(vlc_object_instance(p_vlm))->p_vlm = NULL; vlc_mutex_unlock( &vlm_mutex ); vlc_join( p_vlm->thread, NULL ); diff --git a/src/interface/dialog.c b/src/interface/dialog.c index 459c41602b..44e215686b 100644 --- a/src/interface/dialog.c +++ b/src/interface/dialog.c @@ -126,7 +126,7 @@ get_dialog_provider(vlc_object_t *p_obj, bool b_check_interact) return NULL; vlc_dialog_provider *p_provider = - libvlc_priv(p_obj->obj.libvlc)->p_dialog_provider; + libvlc_priv(vlc_object_instance(p_obj))->p_dialog_provider; assert(p_provider != NULL); return p_provider; } diff --git a/src/interface/interface.c b/src/interface/interface.c index 15dce8f3c5..d86e1a1c20 100644 --- a/src/interface/interface.c +++ b/src/interface/interface.c @@ -148,7 +148,7 @@ static playlist_t *intf_GetPlaylist(libvlc_int_t *libvlc) vlc_playlist_t * vlc_intf_GetMainPlaylist(intf_thread_t *intf) { - return libvlc_priv(intf->obj.libvlc)->main_playlist; + return libvlc_priv(vlc_object_instance(intf))->main_playlist; } /** diff --git a/src/misc/actions.c b/src/misc/actions.c index 72a4398334..9bf9a23aba 100644 --- a/src/misc/actions.c +++ b/src/misc/actions.c @@ -637,6 +637,6 @@ vlc_actions_get_keycodes(vlc_object_t *p_obj, const char *psz_key_name, const char* const* vlc_actions_get_key_names(vlc_object_t *p_obj) { - vlc_actions_t *as = libvlc_priv(p_obj->obj.libvlc)->actions; + vlc_actions_t *as = libvlc_priv(vlc_object_instance(p_obj))->actions; return as->ppsz_keys; } diff --git a/src/misc/keystore.c b/src/misc/keystore.c index 53edb35c2c..88168373e8 100644 --- a/src/misc/keystore.c +++ b/src/misc/keystore.c @@ -156,7 +156,7 @@ libvlc_InternalKeystoreClean(libvlc_int_t *p_libvlc) static vlc_keystore * get_memory_keystore(vlc_object_t *p_obj) { - return libvlc_priv(p_obj->obj.libvlc)->p_memory_keystore; + return libvlc_priv(vlc_object_instance(p_obj))->p_memory_keystore; } static vlc_keystore_entry * diff --git a/src/misc/medialibrary.c b/src/misc/medialibrary.c index f84940e2c4..200e0b5370 100644 --- a/src/misc/medialibrary.c +++ b/src/misc/medialibrary.c @@ -130,7 +130,7 @@ void libvlc_MlRelease( vlc_medialibrary_t* p_ml ) #undef vlc_ml_instance_get vlc_medialibrary_t* vlc_ml_instance_get( vlc_object_t* p_obj ) { - libvlc_priv_t* p_priv = libvlc_priv( p_obj->obj.libvlc ); + libvlc_priv_t* p_priv = libvlc_priv( vlc_object_instance(p_obj) ); return p_priv->p_media_library; } diff --git a/src/misc/messages.c b/src/misc/messages.c index 311794b295..8effb55c4a 100644 --- a/src/misc/messages.c +++ b/src/misc/messages.c @@ -135,7 +135,7 @@ void vlc_vaLog (vlc_object_t *obj, int type, const char *module, /* Pass message to the callback */ if (obj != NULL) - vlc_vaLogCallback(obj->obj.libvlc, type, &msg, format, args); + vlc_vaLogCallback(vlc_object_instance(obj), type, &msg, format, args); } /** @@ -254,7 +254,7 @@ static void vlc_LogEarlyClose(void *d) { vlc_logger_early_t *sys = d; vlc_logger_t *logger = sys->sink; - libvlc_int_t *vlc = logger->obj.libvlc; + libvlc_int_t *vlc = vlc_object_instance(logger); /* Drain early log messages */ for (vlc_log_early_t *log = sys->head, *next; log != NULL; log = next) diff --git a/src/misc/objects.c b/src/misc/objects.c index bce646a314..f97bbaeb20 100644 --- a/src/misc/objects.c +++ b/src/misc/objects.c @@ -220,7 +220,7 @@ void *vlc_custom_create (vlc_object_t *parent, size_t length, vlc_object_internals_t *papriv = vlc_internals (parent); obj->obj.flags = parent->obj.flags; - obj->obj.libvlc = parent->obj.libvlc; + obj->obj.libvlc = vlc_object_instance(parent); /* Attach the child to its parent (no lock needed) */ obj->obj.parent = vlc_object_hold (parent); diff --git a/src/misc/update.c b/src/misc/update.c index 854ca08d23..f632b8f609 100644 --- a/src/misc/update.c +++ b/src/misc/update.c @@ -110,7 +110,7 @@ update_t *update_New( vlc_object_t *p_this ) vlc_mutex_init( &p_update->lock ); - p_update->p_libvlc = p_this->obj.libvlc; + p_update->p_libvlc = vlc_object_instance(p_this); p_update->release.psz_url = NULL; p_update->release.psz_desc = NULL; @@ -731,7 +731,7 @@ static void* update_DownloadReal( void *obj ) MultiByteToWideChar( CP_UTF8, 0, psz_destfile, -1, psz_wdestfile, MAX_PATH ); answer = (int)ShellExecuteW( NULL, L"open", psz_wdestfile, NULL, NULL, SW_SHOW); if(answer > 32) - libvlc_Quit(p_udt->obj.libvlc); + libvlc_Quit(vlc_object_instance(p_udt)); } #endif end: diff --git a/src/playlist_legacy/item.c b/src/playlist_legacy/item.c index 5fe96f258a..688a497337 100644 --- a/src/playlist_legacy/item.c +++ b/src/playlist_legacy/item.c @@ -749,7 +749,7 @@ static void playlist_Preparse( playlist_t *p_playlist, if( sys->b_preparse && !input_item_IsPreparsed( input ) && (EMPTY_STR(psz_artist) || EMPTY_STR(psz_album)) ) - vlc_MetadataRequest( p_playlist->obj.libvlc, input, 0, + vlc_MetadataRequest( vlc_object_instance(p_playlist), input, 0, &input_preparser_callbacks, p_playlist, -1, p_item ); free( psz_artist ); diff --git a/src/playlist_legacy/thread.c b/src/playlist_legacy/thread.c index 0707acf410..8feb326c2b 100644 --- a/src/playlist_legacy/thread.c +++ b/src/playlist_legacy/thread.c @@ -205,6 +205,7 @@ static void on_input_event(input_thread_t *input, */ static bool PlayItem( playlist_t *p_playlist, playlist_item_t *p_item ) { + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_playlist)); playlist_private_t *p_sys = pl_priv(p_playlist); input_item_t *p_input = p_item->p_input; vlc_renderer_item_t *p_renderer; @@ -224,7 +225,7 @@ static bool PlayItem( playlist_t *p_playlist, playlist_item_t *p_item ) assert( p_sys->p_input == NULL ); PL_UNLOCK; - libvlc_MetadataCancel( p_playlist->obj.libvlc, p_item ); + libvlc_MetadataCancel( vlc, p_item ); input_thread_t *p_input_thread = input_Create( p_playlist, on_input_event, p_playlist, @@ -255,7 +256,7 @@ static bool PlayItem( playlist_t *p_playlist, playlist_item_t *p_item ) if( !b_has_art || strncmp( psz_arturl, "attachment://", 13 ) ) { PL_DEBUG( "requesting art for new input thread" ); - libvlc_ArtRequest( p_playlist->obj.libvlc, p_input, META_REQUEST_OPTION_NONE, NULL, NULL ); + libvlc_ArtRequest( vlc, p_input, META_REQUEST_OPTION_NONE, NULL, NULL ); } free( psz_arturl ); @@ -514,7 +515,7 @@ static void *Thread ( void *data ) if( played && var_InheritBool( p_playlist, "play-and-exit" ) ) { msg_Info( p_playlist, "end of playlist, exiting" ); - libvlc_Quit( p_playlist->obj.libvlc ); + libvlc_Quit( vlc_object_instance(p_playlist) ); } /* Destroy any video display now (XXX: ugly hack) */ diff --git a/src/video_output/vout_intf.c b/src/video_output/vout_intf.c index bb9d335241..260c160ab4 100644 --- a/src/video_output/vout_intf.c +++ b/src/video_output/vout_intf.c @@ -428,7 +428,7 @@ static void VoutSaveSnapshot( vout_thread_t *p_vout ) VoutOsdSnapshot( p_vout, p_picture, psz_filename ); /* signal creation of a new snapshot file */ - var_SetString( p_vout->obj.libvlc, "snapshot-file", psz_filename ); + var_SetString( vlc_object_instance(p_vout), "snapshot-file", psz_filename ); free( psz_filename ); diff --git a/src/video_output/window.c b/src/video_output/window.c index a09aea5f14..1a23dd10ba 100644 --- a/src/video_output/window.c +++ b/src/video_output/window.c @@ -247,7 +247,7 @@ static void vout_display_window_MouseEvent(vout_window_t *window, static void vout_display_window_KeyboardEvent(vout_window_t *window, unsigned key) { - var_SetInteger(window->obj.libvlc, "key-pressed", key); + var_SetInteger(vlc_object_instance(window), "key-pressed", key); } static void vout_display_window_OutputEvent(vout_window_t *window, diff --git a/src/win32/mta_holder.h b/src/win32/mta_holder.h index 1733c5f9a7..08ae78e2ca 100644 --- a/src/win32/mta_holder.h +++ b/src/win32/mta_holder.h @@ -61,8 +61,10 @@ static inline void* MtaMainLoop( void* opaque ) */ static inline bool vlc_mta_acquire( vlc_object_t *p_parent ) { + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_parent)); + vlc_global_lock( VLC_MTA_MUTEX ); - vlc_mta_holder* p_mta = (vlc_mta_holder*)var_CreateGetAddress( p_parent->obj.libvlc, "mta-holder" ); + vlc_mta_holder* p_mta = (vlc_mta_holder*)var_CreateGetAddress( vlc, "mta-holder" ); if ( p_mta == NULL ) { p_mta = (vlc_mta_holder*)malloc( sizeof( *p_mta ) ); @@ -83,7 +85,7 @@ static inline bool vlc_mta_acquire( vlc_object_t *p_parent ) vlc_global_unlock( VLC_MTA_MUTEX ); return false; } - var_SetAddress( p_parent->obj.libvlc, "mta-holder", p_mta ); + var_SetAddress( vlc, "mta-holder", p_mta ); vlc_sem_wait( &p_mta->ready_sem ); } else @@ -99,12 +101,14 @@ static inline bool vlc_mta_acquire( vlc_object_t *p_parent ) */ static inline void vlc_mta_release( vlc_object_t* p_parent ) { + vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(p_parent)); + vlc_global_lock( VLC_MTA_MUTEX ); - vlc_mta_holder *p_mta = (vlc_mta_holder*)var_InheritAddress( p_parent->obj.libvlc, "mta-holder" ); + vlc_mta_holder *p_mta = (vlc_mta_holder*)var_InheritAddress( vlc, "mta-holder" ); assert( p_mta != NULL ); int i_refcount = --p_mta->i_refcount; if ( i_refcount == 0 ) - var_SetAddress( p_parent->obj.libvlc, "mta-holder", NULL ); + var_SetAddress( vlc, "mta-holder", NULL ); vlc_global_unlock( VLC_MTA_MUTEX ); if ( i_refcount == 0 ) { _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
