aboutsummaryrefslogtreecommitdiff
path: root/lib/service/servicedvb.cpp
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-11-26 18:34:31 +0100
committerghost <andreas.monzner@multimedia-labs.de>2009-11-26 18:34:31 +0100
commit2013076d767842eba5ac94aaf3e58c94303d05e2 (patch)
tree652d6994314a5360ae722e79c72b43d0d336c4c5 /lib/service/servicedvb.cpp
parent071d793631002b697b3b666af4e6c47406e37a1b (diff)
downloadenigma2-2013076d767842eba5ac94aaf3e58c94303d05e2.tar.gz
enigma2-2013076d767842eba5ac94aaf3e58c94303d05e2.zip
servicedvb.cpp: fix "some seconds no audio after audio track change on TS Playback"
Diffstat (limited to 'lib/service/servicedvb.cpp')
-rw-r--r--lib/service/servicedvb.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp
index 1cdadcf9..f85ce9cc 100644
--- a/lib/service/servicedvb.cpp
+++ b/lib/service/servicedvb.cpp
@@ -1743,6 +1743,7 @@ int eDVBServicePlay::selectAudioStream(int i)
{
eDVBServicePMTHandler::program program;
eDVBServicePMTHandler &h = m_timeshift_active ? m_service_handler_timeshift : m_service_handler;
+ pts_t position = -1;
if (h.getProgramInfo(program))
return -1;
@@ -1765,6 +1766,9 @@ int eDVBServicePlay::selectAudioStream(int i)
apidtype = program.audioStreams[stream].type;
}
+ if (i != -1 && apid != m_current_audio_pid && (m_is_pvr || m_timeshift_active))
+ eDebug("getPlayPosition ret %d, pos %lld in selectAudioStream", getPlayPosition(position), position);
+
m_current_audio_pid = apid;
if (m_is_primary && m_decoder->setAudioPID(apid, apidtype))
@@ -1773,6 +1777,9 @@ int eDVBServicePlay::selectAudioStream(int i)
return -4;
}
+ if (position != -1)
+ eDebug("seekTo ret %d", seekTo(position));
+
int rdsPid = apid;
/* if we are not in PVR mode, timeshift is not active and we are not in pip mode, check if we need to enable the rds reader */