[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