1 | Index: libs/libmythtv/dvbrecorder.cpp |
---|
2 | =================================================================== |
---|
3 | --- libs/libmythtv/dvbrecorder.cpp (revision 10446) |
---|
4 | +++ libs/libmythtv/dvbrecorder.cpp (working copy) |
---|
5 | @@ -424,6 +424,8 @@ |
---|
6 | |
---|
7 | bool DVBRecorder::AdjustFilters(void) |
---|
8 | { |
---|
9 | + StopDummyVideo(); // Stop the dummy video before acquiring the lock. |
---|
10 | + |
---|
11 | QMutexLocker change_lock(&_pid_lock); |
---|
12 | |
---|
13 | if (!_input_pat || !_input_pmt) |
---|
14 | @@ -491,7 +493,6 @@ |
---|
15 | |
---|
16 | |
---|
17 | // [Re]start dummy video |
---|
18 | - StopDummyVideo(); |
---|
19 | StartDummyVideo(); |
---|
20 | |
---|
21 | // Report if there are no PIDs.. |
---|
22 | @@ -597,6 +598,7 @@ |
---|
23 | { |
---|
24 | CreatePAT(); |
---|
25 | CreatePMT(); |
---|
26 | + _ts_packets_until_psip_sync = 0; |
---|
27 | } |
---|
28 | } |
---|
29 | |
---|
30 | @@ -1125,6 +1127,7 @@ |
---|
31 | |
---|
32 | void DVBRecorder::RunDummyVideo(void) |
---|
33 | { |
---|
34 | + sleep(3); // Delay start-up. This seems to avoid some problems. |
---|
35 | QString p = gContext->GetThemesParentDir(); |
---|
36 | QString path[] = |
---|
37 | { |
---|
38 | Index: libs/libmythtv/avformatdecoder.cpp |
---|
39 | =================================================================== |
---|
40 | --- libs/libmythtv/avformatdecoder.cpp (revision 10446) |
---|
41 | +++ libs/libmythtv/avformatdecoder.cpp (working copy) |
---|
42 | @@ -815,7 +815,7 @@ |
---|
43 | |
---|
44 | { |
---|
45 | int initialAudio = -1, initialVideo = -1; |
---|
46 | - if (itv) |
---|
47 | + if (itv || (itv = GetNVP()->GetInteractiveTV()) != NULL) |
---|
48 | itv->GetInitialStreams(initialAudio, initialVideo); |
---|
49 | if (initialAudio >= 0) |
---|
50 | SetAudioByComponentTag(initialAudio); |
---|
51 | @@ -2095,7 +2095,7 @@ |
---|
52 | void AvFormatDecoder::ProcessDSMCCPacket( |
---|
53 | const AVStream *str, const AVPacket *pkt) |
---|
54 | { |
---|
55 | - if (!itv) |
---|
56 | + if (!itv && ! (itv = GetNVP()->GetInteractiveTV())) |
---|
57 | return; |
---|
58 | |
---|
59 | // The packet may contain several tables. |
---|