<html><head></head><body>Squashing is possible but I don't see the point. The number of conflicts in rebasing depends on how many commits are rebased, not how many commits are rebased onto.<br><br>In other words, it's my problem - if somebody else merges a conflicting change in the mean time.<br><br><div class="gmail_quote">Le 21 février 2020 09:08:24 GMT+02:00, Thomas Guillem <thomas@gllm.fr> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">Hello,<br><br>Is it possible to merge 5 and 6? <br><br>Conds and muteces are generally together. And that way we have one conflict to solve instead of two in case of rebasing.<br><br>(On a phone, didn't fully review the other patches)<br><br>On Thu, Feb 20, 2020, at 20:58, Rémi Denis-Courmont wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><hr> include/vlc_cxx_helpers.hpp                       |  4 ----<br> include/vlc_threads.h                             |  7 -------<br> lib/core.c                                        |  1 -<br> lib/event.c                                       |  2 --<br> lib/media.c                                       |  2 --<br> lib/media_list.c                                  |  2 --<br> lib/media_list_player.c                           |  5 -----<br> modules/access/bluray.c                           | 10 +---------<br> modules/access/decklink.cpp                       |  1 -<br> modules/access/dshow/dshow.cpp                    |  1 -<br> modules/access/dtv/bdagraph.cpp                   |  1 -<br> modules/access/dv.c                               |  3 ---<br> modules/access/dvdnav.c                           |  2 --<br> modules/access/http/h2conn.c                      |  2 --<br> modules/access/http/h2output.c                    |  2 --<br> modules/access/mms/mmstu.c                        |  2 --<br> modules/access/rist.c                             |  2 --<br> modules/access/srt.c                              |  4 ----<br> modules/access_output/rist.c                      |  2 --<br> modules/access_output/srt.c                       |  4 ----<br> modules/audio_filter/compressor.c                 |  3 ---<br> modules/audio_filter/equalizer.c                  |  2 --<br> modules/audio_filter/spatializer/spatializer.cpp  |  1 -<br> modules/audio_output/amem.c                       |  1 -<br> modules/audio_output/audiotrack.c                 |  1 -<br> modules/audio_output/audiounit_ios.m              |  2 --<br> modules/audio_output/auhal.c                      |  5 -----<br> modules/audio_output/coreaudio_common.c           | 15 ---------------<br> modules/audio_output/coreaudio_common.h           |  5 +----<br> modules/audio_output/directsound.c                |  3 ---<br> modules/audio_output/kai.c                        |  1 -<br> modules/audio_output/opensles_android.c           |  1 -<br> modules/audio_output/waveout.c                    |  1 -<br> modules/codec/avcodec/video.c                     |  2 --<br> modules/codec/dmo/dmo.c                           |  2 --<br> modules/codec/kate.c                              |  1 -<br> modules/codec/libass.c                            |  1 -<br> modules/codec/omxil/mediacodec.c                  |  1 -<br> modules/codec/omxil/omxil_utils.h                 |  3 +--<br> modules/codec/omxil/utils.c                       |  1 -<br> modules/codec/videotoolbox.c                      |  3 ---<br> modules/codec/zvbi.c                              |  2 --<br> modules/control/dbus/dbus.c                       |  3 ---<br> modules/control/gestures.c                        |  2 --<br> modules/control/globalhotkeys/win32.c             |  3 ---<br> modules/control/rc.c                              |  2 --<br> modules/demux/adaptive/PlaylistManager.cpp        |  3 ---<br> modules/demux/adaptive/Streams.cpp                |  2 --<br> modules/demux/adaptive/encryption/Keyring.cpp     |  1 -<br> modules/demux/adaptive/http/Chunk.cpp             |  1 -<br> modules/demux/adaptive/http/Downloader.cpp        |  1 -<br> .../demux/adaptive/http/HTTPConnectionManager.cpp |  1 -<br> .../adaptive/logic/NearOptimalAdaptationLogic.cpp |  1 -<br> .../adaptive/logic/PredictiveAdaptationLogic.cpp  |  1 -<br> .../adaptive/logic/RateBasedAdaptationLogic.cpp   |  1 -<br> modules/demux/adaptive/plumbing/FakeESOut.cpp     |  1 -<br> modules/demux/mkv/demux.cpp                       |  2 --<br> modules/demux/mkv/events.cpp                      |  1 -<br> modules/demux/mpeg/ts.c                           |  4 ----<br> modules/gui/ncurses.c                             |  1 -<br> modules/gui/qt/medialibrary/mlbasemodel.cpp       |  1 -<br> modules/gui/skins2/commands/async_queue.cpp       |  1 -<br> modules/gui/skins2/commands/cmd_callbacks.hpp     |  1 -<br> modules/hw/d3d11/d3d11_surface.c                  |  1 -<br> modules/hw/mmal/codec.c                           |  2 --<br> modules/hw/mmal/converter.c                       |  2 --<br> modules/hw/mmal/mmal_cma.c                        |  1 -<br> modules/hw/mmal/mmal_picture.c                    |  2 --<br> modules/hw/mmal/vout.c                            |  2 --<br> modules/keystore/memory.c                         |  1 -<br> modules/lua/extension.c                           |  6 ------<br> modules/lua/libs/dialog.c                         |  1 -<br> modules/lua/services_discovery.c                  |  2 --<br> modules/misc/audioscrobbler.c                     |  2 --<br> modules/misc/fingerprinter.c                      |  2 --<br> modules/misc/rtsp.c                               |  2 --<br> modules/misc/securetransport.c                    |  2 --<br> modules/mux/mpeg/ts.c                             |  1 -<br> modules/notify/notify.c                           |  1 -<br> modules/services_discovery/podcast.c              |  2 --<br> modules/spu/audiobargraph_v.c                     |  2 --<br> modules/spu/dynamicoverlay/dynamicoverlay.c       |  1 -<br> modules/spu/logo.c                                |  1 -<br> modules/spu/marq.c                                |  1 -<br> modules/spu/mosaic.c                              |  1 -<br> modules/spu/rss.c                                 |  4 ----<br> modules/spu/subsdelay.c                           |  2 --<br> modules/stream_filter/decomp.c                    |  2 --<br> modules/stream_filter/hds/hds.c                   |  2 --<br> modules/stream_filter/prefetch.c                  |  2 --<br> modules/stream_out/chromecast/cast.cpp            |  1 -<br> modules/stream_out/rtp.c                          | 12 ------------<br> modules/stream_out/rtsp.c                         |  2 --<br> modules/stream_out/sdi/DBMSDIOutput.cpp           |  1 -<br> modules/stream_out/sdi/SDIStream.cpp              |  1 -<br> modules/stream_out/transcode/encoder/encoder.c    |  1 -<br> modules/stream_out/transcode/transcode.c          |  8 +-------<br> modules/video_filter/alphamask.c                  |  1 -<br> modules/video_filter/ball.c                       |  2 --<br> modules/video_filter/bluescreen.c                 |  1 -<br> modules/video_filter/erase.c                      |  1 -<br> modules/video_filter/extract.c                    |  1 -<br> modules/video_filter/gradfun.c                    |  1 -<br> modules/video_filter/gradient.c                   |  1 -<br> modules/video_filter/grain.c                      |  1 -<br> modules/video_filter/hqdn3d.c                     |  2 --<br> modules/video_filter/postproc.c                   |  1 -<br> modules/video_filter/puzzle.c                     |  3 ---<br> modules/video_output/decklink.cpp                 |  1 -<br> modules/video_output/ios.m                        |  1 -<br> modules/video_output/splitter.c                   |  2 --<br> modules/video_output/wayland/xdg-shell.c          |  1 -<br> modules/video_output/win32/events.c               |  1 -<br> modules/video_output/win32/inhibit.c              |  2 --<br> modules/visualization/goom.c                      |  2 --<br> modules/visualization/projectm.cpp                |  2 --<br> modules/visualization/vsxu.cpp                    |  4 ----<br> src/android/thread.c                              |  1 -<br> src/audio_output/output.c                         |  3 ---<br> src/clock/clock.c                                 |  1 -<br> src/clock/input_clock.c                           |  1 -<br> src/input/decoder.c                               |  3 ---<br> src/input/demux_chained.c                         |  2 --<br> src/input/es_out.c                                |  2 --<br> src/input/es_out_timeshift.c                      |  2 --<br> src/input/input.c                                 |  1 -<br> src/input/item.c                                  |  1 -<br> src/input/resource.c                              |  2 --<br> src/input/stats.c                                 |  2 --<br> src/input/thumbnailer.c                           |  1 -<br> src/input/vlm.c                                   |  4 ----<br> src/interface/dialog.c                            |  2 --<br> src/libvlc.c                                      |  5 -----<br> src/libvlc.h                                      |  1 -<br> src/libvlccore.sym                                |  1 -<br> src/media_source/media_source.c                   |  1 -<br> src/media_source/media_tree.c                     |  1 -<br> src/misc/addons.c                                 |  2 --<br> src/misc/background_worker.c                      |  1 -<br> src/misc/events.c                                 |  2 --<br> src/misc/exit.c                                   |  6 ------<br> src/misc/fifo.c                                   |  1 -<br> src/misc/httpcookies.c                            |  1 -<br> src/misc/interrupt.c                              |  1 -<br> src/misc/medialibrary.c                           |  2 --<br> src/misc/messages.c                               |  1 -<br> src/misc/objects.c                                |  1 -<br> src/misc/picture_fifo.c                           |  1 -<br> src/misc/picture_pool.c                           |  1 -<br> src/misc/threads.c                                | 10 ----------<br> src/misc/update.c                                 |  2 --<br> src/network/httpd.c                               |  4 ----<br> src/os2/thread.c                                  |  1 -<br> src/player/player.c                               |  3 ---<br> src/player/timer.c                                |  1 -<br> src/posix/timer.c                                 |  2 --<br> src/preparser/fetcher.c                           |  2 --<br> src/stream_output/stream_output.c                 |  3 ---<br> src/test/timer.c                                  |  2 --<br> src/video_output/control.c                        |  1 -<br> src/video_output/opengl.c                         |  2 --<br> src/video_output/snapshot.c                       |  1 -<br> src/video_output/video_output.c                   |  5 -----<br> src/video_output/vout_subpictures.c               |  5 -----<br> src/video_output/window.c                         |  2 --<br> 165 files changed, 4 insertions(+), 356 deletions(-)<br><br>diff --git a/include/vlc_cxx_helpers.hpp b/include/vlc_cxx_helpers.hpp<br>index 2f256016e5..67175407ac 100644<br>--- a/include/vlc_cxx_helpers.hpp<br>+++ b/include/vlc_cxx_helpers.hpp<br>@@ -281,10 +281,6 @@ public:<br>     {<br>         vlc_mutex_init( &m_mutex );<br>     }<br>-    ~mutex()<br>-    {<br>-        vlc_mutex_destroy( &m_mutex );<br>-    }<br> <br>     mutex( const mutex& ) = delete;<br>     mutex& operator=( const mutex& ) = delete;<br>diff --git a/include/vlc_threads.h b/include/vlc_threads.h<br>index 02060cc775..77d9c416f8 100644<br>--- a/include/vlc_threads.h<br>+++ b/include/vlc_threads.h<br>@@ -344,13 +344,6 @@ VLC_API void vlc_mutex_init(vlc_mutex_t *);<br>  */<br> VLC_API void vlc_mutex_init_recursive(vlc_mutex_t *);<br> <br>-/**<br>- * Deinitializes a mutex.<br>- *<br>- * The mutex must not be locked, otherwise behaviour is undefined.<br>- */<br>-VLC_API void vlc_mutex_destroy(vlc_mutex_t *);<br>-<br> /**<br>  * Acquires a mutex.<br>  *<br>diff --git a/lib/core.c b/lib/core.c<br>index 52549a139d..56b985f597 100644<br>--- a/lib/core.c<br>+++ b/lib/core.c<br>@@ -93,7 +93,6 @@ void libvlc_release( libvlc_instance_t *p_instance )<br> <br>     if( refs == 0 )<br>     {<br>-        vlc_mutex_destroy( lock );<br>         libvlc_Quit( p_instance->p_libvlc_int );<br>         libvlc_InternalCleanup( p_instance->p_libvlc_int );<br>         libvlc_InternalDestroy( p_instance->p_libvlc_int );<br>diff --git a/lib/event.c b/lib/event.c<br>index 28d3d0c232..96a17e1b19 100644<br>--- a/lib/event.c<br>+++ b/lib/event.c<br>@@ -90,8 +90,6 @@ void libvlc_event_manager_init(libvlc_event_manager_t <br>*em, void *obj)<br> <br> void libvlc_event_manager_destroy(libvlc_event_manager_t *em)<br> {<br>-    vlc_mutex_destroy(&em->lock);<br>-<br>     for (size_t i = 0; i < vlc_array_count(&em->listeners); i++)<br>         free(vlc_array_item_at_index(&em->listeners, i));<br> <br>diff --git a/lib/media.c b/lib/media.c<br>index f045c729d2..b2277e58d0 100644<br>--- a/lib/media.c<br>+++ b/lib/media.c<br>@@ -563,8 +563,6 @@ void libvlc_media_release( libvlc_media_t *p_md )<br>     input_item_Release( p_md->p_input_item );<br> <br>     vlc_cond_destroy( &p_md->parsed_cond );<br>-    vlc_mutex_destroy( &p_md->parsed_lock );<br>-    vlc_mutex_destroy( &p_md->subitems_lock );<br> <br>     /* Construct the event */<br>     libvlc_event_t event;<br>diff --git a/lib/media_list.c b/lib/media_list.c<br>index c4584c3a20..e8a8a25881 100644<br>--- a/lib/media_list.c<br>+++ b/lib/media_list.c<br>@@ -202,8 +202,6 @@ void libvlc_media_list_release( libvlc_media_list_t <br>* p_mlist )<br>         libvlc_media_release( p_md );<br>     }<br> <br>-    vlc_mutex_destroy( &p_mlist->object_lock );<br>-    vlc_mutex_destroy( &p_mlist->refcount_lock );<br>     vlc_array_clear( &p_mlist->items );<br> <br>     libvlc_release( p_mlist->p_libvlc_instance );<br>diff --git a/lib/media_list_player.c b/lib/media_list_player.c<br>index 6a96f5aee3..6e02a807d9 100644<br>--- a/lib/media_list_player.c<br>+++ b/lib/media_list_player.c<br>@@ -498,8 +498,6 @@ libvlc_media_list_player_new(libvlc_instance_t * <br>p_instance)<br> error:<br>     libvlc_event_manager_destroy(&p_mlp->event_manager);<br>     vlc_cond_destroy(&p_mlp->seek_pending);<br>-    vlc_mutex_destroy(&p_mlp->mp_callback_lock);<br>-    vlc_mutex_destroy(&p_mlp->object_lock);<br>     free(p_mlp);<br>     return NULL;<br> }<br>@@ -544,9 +542,6 @@ void <br>libvlc_media_list_player_release(libvlc_media_list_player_t * p_mlp)<br> <br>     libvlc_event_manager_destroy(&p_mlp->event_manager);<br>     vlc_cond_destroy(&p_mlp->seek_pending);<br>-    vlc_mutex_destroy(&p_mlp->mp_callback_lock);<br>-    vlc_mutex_destroy(&p_mlp->object_lock);<br>-<br>     free(p_mlp->current_playing_item_path);<br>     free(p_mlp);<br> }<br>diff --git a/modules/access/bluray.c b/modules/access/bluray.c<br>index a299878282..90b811e159 100644<br>--- a/modules/access/bluray.c<br>+++ b/modules/access/bluray.c<br>@@ -476,10 +476,8 @@ static void <br>unref_subpicture_updater(bluray_spu_updater_sys_t *p_sys)<br>     p_sys->p_overlay = NULL;<br>     vlc_mutex_unlock(&p_sys->lock);<br> <br>-    if (refs < 1) {<br>-        vlc_mutex_destroy(&p_sys->lock);<br>+    if (refs < 1)<br>         free(p_sys);<br>-    }<br> }<br> <br> /* Get a 3 char code<br>@@ -1131,10 +1129,6 @@ static void blurayClose(vlc_object_t *object)<br> <br>     ARRAY_RESET(p_sys->events_delayed);<br> <br>-    vlc_mutex_destroy(&p_sys->pl_info_lock);<br>-    vlc_mutex_destroy(&p_sys->bdj.lock);<br>-    vlc_mutex_destroy(&p_sys->read_block_lock);<br>-<br>     free(p_sys->psz_bd_path);<br> }<br> <br>@@ -1576,7 +1570,6 @@ static void bluray_esOutDestroy(es_out_t *p_out)<br>     for (size_t i = 0; i < vlc_array_count(&esout_priv->es); ++i)<br>         es_pair_Delete(vlc_array_item_at_index(&esout_priv->es, i));<br>     vlc_array_clear(&esout_priv->es);<br>-    vlc_mutex_destroy(&esout_priv->lock);<br>     free(esout_priv);<br> }<br> <br>@@ -1804,7 +1797,6 @@ static void blurayCloseOverlay(demux_t *p_demux, <br>int plane)<br>         /* no references to this overlay exist in vo anymore */<br>         es_out_Control(p_sys->p_out, <br>BLURAY_ES_OUT_CONTROL_DELETE_OVERLAY, plane);<br> <br>-        vlc_mutex_destroy(&ov->lock);<br>         subpicture_region_ChainDelete(ov->p_regions);<br>         free(ov);<br> <br>diff --git a/modules/access/decklink.cpp b/modules/access/decklink.cpp<br>index d2ba30e111..e24fd128c7 100644<br>--- a/modules/access/decklink.cpp<br>+++ b/modules/access/decklink.cpp<br>@@ -782,7 +782,6 @@ static void Close(vlc_object_t *p_this)<br>     if (sys->delegate)<br>         sys->delegate->Release();<br> <br>-    vlc_mutex_destroy(&sys->pts_lock);<br>     free(sys);<br> }<br> <br>diff --git a/modules/access/dshow/dshow.cpp <br>b/modules/access/dshow/dshow.cpp<br>index f5a6604d6a..d977070d0c 100644<br>--- a/modules/access/dshow/dshow.cpp<br>+++ b/modules/access/dshow/dshow.cpp<br>@@ -816,7 +816,6 @@ static void CommonClose( vlc_object_t *p_this, <br>access_sys_t *p_sys )<br> <br>     vlc_delete_all( p_sys->pp_streams );<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>     vlc_cond_destroy( &p_sys->wait );<br> <br>     vlc_mta_release( p_this );<br>diff --git a/modules/access/dtv/bdagraph.cpp b/modules/access/dtv/bdagraph.cpp<br>index 77d42ee56c..62a6133099 100644<br>--- a/modules/access/dtv/bdagraph.cpp<br>+++ b/modules/access/dtv/bdagraph.cpp<br>@@ -321,7 +321,6 @@ BDAOutput::BDAOutput( vlc_object_t *p_access ) :<br> BDAOutput::~BDAOutput()<br> {<br>     Empty();<br>-    vlc_mutex_destroy( &lock );<br>     vlc_cond_destroy( &wait );<br> }<br> <br>diff --git a/modules/access/dv.c b/modules/access/dv.c<br>index 14d538f3c1..8a8baa104d 100644<br>--- a/modules/access/dv.c<br>+++ b/modules/access/dv.c<br>@@ -238,7 +238,6 @@ static void Close( vlc_object_t *p_this )<br>             raw1394_iso_shutdown( p_sys->p_raw1394 );<br> <br>         vlc_join( p_sys->p_ev->thread, NULL );<br>-        vlc_mutex_destroy( &p_sys->p_ev->lock );<br> <br>         /* Cleanup frame data */<br>         if( p_sys->p_ev->p_frame )<br>@@ -256,8 +255,6 @@ static void Close( vlc_object_t *p_this )<br>         raw1394_destroy_handle( p_sys->p_raw1394 );<br> <br>     AVCClose( p_access );<br>-<br>-    vlc_mutex_destroy( &p_sys->lock );<br> }<br> <br> /*****************************************************************************<br>diff --git a/modules/access/dvdnav.c b/modules/access/dvdnav.c<br>index fb1b1aef63..3b18266ac8 100644<br>--- a/modules/access/dvdnav.c<br>+++ b/modules/access/dvdnav.c<br>@@ -487,8 +487,6 @@ static void Close( vlc_object_t *p_this )<br>     /* Stop still image handler */<br>     if( p_sys->still.b_created )<br>         vlc_timer_destroy( p_sys->still.timer );<br>-    vlc_mutex_destroy( &p_sys->still.lock );<br>-    vlc_mutex_destroy( &p_sys->event_lock );<br> <br>     for( int i = 0; i < PS_TK_COUNT; i++ )<br>     {<br>diff --git a/modules/access/http/h2conn.c b/modules/access/http/h2conn.c<br>index e2c9de6e86..20c7e5b0e4 100644<br>--- a/modules/access/http/h2conn.c<br>+++ b/modules/access/http/h2conn.c<br>@@ -740,7 +740,6 @@ static void vlc_h2_conn_destroy(struct vlc_h2_conn *conn)<br> <br>     vlc_cancel(conn->thread);<br>     vlc_join(conn->thread, NULL);<br>-    vlc_mutex_destroy(&conn->lock);<br> <br>     vlc_h2_output_destroy(conn->out);<br>     vlc_tls_Shutdown(conn->conn.tls, true);<br>@@ -796,7 +795,6 @@ struct vlc_http_conn *vlc_h2_conn_create(void *ctx, <br>struct vlc_tls *tls)<br>      || vlc_clone(&conn->thread, vlc_h2_recv_thread, conn,<br>                   VLC_THREAD_PRIORITY_INPUT))<br>     {<br>-        vlc_mutex_destroy(&conn->lock);<br>         vlc_h2_output_destroy(conn->out);<br>         goto error;<br>     }<br>diff --git a/modules/access/http/h2output.c <br>b/modules/access/http/h2output.c<br>index bfb41208ca..1d038ecc2d 100644<br>--- a/modules/access/http/h2output.c<br>+++ b/modules/access/http/h2output.c<br>@@ -323,7 +323,6 @@ struct vlc_h2_output *vlc_h2_output_create(struct <br>vlc_tls *tls, bool client)<br>     if (vlc_clone(&out->thread, cb, out, VLC_THREAD_PRIORITY_INPUT))<br>     {<br>         vlc_cond_destroy(&out->wait);<br>-        vlc_mutex_destroy(&out->lock);<br>         free(out);<br>         out = NULL;<br>     }<br>@@ -341,7 +340,6 @@ void vlc_h2_output_destroy(struct vlc_h2_output <br>*out)<br>     vlc_join(out->thread, NULL);<br> <br>     vlc_cond_destroy(&out->wait);<br>-    vlc_mutex_destroy(&out->lock);<br>     /* Flush queues in case the thread was terminated within poll() and some<br>      * packets were still queued. */<br>     vlc_h2_output_flush_unlocked(out);<br>diff --git a/modules/access/mms/mmstu.c b/modules/access/mms/mmstu.c<br>index d96cf22289..4c0c5a62e6 100644<br>--- a/modules/access/mms/mmstu.c<br>+++ b/modules/access/mms/mmstu.c<br>@@ -110,7 +110,6 @@ int  MMSTUOpen( stream_t *p_access )<br>     {<br>         msg_Err( p_access, "invalid server name" );<br>         vlc_UrlClean( &p_sys->url );<br>-        vlc_mutex_destroy( &p_sys->lock_netwrite );<br>         free( p_sys );<br>         return VLC_EGENERIC;<br>     }<br>@@ -147,7 +146,6 @@ int  MMSTUOpen( stream_t *p_access )<br>     {<br>         msg_Err( p_access, "cannot connect to server" );<br>         vlc_UrlClean( &p_sys->url );<br>-        vlc_mutex_destroy( &p_sys->lock_netwrite );<br>         free( p_sys );<br>         return VLC_EGENERIC;<br>     }<br>diff --git a/modules/access/rist.c b/modules/access/rist.c<br>index 0c0d49eae7..be4b0b8058 100644<br>--- a/modules/access/rist.c<br>+++ b/modules/access/rist.c<br>@@ -1035,8 +1035,6 @@ static void Clean( stream_t *p_access )<br>         free(p_sys->flow->buffer);<br>         free(p_sys->flow);<br>     }<br>-<br>-    vlc_mutex_destroy( &p_sys->lock );<br> }<br> <br> static void Close(vlc_object_t *p_this)<br>diff --git a/modules/access/srt.c b/modules/access/srt.c<br>index ac73fbcebf..ab52ba4fcc 100644<br>--- a/modules/access/srt.c<br>+++ b/modules/access/srt.c<br>@@ -390,8 +390,6 @@ static int Open(vlc_object_t *p_this)<br>     return VLC_SUCCESS;<br> <br> failed:<br>-    vlc_mutex_destroy( &p_sys->lock );<br>-<br>     if ( p_sys->sock != -1 ) srt_close( p_sys->sock );<br>     if ( p_sys->i_poll_id != -1 ) srt_epoll_release( p_sys->i_poll_id );<br> <br>@@ -403,8 +401,6 @@ static void Close(vlc_object_t *p_this)<br>     stream_t     *p_stream = (stream_t*)p_this;<br>     stream_sys_t *p_sys = p_stream->p_sys;<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>-<br>     srt_epoll_remove_usock( p_sys->i_poll_id, p_sys->sock );<br>     srt_close( p_sys->sock );<br>     srt_epoll_release( p_sys->i_poll_id );<br>diff --git a/modules/access_output/rist.c b/modules/access_output/rist.c<br>index 3f2f3901bd..ca967016eb 100644<br>--- a/modules/access_output/rist.c<br>+++ b/modules/access_output/rist.c<br>@@ -714,8 +714,6 @@ static void Clean( sout_access_out_t *p_access )<br>         free(p_sys->flow);<br>     }<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>-    vlc_mutex_destroy( &p_sys->fd_lock );<br>     if (p_sys->p_pktbuffer)<br>         block_Release(p_sys->p_pktbuffer);<br> }<br>diff --git a/modules/access_output/srt.c b/modules/access_output/srt.c<br>index da55a30478..0b66f24a8a 100644<br>--- a/modules/access_output/srt.c<br>+++ b/modules/access_output/srt.c<br>@@ -402,8 +402,6 @@ static int Open( vlc_object_t *p_this )<br>     return VLC_SUCCESS;<br> <br> failed:<br>-    vlc_mutex_destroy( &p_sys->lock );<br>-<br>     if ( p_sys->sock != -1 ) srt_close( p_sys->sock );<br>     if ( p_sys->i_poll_id != -1 ) srt_epoll_release( p_sys->i_poll_id );<br> <br>@@ -415,8 +413,6 @@ static void Close( vlc_object_t * p_this )<br>     sout_access_out_t     *p_access = (sout_access_out_t*)p_this;<br>     sout_access_out_sys_t *p_sys = p_access->p_sys;<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>-<br>     srt_epoll_remove_usock( p_sys->i_poll_id, p_sys->sock );<br>     srt_close( p_sys->sock );<br>     srt_epoll_release( p_sys->i_poll_id );<br>diff --git a/modules/audio_filter/compressor.c <br>b/modules/audio_filter/compressor.c<br>index 402cbb5ed1..5aab1ceaac 100644<br>--- a/modules/audio_filter/compressor.c<br>+++ b/modules/audio_filter/compressor.c<br>@@ -282,9 +282,6 @@ static void Close( vlc_object_t *p_this )<br>     var_DelCallback( p_aout, "compressor-knee", KneeCallback, p_sys );<br>     var_DelCallback( p_aout, "compressor-makeup-gain", <br>MakeupGainCallback, p_sys );<br> <br>-    /* Destroy the mutex */<br>-    vlc_mutex_destroy( &p_sys->lock );<br>-<br>     /* Destroy the filter parameter structure */<br>     free( p_sys );<br> }<br>diff --git a/modules/audio_filter/equalizer.c b/modules/audio_filter/equalizer.c<br>index c63547f569..92ccaf85b2 100644<br>--- a/modules/audio_filter/equalizer.c<br>+++ b/modules/audio_filter/equalizer.c<br>@@ -157,7 +157,6 @@ static int Open( vlc_object_t *p_this )<br>     vlc_mutex_init( &p_sys->lock );<br>     if( EqzInit( p_filter, p_filter->fmt_in.audio.i_rate ) != VLC_SUCCESS )<br>     {<br>-        vlc_mutex_destroy( &p_sys->lock );<br>         free( p_sys );<br>         return VLC_EGENERIC;<br>     }<br>@@ -179,7 +178,6 @@ static void Close( vlc_object_t *p_this )<br>     filter_sys_t *p_sys = p_filter->p_sys;<br> <br>     EqzClean( p_filter );<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys );<br> }<br> <br>diff --git a/modules/audio_filter/spatializer/spatializer.cpp <br>b/modules/audio_filter/spatializer/spatializer.cpp<br>index eccde1331e..4f9c19b133 100644<br>--- a/modules/audio_filter/spatializer/spatializer.cpp<br>+++ b/modules/audio_filter/spatializer/spatializer.cpp<br>@@ -192,7 +192,6 @@ static void Close( vlc_object_t *p_this )<br>     }<br> <br>     delete p_sys->p_reverbm;<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys );<br>     msg_Dbg( p_this, "Closing filter spatializer" );<br> }<br>diff --git a/modules/audio_output/amem.c b/modules/audio_output/amem.c<br>index f8f7627ef3..176d2237c6 100644<br>--- a/modules/audio_output/amem.c<br>+++ b/modules/audio_output/amem.c<br>@@ -394,6 +394,5 @@ static void Close (vlc_object_t *obj)<br>     audio_output_t *aout = (audio_output_t *)obj;<br>     aout_sys_t *sys = aout->sys;<br> <br>-    vlc_mutex_destroy(&sys->lock);<br>     free (sys);<br> }<br>diff --git a/modules/audio_output/audiotrack.c <br>b/modules/audio_output/audiotrack.c<br>index 3fcd79c7a5..683e16a9d7 100644<br>--- a/modules/audio_output/audiotrack.c<br>+++ b/modules/audio_output/audiotrack.c<br>@@ -2246,7 +2246,6 @@ Close( vlc_object_t *obj )<br>     audio_output_t *p_aout = (audio_output_t *) obj;<br>     aout_sys_t *p_sys = p_aout->sys;<br> <br>-    vlc_mutex_destroy(&p_sys->lock);<br>     vlc_cond_destroy(&p_sys->aout_cond);<br>     vlc_cond_destroy(&p_sys->thread_cond);<br>     free( p_sys );<br>diff --git a/modules/audio_output/audiounit_ios.m <br>b/modules/audio_output/audiounit_ios.m<br>index 072de41534..e0547b514f 100644<br>--- a/modules/audio_output/audiounit_ios.m<br>+++ b/modules/audio_output/audiounit_ios.m<br>@@ -611,7 +611,6 @@ Close(vlc_object_t *obj)<br> <br>     [sys->aoutWrapper release];<br> <br>-    ca_Close(aout);<br>     free(sys);<br> }<br> <br>@@ -636,7 +635,6 @@ Open(vlc_object_t *obj)<br>     sys->aoutWrapper = [[AoutWrapper alloc] initWithAout:aout];<br>     if (sys->aoutWrapper == NULL)<br>     {<br>-        ca_Close(aout);<br>         free(sys);<br>         return VLC_ENOMEM;<br>     }<br>diff --git a/modules/audio_output/auhal.c b/modules/audio_output/auhal.c<br>index 6c96d802fc..434de23c21 100644<br>--- a/modules/audio_output/auhal.c<br>+++ b/modules/audio_output/auhal.c<br>@@ -878,7 +878,6 @@ out:<br>     if (ret != VLC_SUCCESS)<br>         retValue = false;<br> <br>-    vlc_mutex_destroy(&w.lock);<br>     vlc_cond_destroy(&w.cond);<br> <br>     return retValue;<br>@@ -1689,10 +1688,6 @@ static void Close(vlc_object_t *obj)<br>     config_PutPsz("auhal-audio-device", psz_device);<br>     free(psz_device);<br> <br>-    vlc_mutex_destroy(&p_sys->selected_device_lock);<br>-    vlc_mutex_destroy(&p_sys->device_list_lock);<br>-<br>-    ca_Close(p_aout);<br>     free(p_sys);<br> }<br> <br>diff --git a/modules/audio_output/coreaudio_common.c <br>b/modules/audio_output/coreaudio_common.c<br>index f38490ea1d..900616a8aa 100644<br>--- a/modules/audio_output/coreaudio_common.c<br>+++ b/modules/audio_output/coreaudio_common.c<br>@@ -82,13 +82,6 @@ lock_init(struct aout_sys_common *p_sys)<br>         vlc_mutex_init(&p_sys->lock.mutex);<br> }<br> <br>-static inline void<br>-lock_destroy(struct aout_sys_common *p_sys)<br>-{<br>-    if (unlikely(!os_unfair_lock_lock))<br>-        vlc_mutex_destroy(&p_sys->lock.mutex);<br>-}<br>-<br> static inline void<br> lock_lock(struct aout_sys_common *p_sys)<br> {<br>@@ -129,14 +122,6 @@ ca_Open(audio_output_t *p_aout)<br>     return VLC_SUCCESS;<br> }<br> <br>-void<br>-ca_Close(audio_output_t *p_aout)<br>-{<br>-    struct aout_sys_common *p_sys = (struct aout_sys_common *) <br>p_aout->sys;<br>-<br>-    lock_destroy(p_sys);<br>-}<br>-<br> /* Called from render callbacks. No lock, wait, and IO here */<br> void<br> ca_Render(audio_output_t *p_aout, uint32_t i_frames, uint64_t <br>i_host_time,<br>diff --git a/modules/audio_output/coreaudio_common.h <br>b/modules/audio_output/coreaudio_common.h<br>index d6949b403c..49f6779234 100644<br>--- a/modules/audio_output/coreaudio_common.h<br>+++ b/modules/audio_output/coreaudio_common.h<br>@@ -47,8 +47,7 @@<br> <br> struct aout_sys_common<br> {<br>-    /* The following is owned by common.c (initialized from ca_Open, cleaned<br>-     * from ca_Close) */<br>+    /* The following is owned by common.c (initialized from ca_Open) */<br> <br>     mach_timebase_info_data_t tinfo;<br> <br>@@ -87,8 +86,6 @@ struct aout_sys_common<br> <br> int ca_Open(audio_output_t *p_aout);<br> <br>-void ca_Close(audio_output_t *p_aout);<br>-<br> void ca_Render(audio_output_t *p_aout, uint32_t i_nb_samples, uint64_t <br>i_host_time,<br>                uint8_t *p_output, size_t i_requested);<br> <br>diff --git a/modules/audio_output/directsound.c <br>b/modules/audio_output/directsound.c<br>index f4d7efea6d..9f3ec0463d 100644<br>--- a/modules/audio_output/directsound.c<br>+++ b/modules/audio_output/directsound.c<br>@@ -553,7 +553,6 @@ static HRESULT Stop( aout_stream_sys_t *p_sys )<br>     vlc_cancel( p_sys->eraser_thread );<br>     vlc_join( p_sys->eraser_thread, NULL );<br>     vlc_cond_destroy( &p_sys->cond );<br>-    vlc_mutex_destroy( &p_sys->lock );<br> <br>     if( p_sys->p_notify != NULL )<br>     {<br>@@ -661,7 +660,6 @@ static HRESULT Start( vlc_object_t *obj, <br>aout_stream_sys_t *sys,<br>         }<br>         else<br>         {<br>-            vlc_mutex_destroy(&sys->lock);<br>             vlc_cond_destroy(&sys->cond);<br>             return E_FAIL;<br>         }<br>@@ -808,7 +806,6 @@ static HRESULT Start( vlc_object_t *obj, <br>aout_stream_sys_t *sys,<br> <br> error:<br>     vlc_cond_destroy(&sys->cond);<br>-    vlc_mutex_destroy(&sys->lock);<br> <br>     if( sys->p_notify != NULL )<br>     {<br>diff --git a/modules/audio_output/kai.c b/modules/audio_output/kai.c<br>index dd75e367d8..b565619795 100644<br>--- a/modules/audio_output/kai.c<br>+++ b/modules/audio_output/kai.c<br>@@ -371,7 +371,6 @@ static void DestroyBuffer( audio_output_t *aout )<br>     aout_sys_t     *sys = aout->sys;<br>     audio_buffer_t *buffer = sys->buffer;<br> <br>-    vlc_mutex_destroy( &buffer->mutex );<br>     vlc_cond_destroy( &buffer->cond );<br> <br>     free( buffer->data );<br>diff --git a/modules/audio_output/opensles_android.c <br>b/modules/audio_output/opensles_android.c<br>index b1c2a0d985..424baf2b04 100644<br>--- a/modules/audio_output/opensles_android.c<br>+++ b/modules/audio_output/opensles_android.c<br>@@ -521,7 +521,6 @@ static void Close(vlc_object_t *obj)<br>     Destroy(sys->outputMixObject);<br>     Destroy(sys->engineObject);<br>     dlclose(sys->p_so_handle);<br>-    vlc_mutex_destroy(&sys->lock);<br>     free(sys);<br> }<br> <br>diff --git a/modules/audio_output/waveout.c b/modules/audio_output/waveout.c<br>index 990b1e8b8d..e3c06bb008 100644<br>--- a/modules/audio_output/waveout.c<br>+++ b/modules/audio_output/waveout.c<br>@@ -824,7 +824,6 @@ static void Close(vlc_object_t *obj)<br> <br>     vlc_timer_destroy( sys->volume_poll_timer );<br>     vlc_cond_destroy( &sys->cond );<br>-    vlc_mutex_destroy( &sys->lock );<br> <br>     free(sys);<br> }<br>diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c<br>index 8e35104e8b..b2d5271755 100644<br>--- a/modules/codec/avcodec/video.c<br>+++ b/modules/codec/avcodec/video.c<br>@@ -693,7 +693,6 @@ int InitVideoDec( vlc_object_t *obj )<br>     /* ***** Open the codec ***** */<br>     if( OpenVideoCodec( p_dec ) < 0 )<br>     {<br>-        vlc_mutex_destroy( &p_sys->lock );<br>         free( p_sys );<br>         avcodec_free_context( &p_context );<br>         return VLC_EGENERIC;<br>@@ -1403,7 +1402,6 @@ void EndVideoDec( vlc_object_t *obj )<br>     if( p_sys->p_va )<br>         vlc_va_Delete( p_sys->p_va );<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys );<br> }<br> <br>diff --git a/modules/codec/dmo/dmo.c b/modules/codec/dmo/dmo.c<br>index f129ab9ef1..aef0710417 100644<br>--- a/modules/codec/dmo/dmo.c<br>+++ b/modules/codec/dmo/dmo.c<br>@@ -275,7 +275,6 @@ found:<br> error:<br>     vlc_cond_destroy( &p_sys->wait_input );<br>     vlc_cond_destroy( &p_sys->wait_output );<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys );<br>     return VLC_ENOMEM;<br> }<br>@@ -296,7 +295,6 @@ static void DecoderClose( vlc_object_t *p_this )<br>     vlc_join( p_sys->thread, NULL );<br>     vlc_cond_destroy( &p_sys->wait_input );<br>     vlc_cond_destroy( &p_sys->wait_output );<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys );<br> }<br> <br>diff --git a/modules/codec/kate.c b/modules/codec/kate.c<br>index 77b6b5b7c0..531b812978 100644<br>--- a/modules/codec/kate.c<br>+++ b/modules/codec/kate.c<br>@@ -1308,7 +1308,6 @@ static void DecSysRelease( decoder_sys_t *p_sys )<br>     }<br> <br>     vlc_mutex_unlock( &p_sys->lock );<br>-    vlc_mutex_destroy( &p_sys->lock );<br> <br> #ifdef HAVE_TIGER<br>     if( p_sys->p_tr )<br>diff --git a/modules/codec/libass.c b/modules/codec/libass.c<br>index aff12c942a..dbaa5f5c4c 100644<br>--- a/modules/codec/libass.c<br>+++ b/modules/codec/libass.c<br>@@ -303,7 +303,6 @@ static void DecSysRelease( decoder_sys_t *p_sys )<br>         return;<br>     }<br>     vlc_mutex_unlock( &p_sys->lock );<br>-    vlc_mutex_destroy( &p_sys->lock );<br> <br>     if( p_sys->p_track )<br>         ass_free_track( p_sys->p_track );<br>diff --git a/modules/codec/omxil/mediacodec.c b/modules/codec/omxil/mediacodec.c<br>index be92640be6..ec2536dbe5 100644<br>--- a/modules/codec/omxil/mediacodec.c<br>+++ b/modules/codec/omxil/mediacodec.c<br>@@ -1004,7 +1004,6 @@ static void AbortDecoderLocked(decoder_t *p_dec)<br> <br> static void CleanDecoder(decoder_sys_t *p_sys)<br> {<br>-    vlc_mutex_destroy(&p_sys->lock);<br>     vlc_cond_destroy(&p_sys->cond);<br>     vlc_cond_destroy(&p_sys->dec_cond);<br> <br>diff --git a/modules/codec/omxil/omxil_utils.h <br>b/modules/codec/omxil/omxil_utils.h<br>index c08f280e7b..6617534dff 100644<br>--- a/modules/codec/omxil/omxil_utils.h<br>+++ b/modules/codec/omxil/omxil_utils.h<br>@@ -88,8 +88,7 @@ static inline OMX_TICKS ToOmxTicks(int64_t value)<br>          (p_fifo)->pp_last = &(p_fifo)->p_first; } while(0)<br> <br> #define OMX_FIFO_DESTROY(p_fifo) \<br>-    do { vlc_mutex_destroy( &(p_fifo)->lock ); \<br>-         vlc_cond_destroy (&(p_fifo)->wait); } while(0)<br>+    do { vlc_cond_destroy (&(p_fifo)->wait); } while(0)<br> <br> #define OMX_FIFO_PEEK(p_fifo, p_buffer) \<br>          p_buffer = (p_fifo)->p_first;<br>diff --git a/modules/codec/omxil/utils.c b/modules/codec/omxil/utils.c<br>index ee30252bda..ba3de5cfd1 100644<br>--- a/modules/codec/omxil/utils.c<br>+++ b/modules/codec/omxil/utils.c<br>@@ -50,7 +50,6 @@ void InitOmxEventQueue(OmxEventQueue *queue)<br> <br> void DeinitOmxEventQueue(OmxEventQueue *queue)<br> {<br>-    vlc_mutex_destroy(&queue->mutex);<br>     vlc_cond_destroy(&queue->cond);<br> }<br> <br>diff --git a/modules/codec/videotoolbox.c b/modules/codec/videotoolbox.c<br>index edf39a88a2..5e1bc09a10 100644<br>--- a/modules/codec/videotoolbox.c<br>+++ b/modules/codec/videotoolbox.c<br>@@ -1304,7 +1304,6 @@ static void pic_pacer_Destroy(void *priv)<br> {<br>     struct pic_pacer *pic_pacer = priv;<br> <br>-    vlc_mutex_destroy(&pic_pacer->lock);<br>     vlc_cond_destroy(&pic_pacer->wait);<br> }<br> <br>@@ -1495,8 +1494,6 @@ static void CloseDecoder(vlc_object_t *p_this)<br>     if(p_sys->pf_codec_clean)<br>         p_sys->pf_codec_clean(p_dec);<br> <br>-    vlc_mutex_destroy(&p_sys->lock);<br>-<br>     vlc_video_context_Release(p_sys->vctx);<br> <br>     free(p_sys);<br>diff --git a/modules/codec/zvbi.c b/modules/codec/zvbi.c<br>index 2670df952c..262bb92607 100644<br>--- a/modules/codec/zvbi.c<br>+++ b/modules/codec/zvbi.c<br>@@ -288,8 +288,6 @@ static void Close( vlc_object_t *p_this )<br>     var_DelCallback( p_dec, "vbi-opaque", Opaque, p_sys );<br>     var_DelCallback( p_dec, "vbi-page", RequestPage, p_sys );<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>-<br>     if( p_sys->p_vbi_dec )<br>         vbi_decoder_delete( p_sys->p_vbi_dec );<br>     free( p_sys );<br>diff --git a/modules/control/dbus/dbus.c b/modules/control/dbus/dbus.c<br>index ed386bdbba..dfe3afb181 100644<br>--- a/modules/control/dbus/dbus.c<br>+++ b/modules/control/dbus/dbus.c<br>@@ -346,8 +346,6 @@ playlist_listener_failure:<br>     dbus_connection_unref( p_conn );<br> <br> dbus_connection_failure:<br>-    vlc_mutex_destroy( &p_sys->lock );<br>-<br>     vlc_close( p_sys->p_pipe_fds[1] );<br>     vlc_close( p_sys->p_pipe_fds[0] );<br> <br>@@ -387,7 +385,6 @@ static void Close   ( vlc_object_t *p_this )<br>         callback_info_t* info = vlc_array_item_at_index( &p_sys->events, i );<br>         free( info );<br>     }<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     vlc_array_clear( &p_sys->events );<br>     vlc_array_clear( &p_sys->timeouts );<br>     vlc_array_clear( &p_sys->watches );<br>diff --git a/modules/control/gestures.c b/modules/control/gestures.c<br>index 668be6936a..4497a44521 100644<br>--- a/modules/control/gestures.c<br>+++ b/modules/control/gestures.c<br>@@ -161,7 +161,6 @@ static int Open ( vlc_object_t *p_this )<br> <br> error:<br>     vlc_vector_clear(&p_sys->vout_vector);<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free(p_sys);<br>     return VLC_EGENERIC;<br> }<br>@@ -198,7 +197,6 @@ static void Close ( vlc_object_t *p_this )<br>     vlc_vector_clear(&p_sys->vout_vector);<br> <br>     /* Destroy structure */<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys );<br> }<br> <br>diff --git a/modules/control/globalhotkeys/win32.c <br>b/modules/control/globalhotkeys/win32.c<br>index 2a0e3a2954..39c34f211e 100644<br>--- a/modules/control/globalhotkeys/win32.c<br>+++ b/modules/control/globalhotkeys/win32.c<br>@@ -79,7 +79,6 @@ static int Open( vlc_object_t *p_this )<br> <br>     if( vlc_clone( &p_sys->thread, Thread, p_intf, VLC_THREAD_PRIORITY_LOW ) )<br>     {<br>-        vlc_mutex_destroy( &p_sys->lock );<br>         vlc_cond_destroy( &p_sys->wait );<br>         free( p_sys );<br>         p_intf->p_sys = NULL;<br>@@ -94,7 +93,6 @@ static int Open( vlc_object_t *p_this )<br>     {<br>         vlc_mutex_unlock( &p_sys->lock );<br>         vlc_join( p_sys->thread, NULL );<br>-        vlc_mutex_destroy( &p_sys->lock );<br>         vlc_cond_destroy( &p_sys->wait );<br>         free( p_sys );<br>         p_intf->p_sys = NULL;<br>@@ -121,7 +119,6 @@ static void Close( vlc_object_t *p_this )<br>     vlc_mutex_unlock( &p_sys->lock );<br> <br>     vlc_join( p_sys->thread, NULL );<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     vlc_cond_destroy( &p_sys->wait );<br>     free( p_sys );<br> }<br>diff --git a/modules/control/rc.c b/modules/control/rc.c<br>index cdfa70b08c..8f7161ecd6 100644<br>--- a/modules/control/rc.c<br>+++ b/modules/control/rc.c<br>@@ -1891,7 +1891,6 @@ error:<br>     }<br>     net_ListenClose( pi_socket );<br>     free( psz_unix_path );<br>-    vlc_mutex_destroy( &p_sys->status_lock );<br>     free( p_sys );<br>     return VLC_EGENERIC;<br> }<br>@@ -1923,7 +1922,6 @@ static void Deactivate( vlc_object_t *p_this )<br>         free( p_sys->psz_unix_path );<br>     }<br> #endif<br>-    vlc_mutex_destroy( &p_sys->status_lock );<br>     free( p_sys );<br> }<br> <br>diff --git a/modules/demux/adaptive/PlaylistManager.cpp <br>b/modules/demux/adaptive/PlaylistManager.cpp<br>index a8bce7aca1..c0d3c9a8e1 100644<br>--- a/modules/demux/adaptive/PlaylistManager.cpp<br>+++ b/modules/demux/adaptive/PlaylistManager.cpp<br>@@ -90,10 +90,7 @@ PlaylistManager::~PlaylistManager   ()<br>     delete logic;<br>     delete resources;<br>     vlc_cond_destroy(&waitcond);<br>-    vlc_mutex_destroy(&lock);<br>-    vlc_mutex_destroy(&demux.lock);<br>     vlc_cond_destroy(&demux.cond);<br>-    vlc_mutex_destroy(&cached.lock);<br> }<br> <br> void PlaylistManager::unsetPeriod()<br>diff --git a/modules/demux/adaptive/Streams.cpp <br>b/modules/demux/adaptive/Streams.cpp<br>index c4119da5d8..12c0a3183b 100644<br>--- a/modules/demux/adaptive/Streams.cpp<br>+++ b/modules/demux/adaptive/Streams.cpp<br>@@ -119,8 +119,6 @@ AbstractStream::~AbstractStream()<br>     delete demuxer;<br>     delete demuxersource;<br>     delete fakeesout;<br>-<br>-    vlc_mutex_destroy(&lock);<br> }<br> <br> void AbstractStream::prepareRestart(bool b_discontinuity)<br>diff --git a/modules/demux/adaptive/encryption/Keyring.cpp <br>b/modules/demux/adaptive/encryption/Keyring.cpp<br>index bd34f3c7ed..95613b1a12 100644<br>--- a/modules/demux/adaptive/encryption/Keyring.cpp<br>+++ b/modules/demux/adaptive/encryption/Keyring.cpp<br>@@ -39,7 +39,6 @@ Keyring::Keyring(vlc_object_t *obj_)<br> <br> Keyring::~Keyring()<br> {<br>-    vlc_mutex_destroy(&lock);<br> }<br> <br> KeyringKey Keyring::getKey(SharedResources *resources, const <br>std::string &uri)<br>diff --git a/modules/demux/adaptive/http/Chunk.cpp <br>b/modules/demux/adaptive/http/Chunk.cpp<br>index 3ec89fd4a1..384c640cf1 100644<br>--- a/modules/demux/adaptive/http/Chunk.cpp<br>+++ b/modules/demux/adaptive/http/Chunk.cpp<br>@@ -157,7 +157,6 @@ HTTPChunkSource::~HTTPChunkSource()<br> {<br>     if(connection)<br>         connection->setUsed(false);<br>-    vlc_mutex_destroy(&lock);<br> }<br> <br> bool HTTPChunkSource::init(const std::string &url)<br>diff --git a/modules/demux/adaptive/http/Downloader.cpp <br>b/modules/demux/adaptive/http/Downloader.cpp<br>index 7d0ec6e741..f2f96c4e8c 100644<br>--- a/modules/demux/adaptive/http/Downloader.cpp<br>+++ b/modules/demux/adaptive/http/Downloader.cpp<br>@@ -58,7 +58,6 @@ Downloader::~Downloader()<br> <br>     if(thread_handle_valid)<br>         vlc_join(thread_handle, NULL);<br>-    vlc_mutex_destroy(&lock);<br>     vlc_cond_destroy(&waitcond);<br> }<br> void Downloader::schedule(HTTPChunkBufferedSource *source)<br>diff --git a/modules/demux/adaptive/http/HTTPConnectionManager.cpp <br>b/modules/demux/adaptive/http/HTTPConnectionManager.cpp<br>index 96967afd76..d1c5e556ec 100644<br>--- a/modules/demux/adaptive/http/HTTPConnectionManager.cpp<br>+++ b/modules/demux/adaptive/http/HTTPConnectionManager.cpp<br>@@ -74,7 +74,6 @@ HTTPConnectionManager::~HTTPConnectionManager   ()<br>     delete downloader;<br>     delete factory;<br>     this->closeAllConnections();<br>-    vlc_mutex_destroy(&lock);<br> }<br> <br> void HTTPConnectionManager::closeAllConnections      ()<br>diff --git <br>a/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp <br>b/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp<br>index ff4f7a7821..9afdead977 100644<br>--- a/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp<br>+++ b/modules/demux/adaptive/logic/NearOptimalAdaptationLogic.cpp<br>@@ -60,7 +60,6 @@ <br>NearOptimalAdaptationLogic::NearOptimalAdaptationLogic(vlc_object_t <br>*obj)<br> <br> NearOptimalAdaptationLogic::~NearOptimalAdaptationLogic()<br> {<br>-    vlc_mutex_destroy(&lock);<br> }<br> <br> BaseRepresentation *<br>diff --git a/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp <br>b/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp<br>index c81b40b59c..81f171f372 100644<br>--- a/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp<br>+++ b/modules/demux/adaptive/logic/PredictiveAdaptationLogic.cpp<br>@@ -63,7 +63,6 @@ <br>PredictiveAdaptationLogic::PredictiveAdaptationLogic(vlc_object_t *obj)<br> <br> PredictiveAdaptationLogic::~PredictiveAdaptationLogic()<br> {<br>-    vlc_mutex_destroy(&lock);<br> }<br> <br> BaseRepresentation <br>*PredictiveAdaptationLogic::getNextRepresentation(BaseAdaptationSet <br>*adaptSet, BaseRepresentation *prevRep)<br>diff --git a/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp <br>b/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp<br>index bb7b6e9f73..2885110f83 100644<br>--- a/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp<br>+++ b/modules/demux/adaptive/logic/RateBasedAdaptationLogic.cpp<br>@@ -49,7 +49,6 @@ RateBasedAdaptationLogic::RateBasedAdaptationLogic  <br>(vlc_object_t *obj) :<br> <br> RateBasedAdaptationLogic::~RateBasedAdaptationLogic()<br> {<br>-    vlc_mutex_destroy(&lock);<br> }<br> <br> BaseRepresentation <br>*RateBasedAdaptationLogic::getNextRepresentation(BaseAdaptationSet <br>*adaptSet, BaseRepresentation *currep)<br>diff --git a/modules/demux/adaptive/plumbing/FakeESOut.cpp <br>b/modules/demux/adaptive/plumbing/FakeESOut.cpp<br>index 052191d3e0..fec642e385 100644<br>--- a/modules/demux/adaptive/plumbing/FakeESOut.cpp<br>+++ b/modules/demux/adaptive/plumbing/FakeESOut.cpp<br>@@ -165,7 +165,6 @@ FakeESOut::~FakeESOut()<br>     gc();<br> <br>     delete commandsqueue;<br>-    vlc_mutex_destroy(&lock);<br> }<br> <br> void FakeESOut::resetTimestamps()<br>diff --git a/modules/demux/mkv/demux.cpp b/modules/demux/mkv/demux.cpp<br>index 6fde3aa8c3..99f1cd67d1 100644<br>--- a/modules/demux/mkv/demux.cpp<br>+++ b/modules/demux/mkv/demux.cpp<br>@@ -45,8 +45,6 @@ demux_sys_t::~demux_sys_t()<br> <br>     while( titles.size() )<br>     { vlc_input_title_Delete( titles.back() ); titles.pop_back();}<br>-<br>-    vlc_mutex_destroy( &lock_demuxer );<br> }<br> <br> <br>diff --git a/modules/demux/mkv/events.cpp b/modules/demux/mkv/events.cpp<br>index 93cf963340..0a6d7003a4 100644<br>--- a/modules/demux/mkv/events.cpp<br>+++ b/modules/demux/mkv/events.cpp<br>@@ -43,7 +43,6 @@ event_thread_t::~event_thread_t()<br> {<br>     ResetPci();<br>     vlc_cond_destroy( &wait );<br>-    vlc_mutex_destroy( &lock );<br> }<br> <br> void event_thread_t::SetPci(const pci_t *data)<br>diff --git a/modules/demux/mpeg/ts.c b/modules/demux/mpeg/ts.c<br>index d17012744a..3bd6d0e001 100644<br>--- a/modules/demux/mpeg/ts.c<br>+++ b/modules/demux/mpeg/ts.c<br>@@ -417,14 +417,12 @@ static int Open( vlc_object_t *p_this )<br>     patpid = GetPID(p_sys, 0);<br>     if ( !PIDSetup( p_demux, TYPE_PAT, patpid, NULL ) )<br>     {<br>-        vlc_mutex_destroy( &p_sys->csa_lock );<br>         free( p_sys );<br>         return VLC_ENOMEM;<br>     }<br>     if( !ts_psi_PAT_Attach( patpid, p_demux ) )<br>     {<br>         PIDRelease( p_demux, patpid );<br>-        vlc_mutex_destroy( &p_sys->csa_lock );<br>         free( p_sys );<br>         return VLC_EGENERIC;<br>     }<br>@@ -586,8 +584,6 @@ static void Close( vlc_object_t *p_this )<br>         vlc_stream_Delete( p_sys->arib.b25stream );<br>     }<br> <br>-    vlc_mutex_destroy( &p_sys->csa_lock );<br>-<br>     /* Release all non default pids */<br>     ts_pid_list_Release( p_demux, &p_sys->pids );<br> <br>diff --git a/modules/gui/ncurses.c b/modules/gui/ncurses.c<br>index 8e3156050b..e91ac5927c 100644<br>--- a/modules/gui/ncurses.c<br>+++ b/modules/gui/ncurses.c<br>@@ -1760,7 +1760,6 @@ static void Close(vlc_object_t *p_this)<br>     endwin();   /* Close the ncurses interface */<br> <br>     vlc_LogSet(vlc_object_instance(p_this), NULL, NULL);<br>-    vlc_mutex_destroy(&sys->msg_lock);<br>     for(unsigned i = 0; i < sizeof sys->msgs / sizeof *sys->msgs; i++) <br>{<br>         if (sys->msgs[i].item)<br>             msg_Free(sys->msgs[i].item);<br>diff --git a/modules/gui/qt/medialibrary/mlbasemodel.cpp <br>b/modules/gui/qt/medialibrary/mlbasemodel.cpp<br>index faec9d28a7..3ba327f171 100644<br>--- a/modules/gui/qt/medialibrary/mlbasemodel.cpp<br>+++ b/modules/gui/qt/medialibrary/mlbasemodel.cpp<br>@@ -44,7 +44,6 @@ MLBaseModel::MLBaseModel(QObject *parent)<br> <br> MLBaseModel::~MLBaseModel()<br> {<br>-    vlc_mutex_destroy( &m_item_lock );<br> }<br> <br> void MLBaseModel::sortByColumn(QByteArray name, Qt::SortOrder order)<br>diff --git a/modules/gui/skins2/commands/async_queue.cpp <br>b/modules/gui/skins2/commands/async_queue.cpp<br>index bf601b9bad..fab0741c65 100644<br>--- a/modules/gui/skins2/commands/async_queue.cpp<br>+++ b/modules/gui/skins2/commands/async_queue.cpp<br>@@ -45,7 +45,6 @@ AsyncQueue::AsyncQueue( intf_thread_t *pIntf ): <br>SkinObject( pIntf ),<br> AsyncQueue::~AsyncQueue()<br> {<br>     delete( m_pTimer );<br>-    vlc_mutex_destroy( &m_lock );<br> }<br> <br> <br>diff --git a/modules/gui/skins2/commands/cmd_callbacks.hpp <br>b/modules/gui/skins2/commands/cmd_callbacks.hpp<br>index f9c8d96638..79fb556aa3 100644<br>--- a/modules/gui/skins2/commands/cmd_callbacks.hpp<br>+++ b/modules/gui/skins2/commands/cmd_callbacks.hpp<br>@@ -71,7 +71,6 @@ public:<br>     virtual ~CmdExecuteBlock()<br>     {<br>         vlc_cond_destroy( &m_wait );<br>-        vlc_mutex_destroy( &m_lock );<br>     }<br> <br>     static void executeWait( const CmdGenericPtr& rcCommand  )<br>diff --git a/modules/hw/d3d11/d3d11_surface.c b/modules/hw/d3d11/d3d11_surface.c<br>index 9762ad3fac..6534d309df 100644<br>--- a/modules/hw/d3d11/d3d11_surface.c<br>+++ b/modules/hw/d3d11/d3d11_surface.c<br>@@ -830,7 +830,6 @@ void D3D11CloseConverter( vlc_object_t *obj )<br>     D3D11_ReleaseProcessor( &p_sys->d3d_proc );<br> #endif<br>     CopyCleanCache(&p_sys->cache);<br>-    vlc_mutex_destroy(&p_sys->staging_lock);<br>     if (p_sys->staging)<br>         ID3D11Texture2D_Release(p_sys->staging);<br> }<br>diff --git a/modules/hw/mmal/codec.c b/modules/hw/mmal/codec.c<br>index e334853b2f..a10ac5637a 100644<br>--- a/modules/hw/mmal/codec.c<br>+++ b/modules/hw/mmal/codec.c<br>@@ -586,8 +586,6 @@ static void CloseDecoder(vlc_object_t *p_this)<br> <br>     hw_mmal_port_pool_ref_release(sys->ppr, false);<br> <br>-    vlc_mutex_destroy(&sys->pic_lock);<br>-<br>     if (sys->vctx)<br>         vlc_video_context_Release(sys->vctx);<br> <br>diff --git a/modules/hw/mmal/converter.c b/modules/hw/mmal/converter.c<br>index 1d161c7847..f49f1f0202 100644<br>--- a/modules/hw/mmal/converter.c<br>+++ b/modules/hw/mmal/converter.c<br>@@ -782,8 +782,6 @@ void CloseConverter(vlc_object_t * obj)<br>     if (sys->dec_dev)<br>         vlc_decoder_device_Release(sys->dec_dev);<br> <br>-    vlc_mutex_destroy(&sys->lock);<br>-<br>     p_filter->p_sys = NULL;<br>     free(sys);<br> }<br>diff --git a/modules/hw/mmal/mmal_cma.c b/modules/hw/mmal/mmal_cma.c<br>index 600dc0136c..70567db4f4 100644<br>--- a/modules/hw/mmal/mmal_cma.c<br>+++ b/modules/hw/mmal/mmal_cma.c<br>@@ -98,7 +98,6 @@ static void cma_pool_fixed_delete(cma_pool_fixed_t * const p)<br>     free(p->name);<br> <br>     vlc_cond_destroy(&p->flight_cond);<br>-    vlc_mutex_destroy(&p->lock);<br>     free(p);<br> <br>     // Inform our container that we are dead (if it cares)<br>diff --git a/modules/hw/mmal/mmal_picture.c <br>b/modules/hw/mmal/mmal_picture.c<br>index 6f6a0727f1..915ee063c8 100644<br>--- a/modules/hw/mmal/mmal_picture.c<br>+++ b/modules/hw/mmal/mmal_picture.c<br>@@ -1201,8 +1201,6 @@ static void <br>hw_mmal_vzc_pool_delete(vzc_pool_ctl_t * const pc)<br>     if (pc->buf_pool != NULL)<br>         mmal_pool_destroy(pc->buf_pool);<br> <br>-    vlc_mutex_destroy(&pc->lock);<br>-<br> //    memset(pc, 0xba, sizeof(*pc)); // Zap for (hopefully) faster crash<br>     free (pc);<br> }<br>diff --git a/modules/hw/mmal/vout.c b/modules/hw/mmal/vout.c<br>index 9204626b55..ee48a6a552 100644<br>--- a/modules/hw/mmal/vout.c<br>+++ b/modules/hw/mmal/vout.c<br>@@ -1071,8 +1071,6 @@ static void CloseMmalVout(vout_display_t * vd)<br> <br>     hw_mmal_vzc_pool_release(sys->vzc);<br> <br>-    vlc_mutex_destroy(&sys->manage_mutex);<br>-<br>     if (sys->native_interlaced) {<br>         if (vc_gencmd(response, sizeof(response), "hvs_update_fields 0") < 0 ||<br>                 response[18] != '0')<br>diff --git a/modules/keystore/memory.c b/modules/keystore/memory.c<br>index 527433db9a..7981bc7ffc 100644<br>--- a/modules/keystore/memory.c<br>+++ b/modules/keystore/memory.c<br>@@ -147,7 +147,6 @@ Close(vlc_object_t *p_this)<br>     vlc_keystore_sys *p_sys = p_keystore->p_sys;<br> <br>     ks_list_free(&p_sys->list);<br>-    vlc_mutex_destroy(&p_keystore->p_sys->lock);<br>     free(p_sys);<br> }<br> <br>diff --git a/modules/lua/extension.c b/modules/lua/extension.c<br>index 5ff93d142d..b4ea69ddb9 100644<br>--- a/modules/lua/extension.c<br>+++ b/modules/lua/extension.c<br>@@ -176,8 +176,6 @@ void Close_Extension( vlc_object_t *p_this )<br>         free( p_ext->psz_version );<br>         free( p_ext->p_icondata );<br> <br>-        vlc_mutex_destroy( &p_ext->p_sys->running_lock );<br>-        vlc_mutex_destroy( &p_ext->p_sys->command_lock );<br>         vlc_cond_destroy( &p_ext->p_sys->wait );<br>         vlc_timer_destroy( p_ext->p_sys->timer );<br> <br>@@ -185,8 +183,6 @@ void Close_Extension( vlc_object_t *p_this )<br>         free( p_ext );<br>     }<br> <br>-    vlc_mutex_destroy( &p_mgr->lock );<br>-<br>     ARRAY_RESET( p_mgr->extensions );<br> }<br> <br>@@ -488,8 +484,6 @@ exit:<br>         free( p_ext->psz_description );<br>         free( p_ext->psz_shortdescription );<br>         free( p_ext->psz_version );<br>-        vlc_mutex_destroy( &p_ext->p_sys->command_lock );<br>-        vlc_mutex_destroy( &p_ext->p_sys->running_lock );<br>         vlc_cond_destroy( &p_ext->p_sys->wait );<br>         free( p_ext->p_sys );<br>         free( p_ext );<br>diff --git a/modules/lua/libs/dialog.c b/modules/lua/libs/dialog.c<br>index 927a0a4d9e..8af0409786 100644<br>--- a/modules/lua/libs/dialog.c<br>+++ b/modules/lua/libs/dialog.c<br>@@ -287,7 +287,6 @@ static int vlclua_dialog_delete( lua_State *L )<br>     ARRAY_RESET( p_dlg->widgets );<br> <br>     /* Note: At this point, the UI must not use these resources */<br>-    vlc_mutex_destroy( &p_dlg->lock );<br>     vlc_cond_destroy( &p_dlg->cond );<br>     free( p_dlg );<br> <br>diff --git a/modules/lua/services_discovery.c b/modules/lua/services_discovery.c<br>index 2bbffe203e..8b5aebdade 100644<br>--- a/modules/lua/services_discovery.c<br>+++ b/modules/lua/services_discovery.c<br>@@ -240,7 +240,6 @@ int Open_LuaSD( vlc_object_t *p_this )<br>     {<br>         TAB_CLEAN( p_sys->i_query, p_sys->ppsz_query );<br>         vlc_cond_destroy( &p_sys->cond );<br>-        vlc_mutex_destroy( &p_sys->lock );<br>         goto error;<br>     }<br>     return VLC_SUCCESS;<br>@@ -269,7 +268,6 @@ void Close_LuaSD( vlc_object_t *p_this )<br>     TAB_CLEAN( p_sys->i_query, p_sys->ppsz_query );<br> <br>     vlc_cond_destroy( &p_sys->cond );<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys->psz_filename );<br>     lua_close( p_sys->L );<br>     free( p_sys );<br>diff --git a/modules/misc/audioscrobbler.c b/modules/misc/audioscrobbler.c<br>index f6d38879f6..ce3ca4161f 100644<br>--- a/modules/misc/audioscrobbler.c<br>+++ b/modules/misc/audioscrobbler.c<br>@@ -422,7 +422,6 @@ fail:<br>         if (p_sys->player_listener)<br>         {<br>             vlc_cond_destroy(&p_sys->wait);<br>-            vlc_mutex_destroy(&p_sys->lock);<br>             vlc_player_RemoveListener(player, p_sys->player_listener);<br>         }<br>         vlc_playlist_RemoveListener(playlist, p_sys->playlist_listener);<br>@@ -452,7 +451,6 @@ static void Close(vlc_object_t *p_this)<br>     vlc_UrlClean(&p_sys->p_nowp_url);<br> <br>     vlc_cond_destroy(&p_sys->wait);<br>-    vlc_mutex_destroy(&p_sys->lock);<br> <br>     vlc_playlist_Lock(playlist);<br>     vlc_player_RemoveListener(<br>diff --git a/modules/misc/fingerprinter.c b/modules/misc/fingerprinter.c<br>index 0481afb9ce..ebf28147ee 100644<br>--- a/modules/misc/fingerprinter.c<br>+++ b/modules/misc/fingerprinter.c<br>@@ -298,7 +298,6 @@ static void CleanSys( fingerprinter_sys_t *p_sys )<br>     for ( size_t i = 0; i < vlc_array_count( &p_sys->incoming.queue ); <br>i++ )<br>         fingerprint_request_Delete( vlc_array_item_at_index( <br>&p_sys->incoming.queue, i ) );<br>     vlc_array_clear( &p_sys->incoming.queue );<br>-    vlc_mutex_destroy( &p_sys->incoming.lock );<br> <br>     for ( size_t i = 0; i < vlc_array_count( &p_sys->processing.queue <br>); i++ )<br>         fingerprint_request_Delete( vlc_array_item_at_index( <br>&p_sys->processing.queue, i ) );<br>@@ -308,7 +307,6 @@ static void CleanSys( fingerprinter_sys_t *p_sys )<br>     for ( size_t i = 0; i < vlc_array_count( &p_sys->results.queue ); <br>i++ )<br>         fingerprint_request_Delete( vlc_array_item_at_index( <br>&p_sys->results.queue, i ) );<br>     vlc_array_clear( &p_sys->results.queue );<br>-    vlc_mutex_destroy( &p_sys->results.lock );<br> <br>     vlc_player_Lock(p_sys->player);<br>     vlc_player_RemoveListener(p_sys->player, p_sys->listener_id);<br>diff --git a/modules/misc/rtsp.c b/modules/misc/rtsp.c<br>index d90f754357..9b4a900b50 100644<br>--- a/modules/misc/rtsp.c<br>+++ b/modules/misc/rtsp.c<br>@@ -462,8 +462,6 @@ static void MediaDel( vod_t *p_vod, vod_media_t *p_media )<br>         MediaDelES( p_vod, p_media, &p_media->es[0]->fmt );<br>     TAB_CLEAN( p_media->i_es, p_media->es );<br> <br>-    vlc_mutex_destroy( &p_media->lock );<br>-<br>     free( p_media );<br> }<br> <br>diff --git a/modules/misc/securetransport.c <br>b/modules/misc/securetransport.c<br>index fe24951691..3b14f0399a 100644<br>--- a/modules/misc/securetransport.c<br>+++ b/modules/misc/securetransport.c<br>@@ -619,8 +619,6 @@ static int st_SessionShutdown (vlc_tls_t *session, <br>bool duplex) {<br> <br>     msg_Dbg(sys->obj, "shutdown TLS session");<br> <br>-    vlc_mutex_destroy(&sys->lock);<br>-<br>     OSStatus ret = noErr;<br>     VLC_UNUSED(duplex);<br> <br>diff --git a/modules/mux/mpeg/ts.c b/modules/mux/mpeg/ts.c<br>index dc94d12038..042074263c 100644<br>--- a/modules/mux/mpeg/ts.c<br>+++ b/modules/mux/mpeg/ts.c<br>@@ -769,7 +769,6 @@ static void Close( vlc_object_t * p_this )<br>         var_DelCallback( p_mux, SOUT_CFG_PREFIX "csa2-ck", <br>ChangeKeyCallback, NULL );<br>         var_DelCallback( p_mux, SOUT_CFG_PREFIX "csa-use", <br>ActiveKeyCallback, NULL );<br>         csa_Delete( p_sys->csa );<br>-        vlc_mutex_destroy( &p_sys->csa_lock );<br>     }<br> <br>     for (int i = 0; i < MAX_SDT_DESC; i++ )<br>diff --git a/modules/notify/notify.c b/modules/notify/notify.c<br>index 4f6a7e9b85..64017cc8f8 100644<br>--- a/modules/notify/notify.c<br>+++ b/modules/notify/notify.c<br>@@ -170,7 +170,6 @@ static void Close( vlc_object_t *p_this )<br>         g_object_unref( p_sys->notification );<br>     }<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys );<br>     notify_uninit();<br> }<br>diff --git a/modules/services_discovery/podcast.c <br>b/modules/services_discovery/podcast.c<br>index a29996d59b..e89a757907 100644<br>--- a/modules/services_discovery/podcast.c<br>+++ b/modules/services_discovery/podcast.c<br>@@ -151,7 +151,6 @@ static int Open( vlc_object_t *p_this )<br>         var_DelCallback( pl, "podcast-request", Request, p_sys );<br>         var_DelCallback( pl, "podcast-urls", UrlsChange, p_sys );<br>         vlc_cond_destroy( &p_sys->wait );<br>-        vlc_mutex_destroy( &p_sys->lock );<br>         free (p_sys);<br>         return VLC_EGENERIC;<br>     }<br>@@ -173,7 +172,6 @@ static void Close( vlc_object_t *p_this )<br>     var_DelCallback( pl, "podcast-urls", UrlsChange, p_sys );<br>     var_DelCallback( pl, "podcast-request", Request, p_sys );<br>     vlc_cond_destroy( &p_sys->wait );<br>-    vlc_mutex_destroy( &p_sys->lock );<br> <br>     for( int i = 0; i < p_sys->i_urls; i++ )<br>          free( p_sys->ppsz_urls[i] );<br>diff --git a/modules/spu/audiobargraph_v.c b/modules/spu/audiobargraph_v.c<br>index 06d84d5f8d..de3f9627a6 100644<br>--- a/modules/spu/audiobargraph_v.c<br>+++ b/modules/spu/audiobargraph_v.c<br>@@ -602,8 +602,6 @@ static void Close(vlc_object_t *p_this)<br>     if (p_sys->p_blend)<br>         filter_DeleteBlend(p_sys->p_blend);<br> <br>-    vlc_mutex_destroy(&p_sys->lock);<br>-<br>     if (p_sys->p_BarGraph.p_pic)<br>         picture_Release(p_sys->p_BarGraph.p_pic);<br> <br>diff --git a/modules/spu/dynamicoverlay/dynamicoverlay.c <br>b/modules/spu/dynamicoverlay/dynamicoverlay.c<br>index 0eae0f00ee..b038a2d66a 100644<br>--- a/modules/spu/dynamicoverlay/dynamicoverlay.c<br>+++ b/modules/spu/dynamicoverlay/dynamicoverlay.c<br>@@ -148,7 +148,6 @@ static void Destroy( vlc_object_t *p_this )<br>     var_DelCallback( p_filter, "overlay-input", AdjustCallback, p_sys <br>);<br>     var_DelCallback( p_filter, "overlay-output", AdjustCallback, p_sys <br>);<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys->psz_inputfile );<br>     free( p_sys->psz_outputfile );<br>     free( p_sys );<br>diff --git a/modules/spu/logo.c b/modules/spu/logo.c<br>index f72c841035..fa1ee0307c 100644<br>--- a/modules/spu/logo.c<br>+++ b/modules/spu/logo.c<br>@@ -321,7 +321,6 @@ static void Close( vlc_object_t *p_this )<br>     if( p_sys->p_blend )<br>         filter_DeleteBlend( p_sys->p_blend );<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>     LogoListUnload( &p_sys->list );<br>     free( p_sys );<br> }<br>diff --git a/modules/spu/marq.c b/modules/spu/marq.c<br>index 44060a1993..c370c5322d 100644<br>--- a/modules/spu/marq.c<br>+++ b/modules/spu/marq.c<br>@@ -255,7 +255,6 @@ static void DestroyFilter( vlc_object_t *p_this )<br>     DEL_VAR( "marq-color" );<br>     DEL_VAR( "marq-size" );<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>     text_style_Delete( p_sys->p_style );<br>     free( p_sys->format );<br>     free( p_sys->filepath );<br>diff --git a/modules/spu/mosaic.c b/modules/spu/mosaic.c<br>index e4a876f842..b06ca3fd6f 100644<br>--- a/modules/spu/mosaic.c<br>+++ b/modules/spu/mosaic.c<br>@@ -421,7 +421,6 @@ static void DestroyFilter( vlc_object_t *p_this )<br>         p_sys->i_offsets_length = 0;<br>     }<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys );<br> }<br> <br>diff --git a/modules/spu/rss.c b/modules/spu/rss.c<br>index 2569da02d1..67d3cab920 100644<br>--- a/modules/spu/rss.c<br>+++ b/modules/spu/rss.c<br>@@ -308,10 +308,7 @@ static int CreateFilter( vlc_object_t *p_this )<br> <br>     /* Create and arm the timer */<br>     if( vlc_timer_create( &p_sys->timer, Fetch, p_filter ) )<br>-    {<br>-        vlc_mutex_destroy( &p_sys->lock );<br>         goto error;<br>-    }<br>     vlc_timer_schedule_asap( p_sys->timer, vlc_tick_from_sec(i_ttl) );<br> <br>     free( psz_urls );<br>@@ -334,7 +331,6 @@ static void DestroyFilter( vlc_object_t *p_this )<br>     filter_sys_t *p_sys = p_filter->p_sys;<br> <br>     vlc_timer_destroy( p_sys->timer );<br>-    vlc_mutex_destroy( &p_sys->lock );<br> <br>     text_style_Delete( p_sys->p_style );<br>     free( p_sys->psz_marquee );<br>diff --git a/modules/spu/subsdelay.c b/modules/spu/subsdelay.c<br>index 8b961e7de2..70b2e9a332 100644<br>--- a/modules/spu/subsdelay.c<br>+++ b/modules/spu/subsdelay.c<br>@@ -518,8 +518,6 @@ static void SubsdelayHeapDestroy( subsdelay_heap_t *p_heap )<br>     }<br> <br>     SubsdelayHeapUnlock( p_heap );<br>-<br>-    vlc_mutex_destroy( &p_heap->lock );<br> }<br> <br> /*****************************************************************************<br>diff --git a/modules/stream_filter/decomp.c b/modules/stream_filter/decomp.c<br>index f5fdd94636..9b76980147 100644<br>--- a/modules/stream_filter/decomp.c<br>+++ b/modules/stream_filter/decomp.c<br>@@ -328,7 +328,6 @@ static int Open (stream_t *stream, const char *path)<br>     {<br>         if (p_sys->pid != -1)<br>             while (waitpid (p_sys->pid, &(int){ 0 }, 0) == -1);<br>-        vlc_mutex_destroy (&p_sys->lock);<br>         vlc_cond_destroy (&p_sys->wait);<br>         free (p_sys);<br>         return ret;<br>@@ -361,7 +360,6 @@ static void Close (vlc_object_t *obj)<br>     while (waitpid (p_sys->pid, &status, 0) == -1);<br>     msg_Dbg (obj, "exit status %d", status);<br> <br>-    vlc_mutex_destroy (&p_sys->lock);<br>     vlc_cond_destroy (&p_sys->wait);<br>     free (p_sys);<br> }<br>diff --git a/modules/stream_filter/hds/hds.c b/modules/stream_filter/hds/hds.c<br>index 1b2290ee03..88d1e76522 100644<br>--- a/modules/stream_filter/hds/hds.c<br>+++ b/modules/stream_filter/hds/hds.c<br>@@ -1222,9 +1222,7 @@ static void cleanup_Manifest( manifest_t *m )<br> <br> static void cleanup_threading( hds_stream_t *stream )<br> {<br>-    vlc_mutex_destroy( &stream->dl_lock );<br>     vlc_cond_destroy( &stream->dl_cond );<br>-    vlc_mutex_destroy( &stream->abst_lock );<br> }<br> <br> static void write_int_24( uint8_t *p, uint32_t val )<br>diff --git a/modules/stream_filter/prefetch.c b/modules/stream_filter/prefetch.c<br>index 2f610c65bd..01b7e2c681 100644<br>--- a/modules/stream_filter/prefetch.c<br>+++ b/modules/stream_filter/prefetch.c<br>@@ -496,7 +496,6 @@ static int Open(vlc_object_t *obj)<br>     {<br>         vlc_cond_destroy(&sys->wait_space);<br>         vlc_cond_destroy(&sys->wait_data);<br>-        vlc_mutex_destroy(&sys->lock);<br>         vlc_interrupt_destroy(sys->interrupt);<br>         goto error;<br>     }<br>@@ -529,7 +528,6 @@ static void Close (vlc_object_t *obj)<br>     vlc_interrupt_destroy(sys->interrupt);<br>     vlc_cond_destroy(&sys->wait_space);<br>     vlc_cond_destroy(&sys->wait_data);<br>-    vlc_mutex_destroy(&sys->lock);<br> <br>     while(sys->controls)<br>     {<br>diff --git a/modules/stream_out/chromecast/cast.cpp <br>b/modules/stream_out/chromecast/cast.cpp<br>index 9f909a9de1..97b6368295 100644<br>--- a/modules/stream_out/chromecast/cast.cpp<br>+++ b/modules/stream_out/chromecast/cast.cpp<br>@@ -113,7 +113,6 @@ struct sout_stream_sys_t<br> <br>     ~sout_stream_sys_t()<br>     {<br>-        vlc_mutex_destroy(&lock);<br>     }<br> <br>     bool canDecodeVideo( vlc_fourcc_t i_codec ) const;<br>diff --git a/modules/stream_out/rtp.c b/modules/stream_out/rtp.c<br>index 3c2363305a..b0d640436f 100644<br>--- a/modules/stream_out/rtp.c<br>+++ b/modules/stream_out/rtp.c<br>@@ -553,9 +553,6 @@ static int Open( vlc_object_t *p_this )<br>         {<br>             msg_Err( p_stream, "unsupported muxer type for RTP (only TS/PS)" );<br>             free( psz );<br>-            vlc_mutex_destroy( &p_sys->lock_sdp );<br>-            vlc_mutex_destroy( &p_sys->lock_ts );<br>-            vlc_mutex_destroy( &p_sys->lock_es );<br>             free( p_sys->psz_vod_session );<br>             free( p_sys->psz_destination );<br>             free( p_sys );<br>@@ -570,9 +567,6 @@ static int Open( vlc_object_t *p_this )<br>         {<br>             msg_Err( p_stream, "cannot create muxer" );<br>             sout_AccessOutDelete( p_sys->p_grab );<br>-            vlc_mutex_destroy( &p_sys->lock_sdp );<br>-            vlc_mutex_destroy( &p_sys->lock_ts );<br>-            vlc_mutex_destroy( &p_sys->lock_es );<br>             free( p_sys->psz_vod_session );<br>             free( p_sys->psz_destination );<br>             free( p_sys );<br>@@ -662,10 +656,6 @@ static void Close( vlc_object_t * p_this )<br>     if( p_sys->rtsp != NULL )<br>         RtspUnsetup( p_sys->rtsp );<br> <br>-    vlc_mutex_destroy( &p_sys->lock_sdp );<br>-    vlc_mutex_destroy( &p_sys->lock_ts );<br>-    vlc_mutex_destroy( &p_sys->lock_es );<br>-<br>     if( p_sys->p_httpd_file )<br>         httpd_FileDelete( p_sys->p_httpd_file );<br> <br>@@ -1251,8 +1241,6 @@ static void Del( sout_stream_t *p_stream, void *_id )<br>         srtp_destroy( id->srtp );<br> #endif<br> <br>-    vlc_mutex_destroy( &id->lock_sink );<br>-<br>     /* Update SDP (sap/file) */<br>     if( p_sys->b_export_sap ) SapSetup( p_stream );<br>     if( p_sys->psz_sdp_file != NULL ) FileSetup( p_stream );<br>diff --git a/modules/stream_out/rtsp.c b/modules/stream_out/rtsp.c<br>index 6161f6a795..d62ccebccd 100644<br>--- a/modules/stream_out/rtsp.c<br>+++ b/modules/stream_out/rtsp.c<br>@@ -151,8 +151,6 @@ void RtspUnsetup( rtsp_stream_t *rtsp )<br>         vlc_timer_destroy(rtsp->timer);<br> <br>     free( rtsp->psz_path );<br>-    vlc_mutex_destroy( &rtsp->lock );<br>-<br>     free( rtsp );<br> }<br> <br>diff --git a/modules/stream_out/sdi/DBMSDIOutput.cpp <br>b/modules/stream_out/sdi/DBMSDIOutput.cpp<br>index 19de3288e1..9c56b8f02b 100644<br>--- a/modules/stream_out/sdi/DBMSDIOutput.cpp<br>+++ b/modules/stream_out/sdi/DBMSDIOutput.cpp<br>@@ -92,7 +92,6 @@ DBMSDIOutput::~DBMSDIOutput()<br>         p_card->Release();<br> <br>     vlc_cond_destroy(&feeder.cond);<br>-    vlc_mutex_destroy(&feeder.lock);<br> }<br> <br> AbstractStream *DBMSDIOutput::Add(const es_format_t *fmt)<br>diff --git a/modules/stream_out/sdi/SDIStream.cpp <br>b/modules/stream_out/sdi/SDIStream.cpp<br>index a196860c13..0e728c3adf 100644<br>--- a/modules/stream_out/sdi/SDIStream.cpp<br>+++ b/modules/stream_out/sdi/SDIStream.cpp<br>@@ -237,7 +237,6 @@ AbstractDecodedStream::~AbstractDecodedStream()<br>     deinit();<br>     es_format_Clean(&requestedoutput);<br>     vlc_cond_destroy(&inputWait);<br>-    vlc_mutex_destroy(&inputLock);<br> }<br> <br> void AbstractDecodedStream::deinit()<br>diff --git a/modules/stream_out/transcode/encoder/encoder.c <br>b/modules/stream_out/transcode/encoder/encoder.c<br>index e8ffb346ac..2c89332663 100644<br>--- a/modules/stream_out/transcode/encoder/encoder.c<br>+++ b/modules/stream_out/transcode/encoder/encoder.c<br>@@ -50,7 +50,6 @@ void transcode_encoder_delete( transcode_encoder_t <br>*p_enc )<br>         {<br>             block_ChainRelease( p_enc->p_buffers );<br>             picture_fifo_Delete( p_enc->pp_pics );<br>-            vlc_mutex_destroy( &p_enc->lock_out );<br>         }<br>         es_format_Clean( &p_enc->p_encoder->fmt_in );<br>         es_format_Clean( &p_enc->p_encoder->fmt_out );<br>diff --git a/modules/stream_out/transcode/transcode.c <br>b/modules/stream_out/transcode/transcode.c<br>index c0303d1aba..fc842041dd 100644<br>--- a/modules/stream_out/transcode/transcode.c<br>+++ b/modules/stream_out/transcode/transcode.c<br>@@ -494,18 +494,12 @@ static void Close( vlc_object_t * p_this )<br> <br>     transcode_encoder_config_clean( &p_sys->senc_cfg );<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>-<br>     free( p_sys );<br> }<br> <br> static void DeleteSoutStreamID( sout_stream_id_sys_t *id )<br> {<br>-    if( id )<br>-    {<br>-        vlc_mutex_destroy(&id->fifo.lock);<br>-        free( id );<br>-    }<br>+    free( id );<br> }<br> <br> static void SendSpuToVideoCallback( void *cbdata, subpicture_t *p_subpicture )<br>diff --git a/modules/video_filter/alphamask.c b/modules/video_filter/alphamask.c<br>index 7268496010..001f37185c 100644<br>--- a/modules/video_filter/alphamask.c<br>+++ b/modules/video_filter/alphamask.c<br>@@ -135,7 +135,6 @@ static void Destroy( vlc_object_t *p_this )<br>     var_DelCallback( p_filter, CFG_PREFIX "mask", MaskCallback,<br>                      p_filter );<br> <br>-    vlc_mutex_destroy( &p_sys->mask_lock );<br>     if( p_sys->p_mask )<br>         picture_Release( p_sys->p_mask );<br> <br>diff --git a/modules/video_filter/ball.c b/modules/video_filter/ball.c<br>index d4d8c26f55..563ff8bedc 100644<br>--- a/modules/video_filter/ball.c<br>+++ b/modules/video_filter/ball.c<br>@@ -332,8 +332,6 @@ static void Destroy( vlc_object_t *p_this )<br>     var_DelCallback( p_filter, FILTER_PREFIX "edge-visible",<br>                      ballCallback, p_sys );<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>-<br>     image_HandlerDelete( p_sys->p_image );<br> <br>     free( p_sys->p_smooth );<br>diff --git a/modules/video_filter/bluescreen.c <br>b/modules/video_filter/bluescreen.c<br>index 730af68da8..3fe83a1a5d 100644<br>--- a/modules/video_filter/bluescreen.c<br>+++ b/modules/video_filter/bluescreen.c<br>@@ -159,7 +159,6 @@ static void Destroy( vlc_object_t *p_this )<br>     var_DelCallback( p_filter, CFG_PREFIX "vt", BluescreenCallback, <br>p_sys );<br> <br>     free( p_sys->p_at );<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys );<br> }<br> <br>diff --git a/modules/video_filter/erase.c b/modules/video_filter/erase.c<br>index 91a6b7bf89..7e6683b14e 100644<br>--- a/modules/video_filter/erase.c<br>+++ b/modules/video_filter/erase.c<br>@@ -196,7 +196,6 @@ static void Destroy( vlc_object_t *p_this )<br>     var_DelCallback( p_filter, CFG_PREFIX "x", EraseCallback, p_sys );<br>     var_DelCallback( p_filter, CFG_PREFIX "y", EraseCallback, p_sys );<br>     var_DelCallback( p_filter, CFG_PREFIX "mask", EraseCallback, p_sys );<br>-    vlc_mutex_destroy( &p_sys->lock );<br> <br>     free( p_filter->p_sys );<br> }<br>diff --git a/modules/video_filter/extract.c b/modules/video_filter/extract.c<br>index 9de5f80228..0e849642a9 100644<br>--- a/modules/video_filter/extract.c<br>+++ b/modules/video_filter/extract.c<br>@@ -157,7 +157,6 @@ static void Destroy( vlc_object_t *p_this )<br> <br>     var_DelCallback( p_filter, FILTER_PREFIX "component", ExtractCallback,<br>                      p_sys );<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys->projection_matrix );<br>     free( p_sys );<br> }<br>diff --git a/modules/video_filter/gradfun.c b/modules/video_filter/gradfun.c<br>index b17808465a..093d207523 100644<br>--- a/modules/video_filter/gradfun.c<br>+++ b/modules/video_filter/gradfun.c<br>@@ -169,7 +169,6 @@ static void Close(vlc_object_t *object)<br>     var_DelCallback(filter, CFG_PREFIX "radius",   Callback, NULL);<br>     var_DelCallback(filter, CFG_PREFIX "strength", Callback, NULL);<br>     aligned_free(sys->cfg.buf);<br>-    vlc_mutex_destroy(&sys->lock);<br>     free(sys);<br> }<br> <br>diff --git a/modules/video_filter/gradient.c b/modules/video_filter/gradient.c<br>index 671334eb91..22675305f5 100644<br>--- a/modules/video_filter/gradient.c<br>+++ b/modules/video_filter/gradient.c<br>@@ -223,7 +223,6 @@ static void Destroy( vlc_object_t *p_this )<br>                      GradientCallback, p_sys );<br>     var_DelCallback( p_filter, FILTER_PREFIX "cartoon",<br>                      GradientCallback, p_sys );<br>-    vlc_mutex_destroy( &p_sys->lock );<br> <br>     free( p_sys->p_buf32 );<br>     free( p_sys->p_buf32_bis );<br>diff --git a/modules/video_filter/grain.c b/modules/video_filter/grain.c<br>index 34cb4ce4f1..174de0a822 100644<br>--- a/modules/video_filter/grain.c<br>+++ b/modules/video_filter/grain.c<br>@@ -430,7 +430,6 @@ static void Close(vlc_object_t *object)<br>     filter_sys_t *sys    = filter->p_sys;<br> <br>     var_DelCallback(filter, CFG_PREFIX "variance", Callback, NULL);<br>-    vlc_mutex_destroy(&sys->cfg.lock);<br>     free(sys);<br> }<br> <br>diff --git a/modules/video_filter/hqdn3d.c <br>b/modules/video_filter/hqdn3d.c<br>index bd453759dc..beb57974d8 100644<br>--- a/modules/video_filter/hqdn3d.c<br>+++ b/modules/video_filter/hqdn3d.c<br>@@ -179,8 +179,6 @@ static void Close(vlc_object_t *this)<br>     var_DelCallback( filter, FILTER_PREFIX "luma-temp", <br>DenoiseCallback, sys );<br>     var_DelCallback( filter, FILTER_PREFIX "chroma-temp", <br>DenoiseCallback, sys );<br> <br>-    vlc_mutex_destroy( &sys->coefs_mutex );<br>-<br>     for (int i = 0; i < 3; ++i) {<br>         free(cfg->Frame[i]);<br>     }<br>diff --git a/modules/video_filter/postproc.c b/modules/video_filter/postproc.c<br>index e3fd252eaa..bf0192de2b 100644<br>--- a/modules/video_filter/postproc.c<br>+++ b/modules/video_filter/postproc.c<br>@@ -272,7 +272,6 @@ static void ClosePostproc( vlc_object_t *p_this )<br>     var_DelCallback( p_filter, FILTER_PREFIX "name", PPNameCallback, NULL );<br> <br>     /* Destroy the resources */<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     pp_free_context( p_sys->pp_context );<br>     pp_free_mode( p_sys->pp_mode );<br>     free( p_sys );<br>diff --git a/modules/video_filter/puzzle.c <br>b/modules/video_filter/puzzle.c<br>index f85f6a10b2..35e0a090ce 100644<br>--- a/modules/video_filter/puzzle.c<br>+++ b/modules/video_filter/puzzle.c<br>@@ -226,9 +226,6 @@ static void Close( vlc_object_t *p_this ) {<br>     var_DelCallback( p_filter, CFG_PREFIX "rotation",      <br>puzzle_Callback, p_sys );<br>     var_DelCallback( p_filter, CFG_PREFIX "mode",          <br>puzzle_Callback, p_sys );<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>-    vlc_mutex_destroy( &p_sys->pce_lock );<br>-<br>     /* Free allocated memory */<br>     puzzle_free_ps_puzzle_array ( p_filter );<br>     puzzle_free_ps_pieces_shapes ( p_filter);<br>diff --git a/modules/video_output/decklink.cpp <br>b/modules/video_output/decklink.cpp<br>index c166233363..3c7c85eb3d 100644<br>--- a/modules/video_output/decklink.cpp<br>+++ b/modules/video_output/decklink.cpp<br>@@ -351,7 +351,6 @@ static void ReleaseDLSys(vlc_object_t *obj, int <br>i_cat)<br> <br>     if (--sys->users == 0) {<br>         msg_Dbg(obj, "Destroying decklink data");<br>-        vlc_mutex_destroy(&sys->lock);<br>         vlc_cond_destroy(&sys->cond);<br> <br>         if (sys->p_output) {<br>diff --git a/modules/video_output/ios.m b/modules/video_output/ios.m<br>index 9a075194f2..5c273ded11 100644<br>--- a/modules/video_output/ios.m<br>+++ b/modules/video_output/ios.m<br>@@ -507,7 +507,6 @@ static void GLESSwap(vlc_gl_t *gl)<br> <br> - (void)dealloc<br> {<br>-    vlc_mutex_destroy(&_mutex);<br>     vlc_cond_destroy(&_gl_attached_wait);<br>     [super dealloc];<br> }<br>diff --git a/modules/video_output/splitter.c b/modules/video_output/splitter.c<br>index 43cccba061..71ceda4674 100644<br>--- a/modules/video_output/splitter.c<br>+++ b/modules/video_output/splitter.c<br>@@ -131,7 +131,6 @@ static void vlc_vidsplit_Close(vout_display_t *vd)<br> <br>     module_unneed(&sys->splitter, sys->splitter.p_module);<br>     video_format_Clean(&sys->splitter.fmt);<br>-    vlc_mutex_destroy(&sys->lock);<br>     vlc_object_delete(&sys->splitter);<br> }<br> <br>@@ -249,7 +248,6 @@ static int vlc_vidsplit_Open(vout_display_t *vd,<br>     free(name);<br>     if (splitter->p_module == NULL) {<br>         video_format_Clean(&splitter->fmt);<br>-        vlc_mutex_destroy(&sys->lock);<br>         vlc_object_delete(splitter);<br>         return VLC_EGENERIC;<br>     }<br>diff --git a/modules/video_output/wayland/xdg-shell.c <br>b/modules/video_output/wayland/xdg-shell.c<br>index f6363c641c..765ffb2a2f 100644<br>--- a/modules/video_output/wayland/xdg-shell.c<br>+++ b/modules/video_output/wayland/xdg-shell.c<br>@@ -752,7 +752,6 @@ static void Close(vout_window_t *wnd)<br>     vlc_cancel(sys->thread);<br>     vlc_join(sys->thread, NULL);<br> <br>-    vlc_mutex_destroy(&sys->lock);<br>     seat_destroy_all(&sys->seats);<br>     output_list_destroy(sys->outputs);<br> #ifdef XDG_SHELL<br>diff --git a/modules/video_output/win32/events.c <br>b/modules/video_output/win32/events.c<br>index 9e8df25be3..15da61dc26 100644<br>--- a/modules/video_output/win32/events.c<br>+++ b/modules/video_output/win32/events.c<br>@@ -167,7 +167,6 @@ event_thread_t *EventThreadCreate( vlc_object_t <br>*obj, vout_window_t *parent_wind<br> void EventThreadDestroy( event_thread_t *p_event )<br> {<br>     vlc_cond_destroy( &p_event->wait );<br>-    vlc_mutex_destroy( &p_event->lock );<br>     free( p_event );<br> }<br> <br>diff --git a/modules/video_output/win32/inhibit.c <br>b/modules/video_output/win32/inhibit.c<br>index 566b311189..c1d3199ccb 100644<br>--- a/modules/video_output/win32/inhibit.c<br>+++ b/modules/video_output/win32/inhibit.c<br>@@ -89,7 +89,6 @@ static void CloseInhibit (vlc_object_t *obj)<br>     vlc_cancel(sys->thread);<br>     vlc_join(sys->thread, NULL);<br>     vlc_cond_destroy(&sys->cond);<br>-    vlc_mutex_destroy(&sys->mutex);<br> }<br> <br> static int OpenInhibit (vlc_object_t *obj)<br>@@ -108,7 +107,6 @@ static int OpenInhibit (vlc_object_t *obj)<br>     if (vlc_clone(&sys->thread, Run, ih, VLC_THREAD_PRIORITY_LOW))<br>     {<br>         vlc_cond_destroy(&sys->cond);<br>-        vlc_mutex_destroy(&sys->mutex);<br>         return VLC_EGENERIC;<br>     }<br> <br>diff --git a/modules/visualization/goom.c b/modules/visualization/goom.c<br>index 3fa6203e1c..a9b225f2f9 100644<br>--- a/modules/visualization/goom.c<br>+++ b/modules/visualization/goom.c<br>@@ -147,7 +147,6 @@ static int Open( vlc_object_t *p_this )<br>                    Thread, p_thread, VLC_THREAD_PRIORITY_LOW ) )<br>     {<br>         msg_Err( p_filter, "cannot launch goom thread" );<br>-        vlc_mutex_destroy( &p_thread->lock );<br>         vlc_cond_destroy( &p_thread->wait );<br>         vout_Close( p_thread->p_vout );<br>         free( p_thread );<br>@@ -353,7 +352,6 @@ static void Close( vlc_object_t *p_this )<br> <br>     /* Free data */<br>     vout_Close( p_thread->p_vout );<br>-    vlc_mutex_destroy( &p_thread->lock );<br>     vlc_cond_destroy( &p_thread->wait );<br> <br>     while( p_thread->i_blocks-- )<br>diff --git a/modules/visualization/projectm.cpp <br>b/modules/visualization/projectm.cpp<br>index 219dfdac4e..f4b636fb23 100644<br>--- a/modules/visualization/projectm.cpp<br>+++ b/modules/visualization/projectm.cpp<br>@@ -204,7 +204,6 @@ static int Open( vlc_object_t * p_this )<br>     return VLC_SUCCESS;<br> <br> error:<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free (p_sys );<br>     return VLC_EGENERIC;<br> }<br>@@ -230,7 +229,6 @@ static void Close( vlc_object_t *p_this )<br> <br>     /* Free the ressources */<br>     vlc_gl_surface_Destroy( p_sys->gl );<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys->p_buffer );<br>     free( p_sys );<br> }<br>diff --git a/modules/visualization/vsxu.cpp b/modules/visualization/vsxu.cpp<br>index 30239177d9..dbbb061ecf 100644<br>--- a/modules/visualization/vsxu.cpp<br>+++ b/modules/visualization/vsxu.cpp<br>@@ -146,8 +146,6 @@ static int Open( vlc_object_t * p_this )<br>     return VLC_SUCCESS;<br> <br> error:<br>-    vlc_mutex_destroy( &p_sys->cyclic_block_mutex );<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys );<br>     return VLC_EGENERIC;<br> }<br>@@ -169,8 +167,6 @@ static void Close( vlc_object_t *p_this )<br> <br>     /* Free the ressources */<br>     vlc_gl_surface_Destroy( p_sys->gl );<br>-    vlc_mutex_destroy( &p_sys->cyclic_block_mutex );<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     delete p_sys->vsxu_cyclic_buffer;<br>     free( p_sys );<br> }<br>diff --git a/src/android/thread.c b/src/android/thread.c<br>index 24eea70ae9..69ec70c25d 100644<br>--- a/src/android/thread.c<br>+++ b/src/android/thread.c<br>@@ -108,7 +108,6 @@ static void clean_detached_thread(void *data)<br>     struct vlc_thread *th = data;<br> <br>     /* release thread handle */<br>-    vlc_mutex_destroy(&th->wait.lock);<br>     free(th);<br> }<br> <br>diff --git a/src/audio_output/output.c b/src/audio_output/output.c<br>index 526489e5f6..d7d013c81d 100644<br>--- a/src/audio_output/output.c<br>+++ b/src/audio_output/output.c<br>@@ -385,7 +385,6 @@ void aout_Release(audio_output_t *aout)<br> <br>     atomic_thread_fence(memory_order_acquire);<br> <br>-    vlc_mutex_destroy (&owner->dev.lock);<br>     for (aout_dev_t *dev = owner->dev.list, *next; dev != NULL; dev = next)<br>     {<br>         next = dev->next;<br>@@ -393,8 +392,6 @@ void aout_Release(audio_output_t *aout)<br>         free (dev);<br>     }<br> <br>-    vlc_mutex_destroy (&owner->vp.lock);<br>-    vlc_mutex_destroy (&owner->lock);<br>     vlc_object_delete(VLC_OBJECT(aout));<br> }<br> <br>diff --git a/src/clock/clock.c b/src/clock/clock.c<br>index 43c44bed6e..8637d827e4 100644<br>--- a/src/clock/clock.c<br>+++ b/src/clock/clock.c<br>@@ -469,7 +469,6 @@ void vlc_clock_main_ChangePause(vlc_clock_main_t <br>*main_clock, vlc_tick_t now,<br> <br> void vlc_clock_main_Delete(vlc_clock_main_t *main_clock)<br> {<br>-    vlc_mutex_destroy(&main_clock->lock);<br>     vlc_cond_destroy(&main_clock->cond);<br>     assert(main_clock->rc == 1);<br>     free(main_clock);<br>diff --git a/src/clock/input_clock.c b/src/clock/input_clock.c<br>index c7724625c4..ac891d8cb9 100644<br>--- a/src/clock/input_clock.c<br>+++ b/src/clock/input_clock.c<br>@@ -189,7 +189,6 @@ input_clock_t *input_clock_New( float rate )<br> void input_clock_Delete( input_clock_t *cl )<br> {<br>     AvgClean( &cl->drift );<br>-    vlc_mutex_destroy( &cl->lock );<br>     free( cl );<br> }<br> <br>diff --git a/src/input/decoder.c b/src/input/decoder.c<br>index d7f85243d3..fd2e6aa03b 100644<br>--- a/src/input/decoder.c<br>+++ b/src/input/decoder.c<br>@@ -2043,9 +2043,6 @@ static void DeleteDecoder( decoder_t * p_dec )<br>     vlc_cond_destroy( &p_owner->wait_fifo );<br>     vlc_cond_destroy( &p_owner->wait_acknowledge );<br>     vlc_cond_destroy( &p_owner->wait_request );<br>-    vlc_mutex_destroy( &p_owner->lock );<br>-    vlc_mutex_destroy( &p_owner->mouse_lock );<br>-<br>     decoder_Destroy( &p_owner->dec );<br> }<br> <br>diff --git a/src/input/demux_chained.c b/src/input/demux_chained.c<br>index f2123fd0f7..c8c436daec 100644<br>--- a/src/input/demux_chained.c<br>+++ b/src/input/demux_chained.c<br>@@ -124,7 +124,6 @@ vlc_demux_chained_t <br>*vlc_demux_chained_New(vlc_object_t *parent,<br>     {<br>         vlc_stream_Delete(dc->reader);<br>         vlc_stream_fifo_Close(dc->writer);<br>-        vlc_mutex_destroy(&dc->lock);<br>         free(dc);<br>         dc = NULL;<br>     }<br>@@ -165,6 +164,5 @@ void vlc_demux_chained_Delete(vlc_demux_chained_t <br>*dc)<br> {<br>     vlc_stream_fifo_Close(dc->writer);<br>     vlc_join(dc->thread, NULL);<br>-    vlc_mutex_destroy(&dc->lock);<br>     free(dc);<br> }<br>diff --git a/src/input/es_out.c b/src/input/es_out.c<br>index 7671dc3948..6955192dc0 100644<br>--- a/src/input/es_out.c<br>+++ b/src/input/es_out.c<br>@@ -598,8 +598,6 @@ static void EsOutDelete( es_out_t *out )<br>     EsOutPropsCleanup( &p_sys->audio );<br>     EsOutPropsCleanup( &p_sys->sub );<br> <br>-    vlc_mutex_destroy( &p_sys->lock );<br>-<br>     free( p_sys );<br> }<br> <br>diff --git a/src/input/es_out_timeshift.c b/src/input/es_out_timeshift.c<br>index ed79000f65..bfdb930981 100644<br>--- a/src/input/es_out_timeshift.c<br>+++ b/src/input/es_out_timeshift.c<br>@@ -405,7 +405,6 @@ static void Destroy( es_out_t *p_out )<br>     TAB_CLEAN( p_sys->i_es, p_sys->pp_es  );<br> <br>     free( p_sys->psz_tmp_path );<br>-    vlc_mutex_destroy( &p_sys->lock );<br>     free( p_sys );<br> }<br> <br>@@ -784,7 +783,6 @@ static const struct es_out_callbacks es_out_timeshift_cbs =<br> static void TsDestroy( ts_thread_t *p_ts )<br> {<br>     vlc_cond_destroy( &p_ts->wait );<br>-    vlc_mutex_destroy( &p_ts->lock );<br>     free( p_ts );<br> }<br> static int TsStart( es_out_t *p_out )<br>diff --git a/src/input/input.c b/src/input/input.c<br>index 2dd0bf0982..bb57eb4705 100644<br>--- a/src/input/input.c<br>+++ b/src/input/input.c<br>@@ -439,7 +439,6 @@ static void Destroy(input_thread_t *input)<br>     }<br> <br>     vlc_cond_destroy(&priv->wait_control);<br>-    vlc_mutex_destroy(&priv->lock_control);<br>     vlc_object_delete(VLC_OBJECT(input));<br> }<br> <br>diff --git a/src/input/item.c b/src/input/item.c<br>index 1a8a2bdb3f..1c03af739b 100644<br>--- a/src/input/item.c<br>+++ b/src/input/item.c<br>@@ -519,7 +519,6 @@ void input_item_Release( input_item_t *p_item )<br>         input_item_slave_Delete( p_item->pp_slaves[i] );<br>     TAB_CLEAN( p_item->i_slaves, p_item->pp_slaves );<br> <br>-    vlc_mutex_destroy( &p_item->lock );<br>     free( owner );<br> }<br> <br>diff --git a/src/input/resource.c b/src/input/resource.c<br>index 0d192f2beb..65906da287 100644<br>--- a/src/input/resource.c<br>+++ b/src/input/resource.c<br>@@ -299,8 +299,6 @@ void input_resource_Release( input_resource_t *p_resource )<br>     if( p_resource->p_aout != NULL )<br>         aout_Destroy( p_resource->p_aout );<br> <br>-    vlc_mutex_destroy( &p_resource->lock_hold );<br>-    vlc_mutex_destroy( &p_resource->lock );<br>     vout_Release( p_resource->p_vout_dummy );<br>     free( p_resource );<br> }<br>diff --git a/src/input/stats.c b/src/input/stats.c<br>index 4a79ddc840..b294a59e98 100644<br>--- a/src/input/stats.c<br>+++ b/src/input/stats.c<br>@@ -72,8 +72,6 @@ struct input_stats *input_stats_Create(void)<br> <br> void input_stats_Destroy(struct input_stats *stats)<br> {<br>-    vlc_mutex_destroy(&stats->demux_bitrate.lock);<br>-    vlc_mutex_destroy(&stats->input_bitrate.lock);<br>     free(stats);<br> }<br> <br>diff --git a/src/input/thumbnailer.c b/src/input/thumbnailer.c<br>index dbf23b5115..783eb2886b 100644<br>--- a/src/input/thumbnailer.c<br>+++ b/src/input/thumbnailer.c<br>@@ -117,7 +117,6 @@ static void thumbnailer_request_Release( void* data )<br>         input_Close( request->input_thread );<br> <br>     input_item_Release( request->params.input_item );<br>-    vlc_mutex_destroy( &request->lock );<br>     free( request );<br> }<br> <br>diff --git a/src/input/vlm.c b/src/input/vlm.c<br>index c63217c295..d33b9a917a 100644<br>--- a/src/input/vlm.c<br>+++ b/src/input/vlm.c<br>@@ -179,8 +179,6 @@ vlm_t *vlm_New( libvlc_int_t *libvlc, const char <br>*psz_vlmconf )<br>     if( vlc_clone( &p_vlm->thread, Manage, p_vlm, <br>VLC_THREAD_PRIORITY_LOW ) )<br>     {<br>         vlc_cond_destroy( &p_vlm->wait_manage );<br>-        vlc_mutex_destroy( &p_vlm->lock );<br>-        vlc_mutex_destroy( &p_vlm->lock_manage );<br>         vlc_object_delete(p_vlm);<br>         vlc_mutex_unlock( &vlm_mutex );<br>         return NULL;<br>@@ -257,8 +255,6 @@ void vlm_Delete( vlm_t *p_vlm )<br>     vlc_join( p_vlm->thread, NULL );<br> <br>     vlc_cond_destroy( &p_vlm->wait_manage );<br>-    vlc_mutex_destroy( &p_vlm->lock );<br>-    vlc_mutex_destroy( &p_vlm->lock_manage );<br>     vlc_object_delete(p_vlm);<br> }<br> <br>diff --git a/src/interface/dialog.c b/src/interface/dialog.c<br>index 4205d88be4..c761bd0c4d 100644<br>--- a/src/interface/dialog.c<br>+++ b/src/interface/dialog.c<br>@@ -140,7 +140,6 @@ dialog_id_release(vlc_dialog_id *p_id)<br>         free(p_id->answer.u.login.psz_password);<br>     }<br>     free(p_id->psz_progress_text);<br>-    vlc_mutex_destroy(&p_id->lock);<br>     vlc_cond_destroy(&p_id->wait);<br>     free(p_id);<br> }<br>@@ -245,7 +244,6 @@ libvlc_InternalDialogClean(libvlc_int_t *p_libvlc)<br>     dialog_clear_all_locked(p_provider);<br>     vlc_mutex_unlock(&p_provider->lock);<br> <br>-    vlc_mutex_destroy(&p_provider->lock);<br>     free(p_provider);<br>     libvlc_priv(p_libvlc)->p_dialog_provider = NULL;<br> }<br>diff --git a/src/libvlc.c b/src/libvlc.c<br>index 2d370deab8..c40fa19ba3 100644<br>--- a/src/libvlc.c<br>+++ b/src/libvlc.c<br>@@ -456,11 +456,6 @@ void libvlc_InternalCleanup( libvlc_int_t *p_libvlc )<br>  */<br> void libvlc_InternalDestroy( libvlc_int_t *p_libvlc )<br> {<br>-    libvlc_priv_t *priv = libvlc_priv( p_libvlc );<br>-<br>-    vlc_ExitDestroy( &priv->exit );<br>-<br>-    vlc_mutex_destroy(&priv->lock);<br>     vlc_object_delete(p_libvlc);<br> }<br> <br>diff --git a/src/libvlc.h b/src/libvlc.h<br>index e91587f947..d2d112aa56 100644<br>--- a/src/libvlc.h<br>+++ b/src/libvlc.h<br>@@ -73,7 +73,6 @@ typedef struct vlc_exit<br> } vlc_exit_t;<br> <br> void vlc_ExitInit( vlc_exit_t * );<br>-void vlc_ExitDestroy( vlc_exit_t * );<br> <br> /*<br>  * LibVLC objects stuff<br>diff --git a/src/libvlccore.sym b/src/libvlccore.sym<br>index a0efbecb78..1a7d4805c9 100644<br>--- a/src/libvlccore.sym<br>+++ b/src/libvlccore.sym<br>@@ -613,7 +613,6 @@ vlc_meta_Set<br> vlc_meta_SetStatus<br> vlc_meta_TypeToLocalizedString<br> vlc_mime_Ext2Mime<br>-vlc_mutex_destroy<br> vlc_mutex_init<br> vlc_mutex_init_recursive<br> vlc_mutex_lock<br>diff --git a/src/media_source/media_source.c b/src/media_source/media_source.c<br>index f6ac776ae2..71b37d41ac 100644<br>--- a/src/media_source/media_source.c<br>+++ b/src/media_source/media_source.c<br>@@ -243,7 +243,6 @@ vlc_media_source_provider_New(vlc_object_t *parent)<br> void<br> vlc_media_source_provider_Delete(vlc_media_source_provider_t *provider)<br> {<br>-    vlc_mutex_destroy(&provider->lock);<br>     ReleaseObject(provider);<br> }<br> <br>diff --git a/src/media_source/media_tree.c b/src/media_source/media_tree.c<br>index 017325719f..5774b294ff 100644<br>--- a/src/media_source/media_tree.c<br>+++ b/src/media_source/media_tree.c<br>@@ -204,7 +204,6 @@ vlc_media_tree_Delete(vlc_media_tree_t *tree)<br>         free(listener);<br>     vlc_list_init(&priv->listeners); /* reset */<br>     vlc_media_tree_DestroyRootNode(tree);<br>-    vlc_mutex_destroy(&priv->lock);<br>     free(tree);<br> }<br> <br>diff --git a/src/misc/addons.c b/src/misc/addons.c<br>index 1e19943037..a7a3414ddf 100644<br>--- a/src/misc/addons.c<br>+++ b/src/misc/addons.c<br>@@ -124,7 +124,6 @@ void addon_entry_Release( addon_entry_t * p_entry )<br>     }<br>     ARRAY_RESET( p_entry->files );<br> <br>-    vlc_mutex_destroy( &p_entry->lock );<br>     free( owner );<br> }<br> <br>@@ -199,7 +198,6 @@ void addons_manager_Delete( addons_manager_t *p_manager )<br>     ARRAY_FOREACH( p_entry, p_manager->p_priv->name.entries )\<br>         addon_entry_Release( p_entry );\<br>     ARRAY_RESET( p_manager->p_priv->name.entries );\<br>-    vlc_mutex_destroy( &p_manager->p_priv->name.lock );\<br>     vlc_cond_destroy( &p_manager->p_priv->name.waitcond );\<br>     vlc_interrupt_destroy( p_manager->p_priv->name.p_interrupt );<br> <br>diff --git a/src/misc/background_worker.c b/src/misc/background_worker.c<br>index 04014354e9..4bba9e0ff3 100644<br>--- a/src/misc/background_worker.c<br>+++ b/src/misc/background_worker.c<br>@@ -171,7 +171,6 @@ static struct background_worker <br>*background_worker_Create(void *owner,<br> static void background_worker_Destroy(struct background_worker *worker)<br> {<br>     vlc_cond_destroy(&worker->queue_wait);<br>-    vlc_mutex_destroy(&worker->lock);<br>     free(worker);<br> }<br> <br>diff --git a/src/misc/events.c b/src/misc/events.c<br>index 150f7272bc..e5472773ed 100644<br>--- a/src/misc/events.c<br>+++ b/src/misc/events.c<br>@@ -80,8 +80,6 @@ void vlc_event_manager_fini( vlc_event_manager_t * p_em )<br> {<br>     struct vlc_event_listener_t * listener;<br> <br>-    vlc_mutex_destroy( &p_em->lock );<br>-<br>     for( size_t i = 0; i < ARRAY_SIZE(p_em->events); i++ )<br>     {<br>         struct vlc_event_listeners_group_t *slot = p_em->events + i;<br>diff --git a/src/misc/exit.c b/src/misc/exit.c<br>index 27985a4afb..d6cb0ad407 100644<br>--- a/src/misc/exit.c<br>+++ b/src/misc/exit.c<br>@@ -34,12 +34,6 @@ void vlc_ExitInit( vlc_exit_t *exit )<br>     exit->opaque = NULL;<br> }<br> <br>-void vlc_ExitDestroy( vlc_exit_t *exit )<br>-{<br>-    vlc_mutex_destroy( &exit->lock );<br>-}<br>-<br>-<br> /**<br>  * Registers a callback for the LibVLC exit event.<br>  */<br>diff --git a/src/misc/fifo.c b/src/misc/fifo.c<br>index e11aebdb87..836f29d90b 100644<br>--- a/src/misc/fifo.c<br>+++ b/src/misc/fifo.c<br>@@ -162,7 +162,6 @@ void block_FifoRelease( block_fifo_t *p_fifo )<br> {<br>     block_ChainRelease( p_fifo->p_first );<br>     vlc_cond_destroy( &p_fifo->wait );<br>-    vlc_mutex_destroy( &p_fifo->lock );<br>     free( p_fifo );<br> }<br> <br>diff --git a/src/misc/httpcookies.c b/src/misc/httpcookies.c<br>index f4c9682a9e..2049b1b62c 100644<br>--- a/src/misc/httpcookies.c<br>+++ b/src/misc/httpcookies.c<br>@@ -289,7 +289,6 @@ void vlc_http_cookies_destroy( <br>vlc_http_cookie_jar_t * p_jar )<br>         cookie_destroy( vlc_array_item_at_index( &p_jar->cookies, i ) <br>);<br> <br>     vlc_array_clear( &p_jar->cookies );<br>-    vlc_mutex_destroy( &p_jar->lock );<br> <br>     free( p_jar );<br> }<br>diff --git a/src/misc/interrupt.c b/src/misc/interrupt.c<br>index d2a04a72b3..f272b6ebca 100644<br>--- a/src/misc/interrupt.c<br>+++ b/src/misc/interrupt.c<br>@@ -71,7 +71,6 @@ vlc_interrupt_t *vlc_interrupt_create(void)<br> void vlc_interrupt_deinit(vlc_interrupt_t *ctx)<br> {<br>     assert(ctx->callback == NULL);<br>-    vlc_mutex_destroy(&ctx->lock);<br> }<br> <br> void vlc_interrupt_destroy(vlc_interrupt_t *ctx)<br>diff --git a/src/misc/medialibrary.c b/src/misc/medialibrary.c<br>index b1ce7907f3..10013c7f20 100644<br>--- a/src/misc/medialibrary.c<br>+++ b/src/misc/medialibrary.c<br>@@ -111,7 +111,6 @@ vlc_medialibrary_t* libvlc_MlCreate( libvlc_int_t* <br>p_libvlc  )<br>     p_ml->m.p_module = module_need( &p_ml->m, "medialibrary", NULL, <br>false );<br>     if ( p_ml->m.p_module == NULL )<br>     {<br>-        vlc_mutex_destroy( &p_ml->lock );<br>         vlc_object_delete(&p_ml->m);<br>         return NULL;<br>     }<br>@@ -123,7 +122,6 @@ void libvlc_MlRelease( vlc_medialibrary_t* p_ml )<br>     assert( p_ml != NULL );<br>     module_unneed( &p_ml->m, p_ml->m.p_module );<br>     assert( vlc_list_is_empty( &p_ml->cbs ) );<br>-    vlc_mutex_destroy( &p_ml->lock );<br>     vlc_object_delete(&p_ml->m);<br> }<br> <br>diff --git a/src/misc/messages.c b/src/misc/messages.c<br>index 0872511389..898e4be56f 100644<br>--- a/src/misc/messages.c<br>+++ b/src/misc/messages.c<br>@@ -257,7 +257,6 @@ static void vlc_LogEarlyClose(void *d)<br>         free(log);<br>     }<br> <br>-    vlc_mutex_destroy(&early->lock);<br>     free(early);<br> }<br> <br>diff --git a/src/misc/objects.c b/src/misc/objects.c<br>index f87edd9827..f7e68c4dc4 100644<br>--- a/src/misc/objects.c<br>+++ b/src/misc/objects.c<br>@@ -129,7 +129,6 @@ void vlc_object_deinit(vlc_object_t *obj)<br>     vlc_restorecancel(canc);<br> <br>     vlc_cond_destroy(&priv->var_wait);<br>-    vlc_mutex_destroy(&priv->var_lock);<br>     free(priv);<br> }<br> <br>diff --git a/src/misc/picture_fifo.c b/src/misc/picture_fifo.c<br>index 72ad2f622f..bda20f5d8f 100644<br>--- a/src/misc/picture_fifo.c<br>+++ b/src/misc/picture_fifo.c<br>@@ -142,7 +142,6 @@ void picture_fifo_OffsetDate(picture_fifo_t *fifo, <br>vlc_tick_t delta)<br> void picture_fifo_Delete(picture_fifo_t *fifo)<br> {<br>     picture_fifo_Flush(fifo, VLC_TICK_INVALID, true);<br>-    vlc_mutex_destroy(&fifo->lock);<br>     free(fifo);<br> }<br> <br>diff --git a/src/misc/picture_pool.c b/src/misc/picture_pool.c<br>index 0eb53516ad..9190af91c4 100644<br>--- a/src/misc/picture_pool.c<br>+++ b/src/misc/picture_pool.c<br>@@ -56,7 +56,6 @@ static void picture_pool_Destroy(picture_pool_t *pool)<br> <br>     atomic_thread_fence(memory_order_acquire);<br>     vlc_cond_destroy(&pool->wait);<br>-    vlc_mutex_destroy(&pool->lock);<br>     aligned_free(pool);<br> }<br> <br>diff --git a/src/misc/threads.c b/src/misc/threads.c<br>index c4fd617882..8fb553b440 100644<br>--- a/src/misc/threads.c<br>+++ b/src/misc/threads.c<br>@@ -125,14 +125,6 @@ void vlc_mutex_init_recursive(vlc_mutex_t *mtx)<br>     vlc_mutex_init_common(mtx, true);<br> }<br> <br>-void vlc_mutex_destroy(vlc_mutex_t *mtx)<br>-{<br>-    assert(atomic_load_explicit(&mtx->value, memory_order_relaxed) == 0);<br>-    assert(atomic_load_explicit(&mtx->recursion, memory_order_relaxed) <= 1);<br>-    assert(atomic_load_explicit(&mtx->owner, memory_order_relaxed) == NULL);<br>-    (void) mtx;<br>-}<br>-<br> static _Thread_local char thread_self[1];<br> #define THREAD_SELF ((const void *)thread_self)<br> <br>@@ -239,7 +231,6 @@ void vlc_cond_init_daytime(vlc_cond_t *cond)<br> void vlc_cond_destroy(vlc_cond_t *cond)<br> {<br>     assert(cond->head == NULL);<br>-    vlc_mutex_destroy(&cond->lock);<br> }<br> <br> struct vlc_cond_waiter {<br>@@ -421,7 +412,6 @@ void vlc_rwlock_init (vlc_rwlock_t *lock)<br> void vlc_rwlock_destroy (vlc_rwlock_t *lock)<br> {<br>     vlc_cond_destroy (&lock->wait);<br>-    vlc_mutex_destroy (&lock->mutex);<br> }<br> <br> void vlc_rwlock_rdlock (vlc_rwlock_t *lock)<br>diff --git a/src/misc/update.c b/src/misc/update.c<br>index f5d6dc4ebe..44a446d8d6 100644<br>--- a/src/misc/update.c<br>+++ b/src/misc/update.c<br>@@ -147,8 +147,6 @@ void update_Delete( update_t *p_update )<br>         vlc_object_delete(p_update->p_download);<br>     }<br> <br>-    vlc_mutex_destroy( &p_update->lock );<br>-<br>     free( p_update->release.psz_url );<br>     free( p_update->release.psz_desc );<br>     free( p_update->p_pkey );<br>diff --git a/src/network/httpd.c b/src/network/httpd.c<br>index 2b56c178a1..177abcc710 100644<br>--- a/src/network/httpd.c<br>+++ b/src/network/httpd.c<br>@@ -866,7 +866,6 @@ void httpd_StreamDelete(httpd_stream_t *stream)<br>         free(stream->p_http_headers[i].value);<br>     }<br>     free(stream->p_http_headers);<br>-    vlc_mutex_destroy(&stream->lock);<br>     free(stream->psz_mime);<br>     free(stream->p_header);<br>     free(stream->p_buffer);<br>@@ -993,7 +992,6 @@ error:<br>     if (host) {<br>         net_ListenClose(host->fds);<br>         vlc_cond_destroy(&host->wait);<br>-        vlc_mutex_destroy(&host->lock);<br>         vlc_object_delete(host);<br>     }<br> <br>@@ -1030,7 +1028,6 @@ void httpd_HostDelete(httpd_host_t *host)<br>     vlc_tls_ServerDelete(host->p_tls);<br>     net_ListenClose(host->fds);<br>     vlc_cond_destroy(&host->wait);<br>-    vlc_mutex_destroy(&host->lock);<br>     vlc_object_delete(host);<br>     vlc_mutex_unlock(&httpd.mutex);<br> }<br>@@ -1117,7 +1114,6 @@ void httpd_UrlDelete(httpd_url_t *url)<br>     vlc_mutex_lock(&host->lock);<br>     vlc_list_remove(&url->node);<br> <br>-    vlc_mutex_destroy(&url->lock);<br>     free(url->psz_url);<br>     free(url->psz_user);<br>     free(url->psz_password);<br>diff --git a/src/os2/thread.c b/src/os2/thread.c<br>index c30cdad210..d7d07f6a17 100644<br>--- a/src/os2/thread.c<br>+++ b/src/os2/thread.c<br>@@ -160,7 +160,6 @@ unsigned long _System _DLL_InitTerm(unsigned long <br>hmod, unsigned long flag)<br>             vlc_rwlock_destroy (&config_lock);<br>             vlc_threadvar_delete (&thread_key);<br>             vlc_cond_destroy (&super_variable);<br>-            vlc_mutex_destroy (&super_mutex);<br> <br>             _CRT_term();<br> <br>diff --git a/src/player/player.c b/src/player/player.c<br>index 48c03905a4..6eedc71925 100644<br>--- a/src/player/player.c<br>+++ b/src/player/player.c<br>@@ -1843,9 +1843,6 @@ vlc_player_InitLocks(vlc_player_t *player, enum <br>vlc_player_lock_type lock_type)<br> static void<br> vlc_player_DestroyLocks(vlc_player_t *player)<br> {<br>-    vlc_mutex_destroy(&player->lock);<br>-    vlc_mutex_destroy(&player->vout_listeners_lock);<br>-    vlc_mutex_destroy(&player->aout_listeners_lock);<br>     vlc_cond_destroy(&player->start_delay_cond);<br>     vlc_cond_destroy(&player->destructor.wait);<br> }<br>diff --git a/src/player/timer.c b/src/player/timer.c<br>index 56bbdc0ae7..1be28b22f0 100644<br>--- a/src/player/timer.c<br>+++ b/src/player/timer.c<br>@@ -537,5 +537,4 @@ vlc_player_DestroyTimer(vlc_player_t *player)<br> {<br>     for (size_t i = 0; i < VLC_PLAYER_TIMER_TYPE_COUNT; ++i)<br>         assert(vlc_list_is_empty(&player->timer.sources[i].listeners));<br>-    vlc_mutex_destroy(&player->timer.lock);<br> }<br>diff --git a/src/posix/timer.c b/src/posix/timer.c<br>index 713a9133f5..f84f17cb9d 100644<br>--- a/src/posix/timer.c<br>+++ b/src/posix/timer.c<br>@@ -122,7 +122,6 @@ int vlc_timer_create (vlc_timer_t *id, void (*func) <br>(void *), void *data)<br>                    VLC_THREAD_PRIORITY_INPUT))<br>     {<br>         vlc_cond_destroy (&timer->reschedule);<br>-        vlc_mutex_destroy (&timer->lock);<br>         free (timer);<br>         return ENOMEM;<br>     }<br>@@ -140,7 +139,6 @@ void vlc_timer_destroy (vlc_timer_t timer)<br> <br>     vlc_join (timer->thread, NULL);<br>     vlc_cond_destroy (&timer->reschedule);<br>-    vlc_mutex_destroy (&timer->lock);<br>     free (timer);<br> }<br> <br>diff --git a/src/preparser/fetcher.c b/src/preparser/fetcher.c<br>index ac5c3eba21..5bb4aa1cef 100644<br>--- a/src/preparser/fetcher.c<br>+++ b/src/preparser/fetcher.c<br>@@ -481,7 +481,5 @@ void input_fetcher_Delete( input_fetcher_t* fetcher )<br>     background_worker_Delete( fetcher->downloader );<br> <br>     vlc_dictionary_clear( &fetcher->album_cache, FreeCacheEntry, NULL <br>);<br>-    vlc_mutex_destroy( &fetcher->lock );<br>-<br>     free( fetcher );<br> }<br>diff --git a/src/stream_output/stream_output.c <br>b/src/stream_output/stream_output.c<br>index 80daa2ae0e..239a81936d 100644<br>--- a/src/stream_output/stream_output.c<br>+++ b/src/stream_output/stream_output.c<br>@@ -131,7 +131,6 @@ sout_instance_t *sout_NewInstance( vlc_object_t <br>*p_parent, const char *psz_dest<br> <br>     FREENULL( p_sout->psz_sout );<br> <br>-    vlc_mutex_destroy( &p_sout->lock );<br>     vlc_object_delete(p_sout);<br>     return NULL;<br> }<br>@@ -147,8 +146,6 @@ void sout_DeleteInstance( sout_instance_t * p_sout )<br>     /* *** free all string *** */<br>     FREENULL( p_sout->psz_sout );<br> <br>-    vlc_mutex_destroy( &p_sout->lock );<br>-<br>     /* *** free structure *** */<br>     vlc_object_delete(p_sout);<br> }<br>diff --git a/src/test/timer.c b/src/test/timer.c<br>index 1162305fe2..6b40c30c47 100644<br>--- a/src/test/timer.c<br>+++ b/src/test/timer.c<br>@@ -108,7 +108,5 @@ int main (void)<br> <br>     vlc_timer_destroy (data.timer);<br>     vlc_cond_destroy (&data.wait);<br>-    vlc_mutex_destroy (&data.lock);<br>-<br>     return 0;<br> }<br>diff --git a/src/video_output/control.c b/src/video_output/control.c<br>index 616ea566cf..c14931070b 100644<br>--- a/src/video_output/control.c<br>+++ b/src/video_output/control.c<br>@@ -69,7 +69,6 @@ void vout_control_Clean(vout_control_t *ctrl)<br>     }<br>     ARRAY_RESET(ctrl->cmd);<br> <br>-    vlc_mutex_destroy(&ctrl->lock);<br>     vlc_cond_destroy(&ctrl->wait_request);<br>     vlc_cond_destroy(&ctrl->wait_available);<br> }<br>diff --git a/src/video_output/opengl.c b/src/video_output/opengl.c<br>index 9d207ac709..99ba7b29e7 100644<br>--- a/src/video_output/opengl.c<br>+++ b/src/video_output/opengl.c<br>@@ -187,7 +187,6 @@ vlc_gl_t *vlc_gl_surface_Create(vlc_object_t *obj,<br>     return gl;<br> <br> error:<br>-    vlc_mutex_destroy(&sys->lock);<br>     free(sys);<br>     return NULL;<br> }<br>@@ -230,6 +229,5 @@ void vlc_gl_surface_Destroy(vlc_gl_t *gl)<br>     vlc_gl_Release(gl);<br>     vout_window_Disable(surface);<br>     vout_window_Delete(surface);<br>-    vlc_mutex_destroy(&sys->lock);<br>     free(sys);<br> }<br>diff --git a/src/video_output/snapshot.c b/src/video_output/snapshot.c<br>index 92b5886dc8..b18297cb1b 100644<br>--- a/src/video_output/snapshot.c<br>+++ b/src/video_output/snapshot.c<br>@@ -78,7 +78,6 @@ void vout_snapshot_Destroy(vout_snapshot_t *snap)<br>     }<br> <br>     vlc_cond_destroy(&snap->wait);<br>-    vlc_mutex_destroy(&snap->lock);<br>     free(snap);<br> }<br> <br>diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c<br>index edda78d731..229b010a96 100644<br>--- a/src/video_output/video_output.c<br>+++ b/src/video_output/video_output.c<br>@@ -1845,10 +1845,6 @@ void vout_Release(vout_thread_t *vout)<br> <br>     free(sys->splitter_name);<br> <br>-    /* Destroy the locks */<br>-    vlc_mutex_destroy(&sys->window_lock);<br>-    vlc_mutex_destroy(&sys->filter.lock);<br>-<br>     if (sys->dec_device)<br>         vlc_decoder_device_Release(sys->dec_device);<br> <br>@@ -1856,7 +1852,6 @@ void vout_Release(vout_thread_t *vout)<br>     vout_display_window_Delete(sys->display_cfg.window);<br> <br>     vout_control_Clean(&sys->control);<br>-    vlc_mutex_destroy(&sys->display_lock);<br> <br>     /* */<br>     vout_statistic_Clean(&sys->statistic);<br>diff --git a/src/video_output/vout_subpictures.c <br>b/src/video_output/vout_subpictures.c<br>index 3efd76ff1d..2a4a79ad91 100644<br>--- a/src/video_output/vout_subpictures.c<br>+++ b/src/video_output/vout_subpictures.c<br>@@ -1582,7 +1582,6 @@ static void spu_Cleanup(spu_t *spu)<br> <br>     if (sys->text)<br>         FilterRelease(sys->text);<br>-    vlc_mutex_destroy(&sys->textlock);<br> <br>     if (sys->scale_yuvp)<br>         FilterRelease(sys->scale_yuvp);<br>@@ -1601,7 +1600,6 @@ static void spu_Cleanup(spu_t *spu)<br>                              SubFilterDelProxyCallbacks, sys->vout);<br>     filter_chain_Delete(sys->filter_chain);<br>     free(sys->filter_chain_current);<br>-    vlc_mutex_destroy(&sys->filter_chain_lock);<br>     free(sys->source_chain_update);<br>     free(sys->filter_chain_update);<br> <br>@@ -1611,9 +1609,6 @@ static void spu_Cleanup(spu_t *spu)<br> <br>     vlc_vector_destroy(&sys->channels);<br> <br>-    vlc_mutex_destroy(&sys->lock);<br>-<br>-    vlc_mutex_destroy(&sys->prerender.lock);<br>     vlc_cond_destroy(&sys->prerender.cond);<br>     vlc_cond_destroy(&sys->prerender.output_cond);<br>     vlc_vector_clear(&sys->prerender.vector);<br>diff --git a/src/video_output/window.c b/src/video_output/window.c<br>index 16ebf9ef5a..9c2df5c1e6 100644<br>--- a/src/video_output/window.c<br>+++ b/src/video_output/window.c<br>@@ -82,7 +82,6 @@ vout_window_t *vout_window_New(vlc_object_t *obj, <br>const char *module,<br>     w->module = vlc_module_load(window, "vout window", module, false,<br>                                 vout_window_start, window);<br>     if (!w->module) {<br>-        vlc_mutex_destroy(&w->lock);<br>         vlc_object_delete(window);<br>         return NULL;<br>     }<br>@@ -141,7 +140,6 @@ void vout_window_Delete(vout_window_t *window)<br>         window->ops->destroy(window);<br> <br>     vlc_objres_clear(VLC_OBJECT(window));<br>-    vlc_mutex_destroy(&w->lock);<br>     vlc_object_delete(window);<br> }<br> <br>-- <br>2.25.0<hr>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br></blockquote><hr>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a></pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>