Index: libs/libmythtv/dvbrecorder.cpp
===================================================================
--- libs/libmythtv/dvbrecorder.cpp	(revision 10352)
+++ libs/libmythtv/dvbrecorder.cpp	(working copy)
@@ -427,14 +427,24 @@
     QMutexLocker change_lock(&_pid_lock);
 
     if (!_input_pat || !_input_pmt)
+    {
+        VERBOSE(VB_RECORD, LOC + "AdjustFilters() " +
+                QString("pat(%1) pmt(%2)")
+                .arg((bool)_input_pat).arg((bool)_input_pmt));
+
         return false;
+    }
 
+    VERBOSE(VB_RECORD, LOC + "AdjustFilters() 1");
+
     uint_vec_t add_pid, add_stream_type;
 
     add_pid.push_back(MPEG_PAT_PID);
     add_stream_type.push_back(StreamID::PrivSec);
     _stream_data->AddListeningPID(MPEG_PAT_PID);
 
+    VERBOSE(VB_RECORD, LOC + "AdjustFilters() 2");
+
     for (uint i = 0; i < _input_pat->ProgramCount(); i++)
     {
         add_pid.push_back(_input_pat->ProgramPID(i));
@@ -442,6 +452,8 @@
         _stream_data->AddListeningPID(_input_pat->ProgramPID(i));
     }
 
+    VERBOSE(VB_RECORD, LOC + "AdjustFilters() 3");
+
     // Record the streams in the PMT...
     bool need_pcr_pid = true;
     for (uint i = 0; i < _input_pmt->StreamCount(); i++)
@@ -452,6 +464,8 @@
         _stream_data->AddWritingPID(_input_pmt->StreamPID(i));
     }
 
+    VERBOSE(VB_RECORD, LOC + "AdjustFilters() 4");
+
     if (need_pcr_pid && (_input_pmt->PCRPID()))
     {
         add_pid.push_back(_input_pmt->PCRPID());
@@ -459,6 +473,8 @@
         _stream_data->AddWritingPID(_input_pmt->PCRPID());
     }
 
+    VERBOSE(VB_RECORD, LOC + "AdjustFilters() 5");
+
     // Adjust for EIT
     AdjustEITPIDs();
     for (uint i = 0; i < _eit_pids.size(); i++)
@@ -468,6 +484,8 @@
         _stream_data->AddListeningPID(_eit_pids[i]);
     }
 
+    VERBOSE(VB_RECORD, LOC + "AdjustFilters() 6");
+
     // Delete filters for pids we no longer wish to monitor
     PIDInfoMap::iterator it   = _pid_infos.begin();
     PIDInfoMap::iterator next = it;
@@ -477,6 +495,9 @@
 
         if (find(add_pid.begin(), add_pid.end(), it.key()) == add_pid.end())
         {
+            VERBOSE(VB_RECORD, LOC + "Removing pid " +
+                    QString("0x%1").arg(it.key(),0,16));
+
             _stream_data->RemoveListeningPID(it.key());
             _stream_data->RemoveWritingPID(it.key());
             (*it)->Close();
@@ -485,15 +506,24 @@
         }
     }
 
+    VERBOSE(VB_RECORD, LOC + "AdjustFilters() 7");
+
     // Add or adjust filters for pids we wish to monitor
     for (uint i = 0; i < add_pid.size(); i++)
         OpenFilter(add_pid[i], DMX_PES_OTHER, add_stream_type[i]);
 
 
+    VERBOSE(VB_RECORD, LOC + "AdjustFilters() 8");
+
     // [Re]start dummy video
     StopDummyVideo();
+
+    VERBOSE(VB_RECORD, LOC + "AdjustFilters() 9");
+
     StartDummyVideo();
 
+    VERBOSE(VB_RECORD, LOC + "AdjustFilters() A");
+
     // Report if there are no PIDs..
     if (_pid_infos.empty())
     {        
@@ -502,6 +532,8 @@
         return false;
     }
 
+    VERBOSE(VB_RECORD, LOC + "AdjustFilters() B");
+
     return true;
 }
 
