From df581d423f726462e113246d349ec126f25ee512 Mon Sep 17 00:00:00 2001 From: Zaheer Abbas Merali Date: Fri, 25 Jan 2008 09:50:07 +0000 Subject: gst/mpegtsparse/mpegtspacketizer.c: The logic for the guard interval calculation was totally wrong. Original commit message from CVS: * gst/mpegtsparse/mpegtspacketizer.c: The logic for the guard interval calculation was totally wrong. Fixed. --- ChangeLog | 6 ++++++ gst/mpegtsparse/mpegtspacketizer.c | 19 +++++++++++++++---- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index bf3b99aa..e5a1427e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-01-25 Zaheer Abbas Merali + + * gst/mpegtsparse/mpegtspacketizer.c: + The logic for the guard interval calculation was totally wrong. + Fixed. + 2008-01-24 David Schleef Patch by: Olivier Crete diff --git a/gst/mpegtsparse/mpegtspacketizer.c b/gst/mpegtsparse/mpegtspacketizer.c index d4c05041..4be21dc1 100644 --- a/gst/mpegtsparse/mpegtspacketizer.c +++ b/gst/mpegtsparse/mpegtspacketizer.c @@ -827,8 +827,6 @@ mpegts_packetizer_parse_nit (MpegTSPacketizer * packetizer, DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM_other_frequency (delivery); gchar *constellation_str, *code_rate_hp_str, *code_rate_lp_str, *transmission_mode_str; - int i; - /* do the stuff */ /* bandwidth is 8 if 0, 7 if 1, 6 if 2, reserved otherwise */ if (bandwidth <= 2) @@ -896,8 +894,21 @@ mpegts_packetizer_parse_nit (MpegTSPacketizer * packetizer, code_rate_lp_str = "reserved"; } /* guard is 32 if 0, 16 if 1, 8 if 2, 4 if 4 */ - for (i = 0; i < guard_interval - 4; i++) { - guard_interval *= 2; + switch (guard_interval) { + case 0: + guard_interval = 32; + break; + case 1: + guard_interval = 16; + break; + case 2: + guard_interval = 8; + break; + case 4: + guard_interval = 4; + break; + default: /* make it default to 32 */ + guard_interval = 32; } switch (transmission_mode) { case 0: -- cgit v1.2.1