1
mirror of https://code.videolan.org/videolan/vlc synced 2024-10-03 01:31:53 +02:00
Commit Graph

225 Commits

Author SHA1 Message Date
Jean-Baptiste Kempf
7136d004f8 libVLC: Expose DiscTotal meta 2015-10-16 19:18:46 +02:00
Thomas Guillem
4706adfb46 libvlc_media_player: fix unused warning 2015-10-15 14:02:55 +02:00
Thomas Guillem
5a2e5138a3 libvlc.sym: add missing libvlc_media_player_set_android_context 2015-09-17 17:47:06 +02:00
Felix Paul Kühne
688e3bcb4d libvlc media list player: add getter for player instance 2015-09-10 18:18:49 +02:00
Felix Paul Kühne
6a23d2cd78 libvlc media list player: attach observer after player instance creation 2015-09-10 17:15:14 +02:00
Felix Paul Kühne
90f8255ccd lib/media player: remove remnant 2015-09-10 16:36:06 +02:00
Rémi Denis-Courmont
5f000e6ac6 libvlc: return useful/visible video dimensions (fixes #15122) 2015-08-23 12:46:44 +03:00
Rémi Denis-Courmont
e318990236 lib: fix uninitialized values on error path 2015-08-05 21:38:09 +03:00
Rémi Denis-Courmont
5fb1ac638e lib: remove libvlc_event_manager_register_event_type() 2015-08-05 21:30:49 +03:00
Rémi Denis-Courmont
b5985e1d52 lib: remove event listener groups
In real use, there are few (typically only zero or one) listeners per
event type. In this case, the linear search through the listener groups
was actually slower than the linear search through the whole list of
listeners: it required one iteration per event type, even for event
types with no listeners.

(Note: using a hash table over the event type would make a lot more
 sense as an optimization.)
2015-08-05 21:30:49 +03:00
Rémi Denis-Courmont
175ce396f3 lib: simplify and speed up event delivery 2015-08-05 21:30:49 +03:00
Rémi Denis-Courmont
0a222373f5 lib: merge both event manager locks
The distinction was rather vain, as the inner lock was almost never
held without the outer lock. The only case was adding an event callback
(but _not_ removing one). On the other hand, the distinction required
extra heap manipulations and memory copying for each event.
2015-08-05 21:30:49 +03:00
Rémi Denis-Courmont
b80a4563a2 lib: merge event_internal.h into event.c 2015-08-05 21:30:49 +03:00
Rémi Denis-Courmont
062bd6c22a lib: remove no lonegr used asynchronous event queue
This fixes excessive (and dumb) usage of thread local variables, and
invalid use of thread cancellation.
2015-08-05 21:30:49 +03:00
Rémi Denis-Courmont
e978f924cb lib: add dedicated thread for list player media end handling
This avoids using the buggy asynchronous event queue. This does NOT
solve other existing races and dead locks in the media list player.
2015-08-05 21:30:49 +03:00
Rémi Denis-Courmont
5c573b07ac lib: simplify set_relative_playlist_position_and_play() 2015-08-05 21:30:49 +03:00
Rémi Denis-Courmont
e15851d57a lib: remove dead code
As of a2ab8b276c, there is always a media
player underneath the media list player.
2015-08-05 21:30:49 +03:00
Rémi Denis-Courmont
a2ab8b276c lib: always create the media player underneath the list player 2015-08-05 19:08:03 +03:00
Rémi Denis-Courmont
7f4edacfd2 event: remove unused instance libvlc_event_manager_new() parameter 2015-08-05 19:08:03 +03:00
Rémi Denis-Courmont
475d6019b3 lib: retain/release the instance more consistently
All objects with a pointer back to the instance ought to retain a
reference to it (which currently means pretty much all objects).
2015-08-05 19:08:02 +03:00
Rémi Denis-Courmont
6a8352db0b lib: remove internal event functions from export list
The following functions are not marked LIBVLC_API and are not in the
public header files (for a reason):
 - libvlc_event_manager_new(),
 - libvlc_event_manager_register_event_type() and
 - libvlc_event_manager_release().
There wer no reasons to have them in the symbols list.
2015-08-05 19:08:02 +03:00
Rémi Denis-Courmont
fc15c20e72 libvlc: expose event for audio output device change 2015-07-28 10:05:27 +03:00
Rémi Denis-Courmont
a8ffc3b821 aout: propagate current device to parent input manager 2015-07-28 10:04:41 +03:00
Rémi Denis-Courmont
bd8485fc6e libvlc: expose event for audio volume change (fixes #14568)
Cc: Harald Sitter <sitter@kde.org>
2015-07-28 10:04:38 +03:00
Rémi Denis-Courmont
09bea7fa99 libvlc: expose events for the audio mute status (refs #14568)
Cc: Harald Sitter <sitter@kde.org>
2015-07-28 10:03:54 +03:00
Rémi Denis-Courmont
32bf025b29 libvlc: add corked and uncorked events (fixes #14444)
This exposes (audio) policy cork events to LibVLC applications. The
intended usage is for applications to pause/resume playback.

We decided against pausing and resuming automatically as it would most
likely confuse the playback state machine of existing applications. By
default, the OS decides might either mute or duck the audio stream.

Cc: Harald Sitter <sitter@kde.org>
2015-07-27 14:08:38 +03:00
Rémi Denis-Courmont
d8aa9aae50 lib: fix warning 2015-07-25 18:10:29 +03:00
Felix Paul Kühne
5f08edfe08 libvlc: deprecate AGL vout setter/getter
The QuickDraw vout is gone since  a long time so this remnant is a NO-OP
2015-07-24 19:18:12 +02:00
Thomas Guillem
a65d213b8b Revert "libvlc_media_player: create the aout when first setting audio options"
This leads to very inconsistent behaviour on WASAPI and PulseAudio.

This reverts commit 1d7c559827.
2015-06-26 10:37:02 +02:00
Thomas Guillem
63dbabfda7 lib: add libvlc_media_player_set_android_context
Used to pass the Java VM and a org.videolan.libvlc.IAWindowNativeHandler
jobject.
2015-06-25 19:08:22 +02:00
Thomas Guillem
1d7c559827 libvlc_media_player: create the aout when first setting audio options
If not setting any audio options, the aout will be created by the decoder
thread.

This avoids to create an audio output that will be destroyed if you change it
with libvlc_audio_output_set.
2015-06-25 19:08:18 +02:00
Rémi Denis-Courmont
3cee1194f9 lib: fix memory leak 2015-06-18 00:11:04 +03:00
Rémi Denis-Courmont
167d5d5d44 lib: fix pointer misused as integer and simplify 2015-06-18 00:11:04 +03:00
Rémi Denis-Courmont
3cc31666d4 lib: remove no-op 2015-06-18 00:11:04 +03:00
Felix Paul Kühne
45668a249e libvlc: clean recent title and chapter API additions
Thanks to Rémi for the suggestions
2015-06-16 12:58:55 +02:00
Zhao Zhili
29ed29e642 fix memory leak in lib/audio.c
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2015-06-10 18:44:21 +03:00
Felix Paul Kühne
b0ba9c4cc8 libvlc: expand media player API to retrieve full information about available chapter of a given title 2015-06-09 17:58:14 +02:00
Felix Paul Kühne
8bb74ef54d libvlc: expand media player API to retrieve information about all available titles of the currently playing media item 2015-06-09 17:58:14 +02:00
Rémi Denis-Courmont
2772acfee7 lib: use input "state" variable instead of b_dead 2015-06-05 22:25:58 +03:00
Thomas Guillem
c64b46f663 Fix crash: don't free stack pointer
This fixes a regression brought by 9f85beeeaa
2015-05-26 12:14:36 +02:00
Rémi Denis-Courmont
9f85beeeaa Fix title N variable formatting
Do not assume the title number is small; allocate large enough buffer.
2015-05-23 19:08:27 +03:00
Rémi Denis-Courmont
d39ba9a05c input: switch spu and audio delay variables to integer type 2015-05-22 22:14:39 +03:00
Rémi Denis-Courmont
ce80ca38a7 input: change time and length variable to integer 2015-05-22 22:14:37 +03:00
Rémi Denis-Courmont
5bd4542d60 Use input_Close() rather than vlc_object_release()
input_Create() should be matched with input_Close().
vlc_object_release() should be used only to discard extra references to
the input thread object.
2015-05-21 19:36:02 +03:00
Thomas Guillem
3add837059 lib/video: set "video" prop to true when changing video tracks
It allows an application to re-activate video when the media was played without
video (i.e. with :no-video).
2015-04-29 14:12:17 +02:00
Rémi Denis-Courmont
3f3e723193 lib: rationalize/uniformize video window setters 2015-04-15 18:47:48 +03:00
Thomas Guillem
dd9aa43618 libvlc: remove duplicate line 2015-04-13 15:30:32 +02:00
Rémi Denis-Courmont
b67f295520 libvlc: add libvlc_media_new_callbacks() for custom input media
(fixes #8562)
2015-03-30 23:04:13 +03:00
Thomas Guillem
f3cc5c9f0f libvlc: add libvlc_media_get_type
Get the type of the media.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
2015-03-25 15:29:57 +01:00
Rémi Denis-Courmont
80d88b05f2 Mark unreachable code on GCC even if NDEBUG
This might suppress some warnings (and very slightly reduce code size)
when assertions are disabled. Not that I particularly like to create
VLC-specific macros.
2015-02-18 17:52:52 +02:00