Playback, volume controls from renderer using Rygel apis
- From: Amit Sadaphule <amit sadaphule koperadev com>
- To: rygel-list gnome org
- Subject: Playback, volume controls from renderer using Rygel apis
- Date: Fri, 27 Oct 2017 17:45:19 +0530
Hi,
I am using RygelPlaybinRenderer APIs for implementing a dlna renderer. I
am using BubbleUPnP app on android to push the playback to my renderer.
Playback seems to work OK now. The playback controls and volume controls
from BubbleUPnP app are responsive and work fine. The reverse is what I
am trying to get working i.e. I am trying to find a way to get the
playback controls (play, pause, stop, seek, next, previous, shuffle,
repeat) and volume controls to work from my renderer.
Here is the list of things I tried for different controls:
1. Play, Pause, Stop: I just set the state of the playbin obtained by
calling
https://developer.gnome.org/librygel-renderer-gst/unstable/RygelPlaybinRenderer.html#rygel-playbin-renderer-get-playbin
and that changes the playback state properly and updates the playback
status in BubbleUPnP app too.
2. Seek: With #1 as a guideline, I tried using gst_element_seek on the
playbin obtained using
https://developer.gnome.org/librygel-renderer-gst/unstable/RygelPlaybinRenderer.html#rygel-playbin-renderer-get-playbin,
but that seems to take a lot of time to actually apply the seek and
reflect the status in BubbleUPnP app. Sometimes almost 20 seconds. So, I
thought that maybe there is some other way to do this. So, I tried using
https://developer.gnome.org/librygel-renderer/unstable/RygelMediaPlayer.html#rygel-media-player-seek
by trying to get the player property of RygelMediaRenderer which is the
base class of RygelPlaybinRenderer. But that gave error
"GLib-GObject-WARNING **: g_object_get_valist: property 'player' of
object class 'RygelPlaybinRenderer' is not readable". Could you please
let me know how I can implement seek in the renderer?
3. next, previous: I saw in Rygel's API documentation that there are
APIs rygel_player_controller_next() and
rygel_player_controller_previous() which could be used for implementing
these controls
(https://developer.gnome.org/librygel-renderer/unstable/RygelPlayerController.html).
I tried to use those APIs, but they take the pointer to
RygelPlayerController instance as an argument. I could not find a way to
get that instance. So, I'm not sure whether I am on the right path.
Could you please point me in the right direction?
4. shuffle, repeat: I could not find anything in Rygel's documentation
to implement these controls in my renderer.
5. volume: Changing the volume from BubbleUPnP app changes the loudness
of the audio in playbin. I tried setting the "volume" property of the
Playbin obtained by calling
https://developer.gnome.org/librygel-renderer-gst/unstable/RygelPlaybinRenderer.html#rygel-playbin-renderer-get-playbin
which had effect on the loudness. But that did not sync the volume in
BubbleUPnP to the value set from the renderer. Also, I could not get
mute to work. When I tried setting the mute property of the playbin, it
complained that the mute property did not exist. So, I'm not sure how I
can implement volume/mute handling in my renderer.
Could you please help me to get #2 to #5 working?
Thanks,
Amit Sadaphule
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]