git.cweiske.de
/
enigma2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5e7190d
)
servicedvb.cpp: fix "some seconds no audio after audio track change on TS Playback"
author
ghost
<andreas.monzner@multimedia-labs.de>
Thu, 26 Nov 2009 17:34:31 +0000
(18:34 +0100)
committer
ghost
<andreas.monzner@multimedia-labs.de>
Thu, 26 Nov 2009 17:35:11 +0000
(18:35 +0100)
lib/service/servicedvb.cpp
patch
|
blob
|
history
diff --git
a/lib/service/servicedvb.cpp
b/lib/service/servicedvb.cpp
index 21effd573ac0f52b5e7a9fb34b76580bb5387240..b71271a9add4211c8c612629beaf88ab7863d288 100644
(file)
--- 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;
{
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;
if (h.getProgramInfo(program))
return -1;
@@
-1765,6
+1766,9
@@
int eDVBServicePlay::selectAudioStream(int i)
apidtype = program.audioStreams[stream].type;
}
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))
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;
}
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 */
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 */