Ticket #6314 (closed defect: fixed)
Opened 3 years ago
Last modified 22 months ago
PID filtering of data streams is broken
| Reported by: | stuartm | Owned by: | janne |
|---|---|---|---|
| Priority: | trivial | Milestone: | 0.22 |
| Component: | MythTV - DVB/ATSC | Version: | head |
| Severity: | low | Keywords: | |
| Cc: | Ticket locked: | yes |
Description
Configured to record TV only, however since around the time of the initial QT4 port the filters have failed to remove data streams including MHEG etc
Known issue, but I'm opening the ticket to make sure it doesn't fall between the cracks before the release of 0.22.
Attachments
Change History
comment:1 Changed 3 years ago by gnome42
comment:2 Changed 3 years ago by stuartm
Patch doesn't seem to break anything, but it doesn't stop data streams from being recorded on 'TV Only' profiles either.
comment:3 Changed 3 years ago by danielk
- Priority changed from critical to trivial
- Severity changed from medium to low
- Milestone changed from 0.22 to unknown
Not really critical bfr 0.22, all that happens is extra streams are recorded.
Changed 3 years ago by tralph11@…
- Attachment mbe_pid_filter_patch.log.gz added
mythbackend log with patch showing VBI (private-data) and TVGx (private-sec) streams getting filtered
comment:4 Changed 3 years ago by janne
- Owner changed from danielk to janne
- Status changed from new to accepted
- Milestone changed from unknown to 0.22
comment:5 Changed 3 years ago by janne
- Status changed from accepted to closed
- Resolution set to fixed
(In [21575]) set the proper recording type in *StreamData? when a recording starts. Fixes #5192, Fixes #6314
comment:6 Changed 2 years ago by janne
(In [23788]) make sure recording type is set correctly in MPEGStreamData
DTVSignalMonitor::SetProgramNumber?|SetDVBService|SetChannel? might reset the streamdata and set the recording type to "all". Call SetRecordingType?() after them to be sure the setting sticks. Refs #6314 since the ticket was probably only fixed for the first tuning request.
comment:7 Changed 2 years ago by janne
(In [23814]) backports [23788] from trunk
make sure recording type is set correctly in MPEGStreamData
DTVSignalMonitor::SetProgramNumber?|SetDVBService|SetChannel? might reset the streamdata and set the recording type to "all". Call SetRecordingType?() after them to be sure the setting sticks. Refs #6314 since the ticket was probably only fixed for the first tuning request.

Hi gbee & Daniel,
The MPEGStreamData::_recording_type is being set correctly but then it is reset back to its default value of "all" by MPEGStreamData::Reset() called via other methods such as sm->SetDVBService(netid, tsid, progNum).
One option for fixing this is to reorder things and always ensure that the recording_type is set after Reset() is called. However, a better option is to not reset the _recording_type to "all" in Reset(). recording_type is a property of the recording profile and does not need to be reset at every stream data reset.
It looks like the "Audio Only" option also suffers from the same problem will record from the data pids.
Attached is a proposed patch to fix both issues. Untested :)