From 8f267c4a47fa65193c39635675a536468d5d4296 Mon Sep 17 00:00:00 2001 From: John Grossman Date: Wed, 13 Jun 2012 12:56:22 -0700 Subject: [PATCH] LibAAH_RTP: Fix a deserialization bug. DO NOT MERGE Fix for bug 6446715 Fix a deserialization bug which was causing an assertion failure in stagefright and bringing down the entire media server. Basically, you will hit this any time you play a track longer than ~2147 seconds. (Technically, the crash will happen any time the play pointer at a position which is ~2147 * (1 * 2N) where N >= 0) Change-Id: Ic0d371b0f6c29fddf0a033f5de08a70b3e63c854 --- media/libaah_rtp/aah_rx_player_substream.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/media/libaah_rtp/aah_rx_player_substream.cpp b/media/libaah_rtp/aah_rx_player_substream.cpp index 9ee8f50e18927..0239e3993d7d8 100644 --- a/media/libaah_rtp/aah_rx_player_substream.cpp +++ b/media/libaah_rtp/aah_rx_player_substream.cpp @@ -200,7 +200,8 @@ void AAH_RXPlayer::Substream::processPayloadStart(uint8_t* buf, if (ts_valid) { uint32_t ts_upper = U32_AT(buf + parse_offset); parse_offset += 4; - ts = (static_cast(ts_upper) << 32) | ts_lower; + ts = (static_cast(ts_upper) << 32) | + static_cast(ts_lower); } // Check the flags to see if there is another 24 bytes of timestamp