Commit Graph

526 Commits

Author SHA1 Message Date
Rémi Denis-Courmont 6c1e53fa81 Remove vlc_list_find 2010-01-23 14:21:57 +02:00
Rémi Denis-Courmont 52943ce6dc Check plugins directory names for unsupported capability 2010-01-10 12:43:49 +02:00
Rémi Denis-Courmont 19adcbe5be variables: use a binary search tree instead of a table
This makes insertion/deletion faster, and saves a lot of code
2010-01-06 16:05:15 +02:00
Rémi Denis-Courmont 646510099d Refactor key mapping internals 2010-01-03 16:37:32 +02:00
Rémi Denis-Courmont 3b90678b8f Remove useless member of libvlc private data 2010-01-02 23:15:58 +02:00
Rémi Denis-Courmont edecf92c8f Allocate each object variable separately
This reduces the amount of memory copied when creating/deleting a
variable on an object. We now use a table of pointers instead of table
of variable_t.

This also simplifies callback handling a bit as the variable_t cannot
move anymore while we wait. Earlier another thread could add or remove
another variable on the same object, thus changing the variable table.

With this change, we could also store non-serialized data (i.e.
non-movable with memcpy/memmove) directly inside variable_t.
2009-12-30 17:15:43 +02:00
Rémi Duraffort ba807e3290 libvlc_priv_t: fix padding. 2009-12-28 14:18:28 +01:00
Rémi Denis-Courmont 8049a70884 Remove module_GetModulesNamesForCapability 2009-12-22 19:51:57 +02:00
Rémi Denis-Courmont 4e2f8a6f77 Remove useless object linked-list
This was mostly useful for vlc_object_get() which is gone.
2009-09-24 20:18:39 +03:00
Rémi Denis-Courmont 940efdbdcf Export vlc_object_get_name 2009-09-05 11:15:15 +03:00
Rémi Denis-Courmont 7401be218f vlc_object_get_name, vlc_object_set_name: accessors 2009-08-23 22:27:26 +03:00
Pierre d'Herbemont 66f6cb9862 libvlc: Put vlc_usage in the same file than where it is used. 2009-08-20 19:09:53 +02:00
Rémi Denis-Courmont 073c5a248e Hide psz_object_name in private data 2009-08-20 00:05:31 +03:00
Rémi Denis-Courmont 6cecd8ecf8 vlc_detach: releases a thread handle asynchronously
Note that this can only be used safely in the core. In a plug-in, it
would introduce a race whereby dlclose() unmaps the code segment that
a detached thread is running (this was discussed over a year ago).
For that, we'd need something a bit more involved along the lines of
Win32's FreeLibraryAndExitThread().
2009-08-02 09:27:13 +03:00
Rémi Denis-Courmont f52524a211 vlc_clone(): abide by --rt-priority and --rt-offset
This avoids using real-time when not asked. It should also fix a
pthread_create() permission failure on FreeBSD (Linux seems to ignore
this error silently).
2009-07-25 16:21:18 +03:00
Rémi Denis-Courmont 3f949d6715 Deliver log messages synchronously to subscribers
Most if not all subscribers are using a fast asynchronous callback
internally anyway (at least Qt4 and libvlc do that). This was
redumdant and wasteful.
2009-07-05 20:30:49 +03:00
Rémi Denis-Courmont 46b0eb666c Kill VLC_OBJECT_INTF 2009-05-23 21:17:47 +03:00
Rémi Denis-Courmont 1ac60c8c90 Keep a thread-safe list of interfaces 2009-05-23 21:14:24 +03:00
Rémi Denis-Courmont f645d20b9f Replace intf_StopThread() with intf_DestroyAll() 2009-05-23 21:14:09 +03:00
Rémi Denis-Courmont b5d9e01ac6 Merge VLC_OBJECT_PACKETIZER with VLC_OBJECT_DECODER 2009-05-23 18:33:28 +03:00
Rémi Denis-Courmont b8247ace03 Make the config file lock per process rather than per instance 2009-05-06 20:25:59 +03:00
Rémi Denis-Courmont d6d444d2e4 No need to keep the config file around all the time 2009-05-06 18:40:06 +03:00
Rémi Denis-Courmont e1e7a51039 Thread-safe and more compact hotkeys initialization 2009-04-15 15:37:53 +03:00
Rémi Denis-Courmont 5483afb583 De-inline vlc_assert_locked() 2009-04-13 23:40:12 +03:00
Rémi Denis-Courmont 6113551a3b Remove interaction core
One useless thread gone (the new subsystem does not need a thread).
2009-03-08 22:55:10 +02:00
Rémi Denis-Courmont cc4e24a8d6 Hopefully thread-safer replacement for intf_UserFatal 2009-03-05 22:02:05 +02:00
Rémi Denis-Courmont 4c2ec04992 Remove unused vlc_object_lock and vlc_object_unlock 2009-03-05 19:08:05 +02:00
Rémi Denis-Courmont 1793ca880e Privatize input stats internals
Those were never used from plugins. This commit is a no-brainer.
2009-02-28 19:45:55 +02:00
Rémi Denis-Courmont 3d729748de Remove uninitialized and unsynchronized global stats
This could crash the input thread(s).
2009-02-28 19:16:29 +02:00
Rémi Denis-Courmont d44daefbf8 Remove dummy VLC_EXPORT 2009-02-08 20:14:27 +02:00
Rémi Denis-Courmont a3e70b4e36 Add module_find_by_short() (internal only) 2009-02-08 20:14:22 +02:00
Rémi Denis-Courmont fc4676a318 Remove unused vlc_object_wait() 2009-01-24 20:57:52 +02:00
Rémi Denis-Courmont 484b0aa1c4 libvlc_InternalWait, libvlc_Quit: wait and signal libvlc exit 2009-01-24 20:57:47 +02:00
Rémi Denis-Courmont ecd8f48066 Privatize packetize and interface object types 2009-01-19 20:57:35 +02:00
Rémi Denis-Courmont 0d92017b3b Unexport vlc_list_find
The rationale is the same as with vlc_object_find().
2009-01-19 19:01:27 +02:00
Rémi Denis-Courmont 1e1fa17174 Privatize vlc_object_t.i_object_type 2009-01-17 21:31:35 +02:00
Rémi Denis-Courmont 46d6a5a452 Simplify waitpipe.
The caller is going to call poll() or something, so locking a mutex is
surely not a performance issue.
2009-01-17 14:43:40 +02:00
Rémi Denis-Courmont f38e00c932 Remove vlc_thread_create
By the way, its earlier (<= 0.8.6) incarnation were buggy.
2009-01-14 21:21:49 +02:00
Rémi Denis-Courmont cffcf64f36 Cleanup interaction-capable interface registration
* Make registration thread-safe, and independent on vlc_list_find().
 * Fix use-after-free race condition when destroying the interface
   (interaction will be lost instead).
2009-01-11 19:06:47 +02:00
Rémi Denis-Courmont 247513ab95 Remove vlc_object_signal and unexport vlc_object_signal_unlocked 2009-01-05 23:11:08 +02:00
Rémi Denis-Courmont 6accad54ca Use a proper condition variable for variable callback handling 2009-01-05 20:03:02 +02:00
Rémi Denis-Courmont 96d708c276 Count message references and get rid of the global message ring buffer
Each susbcriber has its own ring buffer already.
2008-10-14 23:47:06 +03:00
Rémi Denis-Courmont 9745c4a826 Sanitize/rewrite the message subscription API 2008-10-12 22:44:57 +03:00
Rémi Denis-Courmont 497f8a003d Merge msg bank and queue, remove duplicated lock 2008-10-12 16:58:00 +03:00
Rémi Denis-Courmont b5c9f12635 Make the instance lock static
(it's not distinct from the module bank lock)
2008-10-05 16:43:38 +03:00
Rémi Denis-Courmont 8d5ae44174 Another useless parameter 2008-10-05 16:43:38 +03:00
Rémi Denis-Courmont 3e0219e05a Bury the module pointer inside modules.c 2008-10-05 15:36:50 +03:00
Rémi Denis-Courmont 955387c5fb Tentative link fix 2008-10-05 12:57:46 +03:00
Rémi Denis-Courmont e398428451 Use static mutexes 2008-10-05 12:39:14 +03:00
Rémi Denis-Courmont f79f2b1f5b Remove vlc_threads_(init|end), fix thread-safety on Win32 2008-10-05 10:38:49 +03:00