Ticket #2006: bbc7.patch.txt

File bbc7.patch.txt, 1.7 KB (added by dm@…, 18 years ago)
Line 
1Index: 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     {
38Index: 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.