git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
same fix for slowMotion
[enigma2.git]
/
lib
/
dvb
/
decoder.cpp
diff --git
a/lib/dvb/decoder.cpp
b/lib/dvb/decoder.cpp
index c550163e5e984c9e0cd04176c6456a631ea61b52..5fa59ed4f352d132c6f2754372904423658e22d7 100644
(file)
--- a/
lib/dvb/decoder.cpp
+++ b/
lib/dvb/decoder.cpp
@@
-931,10
+931,10
@@
RESULT eTSMPEGDecoder::setAC3Delay(int delay)
}
eTSMPEGDecoder::eTSMPEGDecoder(eDVBDemux *demux, int decoder)
}
eTSMPEGDecoder::eTSMPEGDecoder(eDVBDemux *demux, int decoder)
- :m_demux(demux), m_changed(0), m_decoder(decoder), m_video_clip_fd(-1), m_showSinglePicTimer(e
App
)
+ :m_demux(demux), m_changed(0), m_decoder(decoder), m_video_clip_fd(-1), m_showSinglePicTimer(e
Timer::create(eApp)
)
{
demux->connectEvent(slot(*this, &eTSMPEGDecoder::demux_event), m_demux_event_conn);
{
demux->connectEvent(slot(*this, &eTSMPEGDecoder::demux_event), m_demux_event_conn);
- CONNECT(m_showSinglePicTimer
.
timeout, eTSMPEGDecoder::finishShowSinglePic);
+ CONNECT(m_showSinglePicTimer
->
timeout, eTSMPEGDecoder::finishShowSinglePic);
m_is_ff = m_is_sm = m_is_trickmode = 0;
}
m_is_ff = m_is_sm = m_is_trickmode = 0;
}
@@
-1069,6
+1069,7
@@
RESULT eTSMPEGDecoder::setFastForward(int frames_to_skip)
m_is_ff = frames_to_skip != 0;
setState();
m_is_ff = frames_to_skip != 0;
setState();
+ unfreeze(); // audio might be restarted and still in preroll (freezed) state.
if (m_video)
return m_video->setFastForward(frames_to_skip);
if (m_video)
return m_video->setFastForward(frames_to_skip);
@@
-1081,6
+1082,7
@@
RESULT eTSMPEGDecoder::setSlowMotion(int repeat)
m_is_sm = repeat != 0;
setState();
m_is_sm = repeat != 0;
setState();
+ unfreeze(); // audio might be restarted and still in preroll (freezed) state.
if (m_video)
return m_video->setSlowMotion(repeat);
if (m_video)
return m_video->setSlowMotion(repeat);
@@
-1191,7
+1193,7
@@
RESULT eTSMPEGDecoder::showSinglePic(const char *filename)
if (!seq_end_avail)
write(m_video_clip_fd, seq_end, sizeof(seq_end));
write(m_video_clip_fd, stuffing, 8192);
if (!seq_end_avail)
write(m_video_clip_fd, seq_end, sizeof(seq_end));
write(m_video_clip_fd, stuffing, 8192);
- m_showSinglePicTimer
.
start(150, true);
+ m_showSinglePicTimer
->
start(150, true);
}
close(f);
}
}
close(f);
}