From e62d20268de87f63083896b5eef083d541078322 Mon Sep 17 00:00:00 2001 From: Lajos Molnar Date: Tue, 17 Dec 2013 14:10:46 -0800 Subject: stagefright: Fix issue with tracking media format in packet source Media format in AnotherPacketSource is now tracked across discontinuities. This fixes a bug where format was set on queueAccessUnit and cleared on dequeueAccessUnit, thereby allowing it to remain cleared. Change-Id: I20975a630443f4a223a2b4344e8244f34b9560b9 Signed-off-by: Lajos Molnar Bug: 12060952 --- media/libstagefright/httplive/PlaylistFetcher.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'media/libstagefright/httplive') diff --git a/media/libstagefright/httplive/PlaylistFetcher.cpp b/media/libstagefright/httplive/PlaylistFetcher.cpp index 1754bf2..f095987 100644 --- a/media/libstagefright/httplive/PlaylistFetcher.cpp +++ b/media/libstagefright/httplive/PlaylistFetcher.cpp @@ -861,12 +861,13 @@ status_t PlaylistFetcher::extractAndQueueAccessUnits( && source->dequeueAccessUnit(&accessUnit) == OK) { // Note that we do NOT dequeue any discontinuities. + // for simplicity, store a reference to the format in each unit + sp format = source->getFormat(); + if (format != NULL) { + accessUnit->meta()->setObject("format", format); + } packetSource->queueAccessUnit(accessUnit); } - - if (packetSource->getFormat() == NULL) { - packetSource->setFormat(source->getFormat()); - } } return OK; -- cgit v1.1