diff --git a/libarmbox/audio.cpp b/libarmbox/audio.cpp index 36498e4..7cbe499 100644 --- a/libarmbox/audio.cpp +++ b/libarmbox/audio.cpp @@ -226,8 +226,14 @@ int cAudio::PrepareClipPlay(int ch, int srate, int bits, int little_endian) if ((!dsp_dev) || (access(dsp_dev, W_OK))) { if (dsp_dev) lt_info("%s: DSP_DEVICE is set (%s) but cannot be opened," - " fall back to /dev/dsp1\n", __func__, dsp_dev); - dsp_dev = "/dev/dsp1"; + " fall back to /dev/dsp\n", __func__, dsp_dev); + dsp_dev = "/dev/dsp"; + } + if ((!mix_dev) || (access(mix_dev, W_OK))) { + if (mix_dev) + lt_info("%s: MIX_DEVICE is set (%s) but cannot be opened," + " fall back to /dev/mixer\n", __func__, dsp_dev); + mix_dev = "/dev/mixer"; } lt_info("%s: dsp_dev %s mix_dev %s\n", __func__, dsp_dev, mix_dev); /* NULL mix_dev is ok */ /* the tdoss dsp driver seems to work only on the second open(). really. */ diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 3c852be..19e9588 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -974,13 +974,18 @@ uint64_t cPlayback::GetReadCount() int cPlayback::GetAPid(void) { - lt_info("%s\n", __func__); - return mAudioStream; + gint current_audio = 0; + g_object_get (m_gst_playbin, "current-audio", ¤t_audio, NULL); + lt_info("%s: %d audio\n", __FUNCTION__, current_audio); + return current_audio; } int cPlayback::GetVPid(void) { - return 0; + gint current_video = 0; + g_object_get (m_gst_playbin, "current-video", ¤t_video, NULL); + lt_info("%s: %d video\n", __FUNCTION__, current_video); + return current_video; } int cPlayback::GetSubtitlePid(void)