diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gst/mpegtsparse/mpegtspacketizer.c | 7 |
2 files changed, 11 insertions, 2 deletions
@@ -1,3 +1,9 @@ +2008-04-01 Zaheer Abbas Merali <zaheerabbas at merali dot org> + + * gst/mpegtsparse/mpegtspacketizer.c: + Cable delivery subsystem descriptors' frequency's bcd + is measured in 100Hz units so adjust multiplier accordingly. + 2008-04-01 Thijs Vermeir <thijsvermeir@gmail.com> * configure.ac: diff --git a/gst/mpegtsparse/mpegtspacketizer.c b/gst/mpegtsparse/mpegtspacketizer.c index 6e80f051..526a25df 100644 --- a/gst/mpegtsparse/mpegtspacketizer.c +++ b/gst/mpegtsparse/mpegtspacketizer.c @@ -941,8 +941,11 @@ mpegts_packetizer_parse_nit (MpegTSPacketizer * packetizer, guint8 *frequency_bcd = DESC_DVB_CABLE_DELIVERY_SYSTEM_frequency (delivery); - guint32 frequency = - 10 * ((frequency_bcd[3] & 0x0F) + + /* see en 300 468 section 6.2.13.1 least significant bcd digit + * is measured in 100Hz units so multiplier needs to be 100 to get + * into Hz */ + guint32 frequency = 100 * + ((frequency_bcd[3] & 0x0F) + 10 * ((frequency_bcd[3] & 0xF0) >> 4) + 100 * (frequency_bcd[2] & 0x0F) + 1000 * ((frequency_bcd[2] & 0xF0) >> 4) + |