[mythtv-commits] Ticket #12313: Fix 32 to 64 bit integer arithmetic for first PVR-150 recordedseek record
MythTV
noreply at mythtv.org
Mon Nov 3 06:16:00 UTC 2014
#12313: Fix 32 to 64 bit integer arithmetic for first PVR-150 recordedseek record
---------------------------------------+-----------------------
Reporter: faginbagin <mythtv@…> | Owner: jyavenard
Type: Patch - Bug Fix | Status: new
Priority: minor | Milestone: unknown
Component: MythTV - Recording | Version: 0.27.4
Severity: medium | Keywords:
Ticket locked: 0 |
---------------------------------------+-----------------------
Commercial flagging was broken for PVR-150/300/500 recordings. I think it
may have been limited to 32 bit O/Ss due to a conversion from a 32 bit
unsigned int to a 64 bit signed int, which caused the first recordedseek
record to look like this:
{{{
chanid starttime mark offset type
2005 2014-11-02 07:00:00 0 4294967146 9
}}}
That offset=4294967146 caused mythcommflag's attempts to seek to the
beginning of a recording to fail and caused numerous decoding errors. The
offset in hex is 0xffffff6a, which happens to be the 32 bit value of -150
base 10. I tracked the root cause down to one line in
libmythtv/recorders/dtvrecorder.cpp and fixed it with a typecast. See
attached patch. After the patch, no recordedseek record is inserted for
mark=0 and type=9.
--
Ticket URL: <https://code.mythtv.org/trac/ticket/12313>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list