@Beeker , I analised more and it's curious that it does not run on gst-1.
you're device is mounted on /media/sr0
perhaps try with init 4 (hope that device remains mounted)
and try if it works with.
gst-launch-1.0 -v playbin uri=cdda://4
If ok then it's possible that for gst-1.0 the servicemp3.cpp needs an adaptation for gst-1.0
dm8000 login: root
Password:
root@dm8000:~# init 4
root@dm8000:~# gst-launch-1.0 -v playbin uri=cdda://4
Setting pipeline to PAUSED ...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri = cdda://4
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source = "\(GstCdioCddaSrc\)\ source"
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: always-ok = false
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstCdioCddaSrc:source: Could not open CD device for reading.
Additional debug info:
/home/hains/openpli-oe-core/build/tmp/work/mips32el-oe-linux/gstreamer1.0-plugins-ugly/1.5.2+gitAUTOINC+090e8f7159-r0/git/ext/cdio/gstcdiocddasrc.c(407): gst_cdio_cdda_src_open (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstCdioCddaSrc:source:
cdio_open() failed: No such file or directory
Setting pipeline to NULL ...
Freeing pipeline ...
root@dm8000:~#
I tried 1-5. No luck..I found a old gstcdiocddasrc.c and gstcdiocddasrc.h in gstreamer 0.10 With header files using gstcdiocddasrc.h(include) as part of plugins-base. But that is removed since gstreamer 0.11 and i assume totally rebuild from stratch in 1.0.
for example. Reading sectors/tracks( correct me if i'm wrong) in gst 1.5.2 it is.
static gboolean
gst_cdio_cdda_src_open (GstAudioCdSrc * audiocdsrc, const gchar * device)
{
GstCdioCddaSrc *src;
discmode_t discmode;
gint first_track, num_tracks, i;
gint first_audio_sector = 0, last_audio_sector = 0;
#if LIBCDIO_VERSION_NUM > 83
cdtext_t *cdtext;
#endif
src = GST_CDIO_CDDA_SRC (audiocdsrc);
g_assert (device != NULL);
g_assert (src->cdio == NULL);
GST_LOG_OBJECT (src, "trying to open device %s", device);
if (!(src->cdio = cdio_open (device, DRIVER_UNKNOWN)))
goto open_failed;
In 0.10 it is.
static gint
gst_cdda_base_src_get_track_from_sector (GstCddaBaseSrc * src, gint sector)
{
gint i;
for (i = 0; i < src->num_tracks; ++i) {
if (sector >= src->tracks[i].start && sector <= src->tracks[i].end)
return i;
}
return -1;
}
But many changes in name of functions, arguments, classes...etc..But i know a lot of things to try...wish me good luck.
Edited by Beeker, 29 June 2015 - 17:14.