Hi,
I'm kind of stuck. I would really appreciate if I get some feedback on this.
Thanks,
Amit Sadaphule
------------------------------------------------------------------------
*From:* Amit Sadaphule
*Sent:* Friday 27 October 2017 05:45:19 PM IST +0530
*To:* Rygel-list
*Cc:* Amit Sadaphule
*Subject:* Playback, volume controls from renderer using Rygel apis
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
_______________________________________________
rygel-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/rygel-list