Ticket #123 (closed enhancement: fixed)
please allow ringtones in any format supported by GStreamer
| Reported by: | luca@… | Owned by: | mickey |
|---|---|---|---|
| Priority: | minor | Milestone: | milestone4 |
| Component: | framework/odeviced | Version: | |
| Keywords: | audio | Cc: |
Description
This generated on FSO-Milestone2 on Debian, see (1)(2).
Basically, since the user should be able to choose any ringtone she/he wants, hardcoding the audio codec is not the best option. Since Gstreamer provides the 'playbin' plugin (3) for this purpose, uses it!
The attached patch against FSO-Milestone2 implements that and has been tested with sid/wav/mp3/ogg. I'll port the patch to the Git repository later.
(1) http://bugs.debian.org/495668
(2) http://lists.linuxtogo.org/pipermail/smartphones-standards/2008-August/000220.html
(3) http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-playbin.html
Attachments
Change History
Changed 5 years ago by luca@…
comment:1 follow-up: ↓ 2 Changed 5 years ago by mickey
- Status changed from new to closed
- Resolution set to invalid
playbin introduced too much latency. Instead, I have started using a codecmap. Which codec should I add for .ogg?
comment:2 in reply to: ↑ 1 Changed 5 years ago by luca@…
- Status changed from closed to reopened
- Resolution invalid deleted
- Summary changed from gstreamer 'playbin' plugin instead of a codec-specific one for the ringtone to please allow ringtones in any format supported by GStreamer
Reopening the bug with a better title.
Replying to mickey:
playbin introduced too much latency. Instead, I have started using a codecmap. Which codec should I add for .ogg?
As I explained at (1), GStreamer doesn't provide a "codec" plugin for all the formats, e.g. for .ogg you need 'oggdemux ! vorbisdec ! audioconvert'. FWIW, the situation is similar for .wav, which uses wavparse.
While digging for a solution I found the decodebin plugin (2), which Google told me it needs GStreamer Dynamic Pads (3).
The attached patch is against FSO-Milestone2 (but I don't know Jono Bacon's blog license): it works nicely with sid/ogg (I'm not sure if the latency is now acceptable), but it segfaults with mp3/wav.
(1) http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495668#10
(2) http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-decodebin.html
(3) http://www.jonobacon.org/?p=810
Changed 5 years ago by luca@…
[FSO-Milestone2] use GStreamer 'decodebin' plugin for ringtone
comment:4 Changed 5 years ago by mickey
- Owner changed from jluebbe to mickey
- Status changed from reopened to new
comment:5 Changed 5 years ago by mickey
- Keywords audio added
- Component changed from framework/oeventd to framework/odeviced
comment:6 follow-up: ↓ 7 Changed 5 years ago by luca@…
Yesterday evening (Thu, 23 Oct 2008 CEST) the FSO site was down, so I continued the discussion on the Debian bug (1) and also on the smartphones-userland mailing list (2).
The most interesting point, at least IMHO, is the fact that for the first time and thanks to videorecordings I discovered by myself how much latency is involved in milestone3, on upstream FSO image and Debian and with Arkanoid.sid or Yue's nothing2.ogg (3) (after having applied the attached patch).
(1) http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495668#58
(2) http://lists.linuxtogo.org/pipermail/smartphones-userland/2008-October/000289.html
(3) http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495668#38
Changed 5 years ago by luca@…
[FSO-Milestone3] use GStreamer 'decodebin' plugin for ringtone
comment:7 in reply to: ↑ 6 Changed 5 years ago by luca@…
Replying to luca@…:
The most interesting point, at least IMHO, is the fact that for the first time and thanks to videorecordings I discovered by myself how much latency is involved in milestone3, on upstream FSO image and Debian and with Arkanoid.sid or Yue's nothing2.ogg (3) (after having applied the attached patch).
As Michael suggested (4), a partial solution would be to add "ogg = oggdemux ! vorbisdec ! audioconvert" to the decoder matrix (patch attached). With this solution, the latency for Ogg ringtones is still there, but reduced when compared to the decodebin approach (5).
Thus, the attached patch at least improves the current situation and fixes part of this ticket :-)
(4) http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495668#63
(5) http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=495668#68
Changed 5 years ago by luca@…
- Attachment 0001-framework-subsystems-odeviced-audio.py-add-Ogg-deco.patch added
[FSO-Git] framework/subsystems/odeviced/audio.py: add Ogg decoder
comment:8 Changed 5 years ago by mickey
- Status changed from new to closed
- Resolution set to fixed
Bandaid implemented. We even check and remove not-existing pipelines. That should be good enough.

[FSO-Milestone2] use Gstreamer 'playbin' plugin for ringtone