Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
09bea7fa
Commit
09bea7fa
authored
Jul 27, 2015
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
libvlc: expose events for the audio mute status (refs #14568)
Cc: Harald Sitter <sitter@kde.org>
parent
32bf025b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
0 deletions
+29
-0
include/vlc/libvlc_events.h
include/vlc/libvlc_events.h
+2
-0
lib/event.c
lib/event.c
+2
-0
lib/media_player.c
lib/media_player.c
+25
-0
No files found.
include/vlc/libvlc_events.h
View file @
09bea7fa
...
...
@@ -79,6 +79,8 @@ enum libvlc_event_e {
libvlc_MediaPlayerESSelected
,
libvlc_MediaPlayerCorked
,
libvlc_MediaPlayerUncorked
,
libvlc_MediaPlayerMuted
,
libvlc_MediaPlayerUnmuted
,
libvlc_MediaListItemAdded
=
0x200
,
libvlc_MediaListWillAddItem
,
...
...
lib/event.c
View file @
09bea7fa
...
...
@@ -285,6 +285,8 @@ static const event_name_t event_list[] = {
DEF
(
MediaPlayerESSelected
)
DEF
(
MediaPlayerCorked
)
DEF
(
MediaPlayerUncorked
)
DEF
(
MediaPlayerMuted
)
DEF
(
MediaPlayerUnmuted
)
DEF
(
MediaListItemAdded
)
DEF
(
MediaListWillAddItem
)
...
...
lib/media_player.c
View file @
09bea7fa
...
...
@@ -71,6 +71,10 @@ static int
corks_changed
(
vlc_object_t
*
obj
,
const
char
*
name
,
vlc_value_t
old
,
vlc_value_t
cur
,
void
*
opaque
);
static
int
mute_changed
(
vlc_object_t
*
obj
,
const
char
*
name
,
vlc_value_t
old
,
vlc_value_t
cur
,
void
*
opaque
);
static
void
add_es_callbacks
(
input_thread_t
*
p_input_thread
,
libvlc_media_player_t
*
p_mi
);
...
...
@@ -483,6 +487,23 @@ static int corks_changed(vlc_object_t *obj, const char *name, vlc_value_t old,
return
VLC_SUCCESS
;
}
static
int
mute_changed
(
vlc_object_t
*
obj
,
const
char
*
name
,
vlc_value_t
old
,
vlc_value_t
cur
,
void
*
opaque
)
{
libvlc_media_player_t
*
mp
=
(
libvlc_media_player_t
*
)
obj
;
if
(
old
.
b_bool
!=
cur
.
b_bool
)
{
libvlc_event_t
event
;
event
.
type
=
cur
.
b_bool
?
libvlc_MediaPlayerMuted
:
libvlc_MediaPlayerUnmuted
;
libvlc_event_send
(
mp
->
p_event_manager
,
&
event
);
}
VLC_UNUSED
(
name
);
VLC_UNUSED
(
opaque
);
return
VLC_SUCCESS
;
}
/**************************************************************************
* Create a Media Instance object.
*
...
...
@@ -660,8 +681,11 @@ libvlc_media_player_new( libvlc_instance_t *instance )
register_event
(
mp
,
ESSelected
);
register_event
(
mp
,
Corked
);
register_event
(
mp
,
Uncorked
);
register_event
(
mp
,
Muted
);
register_event
(
mp
,
Unmuted
);
var_AddCallback
(
mp
,
"corks"
,
corks_changed
,
NULL
);
var_AddCallback
(
mp
,
"mute"
,
mute_changed
,
NULL
);
/* Snapshot initialization */
register_event
(
mp
,
SnapshotTaken
);
...
...
@@ -713,6 +737,7 @@ static void libvlc_media_player_destroy( libvlc_media_player_t *p_mi )
"snapshot-file"
,
snapshot_was_taken
,
p_mi
);
/* Detach callback from the media player / input manager object */
var_DelCallback
(
p_mi
,
"mute"
,
mute_changed
,
NULL
);
var_DelCallback
(
p_mi
,
"corks"
,
corks_changed
,
NULL
);
/* No need for lock_input() because no other threads knows us anymore */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment