Opened 16 years ago
Closed 16 years ago
Last modified 16 years ago
#201 closed patch (wontfix)
DVB: For streams not correctly identifying as video
Reported by: | Owned by: | Isaac Richards | |
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | mythtv | Version: | head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
I had problems getting myth to tune to Discovery HD theater, and it turns out it was because the stream wasn't being properly identified as having video - dvbtraffic showed OTHER for that stream, although it also showed that it had a type 0x80. I had no problems tuning to and capturing this channel outside of myth, however. Upon inspection of the source, I found that it looked like this fix was started but never finished. Here's the diff:
Index: libs/libmythtv/siparser.cpp =================================================================== --- libs/libmythtv/siparser.cpp (revision 6995) +++ libs/libmythtv/siparser.cpp (working copy) @@ -795,6 +795,8 @@ e.Type = ES_TYPE_VIDEO_MPEG1; break; case 0x80: // OpenCable Mpeg2 + e.Type = ES_TYPE_VIDEO_MPEG2; + break; case 0x02: // DVB/ATSC Mpeg2 e.Type = ES_TYPE_VIDEO_MPEG2; break;
You'll notice all I had to add was the two lines underneath case 0x80, which was already there. This is my first contribution. Hope I did everything right.
Attachments (1)
Change History (5)
Changed 16 years ago by
Attachment: | mythtvdvb.diff added |
---|
comment:1 Changed 16 years ago by
comment:2 Changed 16 years ago by
Type: | defect → patch |
---|---|
Version: | 0.18.1 → head |
comment:4 Changed 16 years ago by
As the person who last touched the code in this vicinity, I'd like to add that Isaac is completely correct here. The patch is not sensible.
Atomjack, you do not understand how a switch statement in C/++ works. A case statement is a label. Everything between a given label and the next break statement is executed. So, your patch will not change the function of the code at all.
If the the tuning was working incorrectly before you patched it and correctly afterwards, I would suggest that was has most likely happened is that before the change, you were not running the most up-to-date version of the code, perhaps due to something silly like failing to install it or having two versions of the binaries installed in different locations. The fix to recognize OpenCable?-labeled MPEG-2 streams in TS mode was made over a month ago before the switch to TS mode as the default, but after the 0.18.1 release.
Keith
I had problems getting myth to tune to Discovery HD theater, and it turns out it was because the stream wasn't being properly identified as having video - dvbtraffic showed OTHER for that stream, although it also showed that it had a type 0x80. I had no problems tuning to and capturing this channel outside of myth, however. Upon inspection of the source, I found that it looked like this fix was started but never finished. You'll notice all I had to add was the two lines underneath case 0x80, which was already there. This is my first contribution. Hope I did everything right.