History log of /frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3a37f3e948b600405e0c70b8a241778fda44168e 19-Apr-2017 Hassan Shojania <shojania@google.com> Modular DRM for MediaPlayer/SampleAES

Bug: 34559906
Test: CTS Tests + playback in Chrome

Change-Id: Iaa275c4cfe6d15f02774ff4cc8a2cb5e7d1012e1
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
bc7aae4ff7e72e5bf0fa888f946835840a4357bb 31-Mar-2017 Chong Zhang <chz@google.com> MediaCas: changes to address API review comments

Attach CAS system id as well as session id for scrambled tracks,
so that MediaExtractor can construct the CasInfo object.

bug: 22804304
bug: 36791613
bug: 36783335

Change-Id: I524c10a746615da5c16845658c39fd5a972182c9
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
3b2847fa5506dc265d2e46f067bfbb66ae209f74 19-Jan-2017 Chong Zhang <chz@google.com> MediaCas: add CAS support to MPEG2TSExtractor and MediaCodec

bug: 22804304
Change-Id: I14ec4ffc8c72e283f5cfd742dabaf4ad8bd9d698
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
82e147049625a4cfdcb228a1de7efda594d446c9 17-Nov-2016 Robert Shih <robertshih@google.com> MPEG2TSExtractor: get duration by seeking to end

Prerequisites for this implementation (included in this commit):
* DataSources:
+ add kIsLocalFileSource flag
* AnotherPacketSource:
+ implement getEstimatedBufferDurationUs
* ATSParser:
+ expose Event SourceType
+ expose first pts

Test: adb shell am start -a android.intent.action.VIEW -n <video player activity> -d <local ts file>
Bug: 31964524
Change-Id: Ifcb6b3246cfa3748ee4d87ed09dbdf62e963a6e5
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
b08d83e972ba8cb08a6e361d5cdaf97857bcf21f 01-Oct-2016 Wei Jia <wjia@google.com> ATSParser: dequeue pesStartOffset for every access unit.

Bug: 27297491
Change-Id: Id960693574679ccc8d3b54be37b0cadf104078bb
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
b2e7ceb874b7fe5a6c1b3a72a42f09969edf445f 04-May-2016 Marco Nelissen <marcone@google.com> Merge "Check section size when verifying CRC" into mnc-dev am: fd9e18a00d am: 4a46a277f8 am: 8f53b71bf3
am: c920b2c27f

* commit 'c920b2c27fc81b9ae305f8213fedb48803facee5':
Check section size when verifying CRC

Change-Id: I6ef0f68ff63469c1e6da0b7eab3fe946058573ac
c0c9f50d15f7b9ed539c0c6277296d083f41b293 28-Apr-2016 Marco Nelissen <marcone@google.com> Check section size when verifying CRC

Bug: 28333006
Change-Id: Ief7a2da848face78f0edde21e2f2009316076679
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
19cec89f8b05fd05f8034ee1a4cd39ee09c33f02 21-Apr-2016 Marco Nelissen <marcone@google.com> Fix overflow in PCR calculations

Bug: 28283706
Change-Id: I46fe99f43433a1f3a61e168136e17beb13b92156
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
9558f6dd733dc450270f38b9a139d384d273ce0a 09-Mar-2016 Wei Jia <wjia@google.com> MPEG2TSExtractor: add syncPoint after mSourceImpls has been updated.

ATSParser: fix the pesStartOffset for each syncEvent.

Bug: 27297491
Change-Id: I5a994db52a58bbbb61c1a3e37e9bd9a327a8587e
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
9ff1e728de605c4cbc61bc95bb36e515b93654fb 21-Oct-2015 Robert Shih <robertshih@google.com> Return sources from the same program if possible

Also simplify control flows where branch conditions are already known.

Bug: 24407652
Change-Id: Id3c4d47000576db2f5e28063aaaef5936b08fb84
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
c9fa35cf7c9c11a8acb77128db1a6a13f1befe3c 19-Aug-2015 Chad Brubaker <cbrubaker@google.com> Whitelist updatePCR from fsanitize=integer

updatePCR does some math to compute transport rate for logging that can
cause an unsigned overflow. Since this is harmless and only for logging
whitelist the function as its otherwise safe from integer issues.

Bug:23110888

Change-Id: I0686afeef99ccf636701d687e5628ae057f60e4c
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
3728ba367f1e23e652c5539d9488aa0d0d4ec9d7 01-Aug-2015 Chad Brubaker <cbrubaker@google.com> Fix harmless unsigned overflow in recoverPTS

Change-Id: I89e3a827cf566421e8dd9b6a3c842e73a19c140f
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
f4b30c200cfc7c8c502f759dcb90979586e43b27 11-Jun-2015 Wonsik Kim <wonsik@google.com> Merge "mpeg2ts: more error tolerance" into mnc-dev
65959d34fdab8319dbf765be5fbf7ff8051eedf1 10-Jun-2015 Wonsik Kim <wonsik@google.com> mpeg2ts: more error tolerance

Be more tolerant with corrupt packet. Instead of reporting EOS,
simply discard the damaged packet and continue.

Bug: 21764375

Change-Id: Ibfd112db884732a082371c1abbd047077d1bf57e
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
9b132a7bdde8388f124e4db5ff54a88a93f8cdb6 09-Jun-2015 Jaesung Chung <jaesung@google.com> Merge "stagefright: check the validity of the range of adaptation field" into mnc-dev
f2cecd570c35d3b6422396dd51c0b4202732bcea 21-May-2015 Jaesung Chung <jaesung@google.com> mpeg2ts: Fix SIGEGV on ATSParser::Stream::flush()

Bug: 21340130
Change-Id: I4c7eeaf1e35a93400adc87af4eea1902d89d2630
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
540006666b4191cd78391378f1c66c21bcf0c4cd 13-Apr-2015 Wonsik Kim <wonsik@google.com> Implement seek for MPEG2TSExtractor

TODO: Use bandwidth-based estimation to seek forward long period.

Bug: 20126845
Change-Id: I5e2f90784a9ce0dce348715dfcfc4f83ee196170
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
8a1fa1ebc2375c9dcaca2b78918c6740fff2ca74 15-May-2015 Jaesung Chung <jaesung@google.com> stagefright: check the validity of the range of adaptation field

Bug: 20439174
Change-Id: I76a9a3cd1669164cee921191d27d4c669eeb9ae0
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
aabbdc7401ae24a4199f12a283985deb648673c0 09-May-2015 Robert Shih <robertshih@google.com> HLS: invoke signalEOS on ATSParser to flush out final samples

Also clear EOS status when we reset ATSParser.

Bug: 20959760
Change-Id: I730234acf3cdbee08affe0f28b7e8759e11059cb
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
e314c678ea0b53dd9296ba6b5c3272c702433b47 22-Apr-2015 Jinsuk Kim <jinsukkim@google.com> DO NOT MERGE: Prevent crash at erroneous MPEG2TS bitstream

Used new RCHECK_ macros for drop-in replacements for CHECK_
to avoid crashing at bit errors encountered while parsing
MPEG2 transport packets.

Also removed CHECK_ macros in PSI table processing as errors
would have been already filtered out by CRC check.

Bug: 20274977
Change-Id: I5ca810df3c4295142610bbd1d586d7529bb9f303
(cherry picked from commit e84ab89a2cdae1d1828225f88d895882d716f90e)
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
0852843d304006e3ab333081fddda13b07193de8 08-Apr-2015 Robert Shih <robertshih@google.com> stagefright: initial timed id3 support in hls

Change-Id: I00a8a786b3f4b74742c34770edd94e937abe20a8
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
ff9863b206cd5d1e856dbfdf66bc85581aee7608 16-Apr-2015 Marco Nelissen <marcone@google.com> am 6705a49f: am 541a9ac7: am 8cd4132a: am 3f22f5a2: Merge "Signal EOS at end of mpeg video to flush out final sample"

* commit '6705a49f6481ad1728215a2a72472fe43c786cd0':
Signal EOS at end of mpeg video to flush out final sample
be9634d071e79b72a42a4504f64eda9e2a0bceb8 15-Apr-2015 Marco Nelissen <marcone@google.com> Signal EOS at end of mpeg video to flush out final sample

Change-Id: I27196a4a4b7fe37da52d3ee99da8cb80294d36d0
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
002135d149d8604e972d1b353d768f293fbce15f 03-Apr-2015 Chong Zhang <chz@google.com> Merge "HLS: misc bug fixes"
d47dfcb5a2e5901c96fc92662cec7aa30f7f8843 27-Mar-2015 Chong Zhang <chz@google.com> HLS: misc bug fixes

- fix no target-duration case

- fix for audio-only <=> audio/video switching

- disable audio-only variants if there is at least
one variant with video

- fix mpeg2ts PTS wraparound when bandwidth adapting

- tweak up/down switch marks

bug: 19567254

Change-Id: Ib46144203c56dfc96eccd6ddaa3867e8a4f2c6a9
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
9ca7b9c74e882526ee5810ff62f203bf75cd3f1a 20-Mar-2015 Jinsuk Kim <jinsukkim@google.com> Do CRC check for MPEG2TS PSI sections

CRC checking helps the parser avoid getting wrong values from
corrupted data in the stream transmitted over a noisy channel.

Bug: 19821428
Change-Id: I7f589a66a781298c039124a4bd1c9453e77b1bf3
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
5c9054bc6efc080b265e028f2ebb1abd2a2e3953 12-Mar-2015 Chih-Hung Hsieh <chh@google.com> Fix print format error.

Change-Id: Ie3b754e22a4f858a35159abc8eaf00aa4949ab24
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
9bcf3ae6c9a413afc7accb5b48db3e5c3c829785 08-Mar-2015 Chong Zhang <chz@google.com> ATSParser: handle PID change

also use original 33bit PTS on first frame, only do wrap around
starting from second frame.

bug: 19656539

Change-Id: I3733e0f60fe4b9275bef4aef819777852c112710
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
799c9682b3776a55d234396aee4a302437150c26 03-Mar-2015 Chong Zhang <chz@google.com> handle mpeg2ts PTS wraparound

bug: 19587682
Change-Id: I805ed6aa330bda3dc0ec8bd3519fb1ffeaa81ca9
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
c6cfd70f24a11b946859485ce398a189c301a4e2 12-Nov-2014 Wei Jia <wjia@google.com> NuPlayer: tunnel decoder with renderer for data buffer passing.

Bug: 18342383

Change-Id: I182928007814c146c01a86196c4fda1d46e74ea4
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
bf20727f0aaf609bc3b495b07b45822b137d21ba 31-Oct-2014 Robert Shih <robertshih@google.com> PlaylistFetcher: check ts program streams before disabling a/v

Bug: 14648838
Change-Id: Ibf2b2cbb235f3d80bc33013e2afc053f13b9035f
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
6456ae745e919085c5024f784aaa2703f9695f98 03-Sep-2014 David Yeh <david.yeh@mediatek.com> stagefright: return failure on malformed TS streams

Bug: 18075193
Change-Id: I7bd97dea263e972a8de3429ed000cbd4913164bf
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
309aa8bf5e4cd66fe988adf2654cac3fadc2a1c3 30-Jul-2014 Robert Shih <robertshih@google.com> httplive: timestamp reporting, track selection

Bug: 15153976
Bug: 15763638
Bug: 16351654
Change-Id: I4462276d4b7342647286a0ca4be11692ce52ff6d
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
9bf32f06e8971c1d3eb4fc5edd74b69557f97212 31-Jul-2014 Chong Zhang <chz@google.com> ATSParser: treat stream type 0x83 as TrueHD AC3

Bug: 16668055
Change-Id: I11fd3f795bbb50113e1a1e28e682edd76f11e146
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
632740c58119a132ce19f6d498e39c5c3773971a 26-Jun-2014 Chong Zhang <chz@google.com> HLS: do not discard packets when queuing explicit discontinuity

in case of explicit discontinuity (#EXT-X-DISCONTINUITY tag in the
playlist), do not discard packets that's already queued.

(when seeking, the old fetcher will be discarded so this won't affect
seeking case.)

Bug: 15020526
Change-Id: I5d3fc489df35e3bc44acb1ee7851571cb99cb56b
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
66830855846db5c211c2da6c055ca9b4167e8974 05-Jun-2014 Chong Zhang <chz@google.com> do not drop TS packet on discontinuity at payload start

Bug: 15470543

Change-Id: Ia96a295fbc7e9f1b1d5c0d9091ac62184d44dcfa
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
b4a7a2df4c28c3f32b5d877b54831d2cc5d78f81 20-Mar-2014 Colin Cross <ccross@android.com> libstagefright: fix 64-bit warnings

%lld -> %" PRId64 " for int64_t
%d -> %zu for size_t
Also fixes some casts from void* to integer types, and some comparisons
between signed and unsigned.

Change-Id: I9c52f76240e39399da252c66459042a6fc626a90
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
84333e0475bc911adc16417f4ca327c975cf6c36 08-Feb-2014 Andreas Huber <andih@google.com> warnings be gone.

Change-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
28786252886f6cd1d89bf4e6c2deeca1788ad5c3 13-Nov-2013 Andreas Huber <andih@google.com> am 5274e21e: am 26c8f714: Merge "Ignore transport stream packets with the "transport_error_indicator" bit set" into klp-dev

* commit '5274e21ea6d9e8009c13817d75f9423735964700':
Ignore transport stream packets with the "transport_error_indicator" bit set
52668ca838e1869676ff95e7388f93ec1858b1e9 11-Nov-2013 Andreas Huber <andih@google.com> Ignore transport stream packets with the "transport_error_indicator" bit set

which indicates that they contain at least one bitstream error that was
unrecoverable.

Change-Id: I10665fd190194fdd2568175fe00b6063d3fc10a5
related-to-bug: 11537029
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
d3c079ae9859011d118f94616d0069c2987013ed 28-Oct-2013 Changwan Ryu <changwan@google.com> Support TS + AC3 for ATSC standard

Change-Id: I141667f3f54b242bafdf0ab9db86852c56f49ffa
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
4b4bb11b8747adeb2efe56c7df4ab6803dd7db41 29-Apr-2013 Andreas Huber <andih@google.com> A reference to the psi section data could become invalid if more

sections were added to the KeyedVector.

Change-Id: I095b5452ccfad89d69fc502fb21ce39495e201c3
related-to-bug: 8754565
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
d5e56231a598b180a1d898bb7dc61b75580e59a4 12-Mar-2013 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f4edf442741886cdbe071e2d15f6e6247269f7c5
Author: Andreas Huber <andih@google.com>
Date: Tue Mar 12 09:09:18 2013 -0700

Pass additional flags to the sink, use TCP by default in wolfiecast mode.

Change-Id: I41e11a2375d4199656e45c4f149d8441d0016092

commit 6302602ed280a38287f507159abfb40a1da38c5a
Author: Andreas Huber <andih@google.com>
Date: Tue Mar 12 08:51:58 2013 -0700

tweaks

Change-Id: Ie29e422d7258be522f4bb1f6c5afcf74c937e547

commit a38a860e4979ba563cadbaafa21b084439449d26
Author: Andreas Huber <andih@google.com>
Date: Mon Mar 11 16:57:43 2013 -0700

Report average lateness all the way from NuPlayerRenderer...

Change-Id: I2e7700703ae656515e44b9c25610d26c75778111

commit a7d49b11675ea88be4029dd8451d1649db94571d
Author: Andreas Huber <andih@google.com>
Date: Mon Mar 11 14:54:19 2013 -0700

Make TimeSyncer smarter, enable TunnelRenderer

Change-Id: I27377a60cd8feb01589da456967fddd34532c20e

commit 0f214c8ef68179f7b61512c37040939554013151
Author: Andreas Huber <andih@google.com>
Date: Thu Mar 7 15:57:56 2013 -0800

convert source timestamps to sink timestamps, report lateness.

Change-Id: I051a60fbbceca2f7b508ae3dac6e01e402bae39e

commit 04a4f8e16bad09157b5615a5fa45310438955832
Author: Andreas Huber <andih@google.com>
Date: Thu Mar 7 09:00:28 2013 -0800

Sync time between sink and source.

Change-Id: Ie8b4d75c957aa48310e7c81d1279761b9f821efe

commit aebe20e6184e3636a99082f8ece08e708015cb8d
Author: Andreas Huber <andih@google.com>
Date: Wed Mar 6 09:03:12 2013 -0800

play with back pressure

Change-Id: I51eb69257e6a79e76f5f9c75ff99d8adbd083947

Change-Id: Ifdf57228667fed7fc71c5090a2c3f7cea1037c5c
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
94a483bf2bd699275673d9cd57cb125d48572f30 29-Jan-2013 Andreas Huber <andih@google.com> Squashed commit of the following:

commit f2c38e5cf8cee3b597c744c9d6a9c0969ac8599a
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 28 16:33:07 2013 -0800

Proper support for video format selection/negotiation.

Change-Id: I7db86cef939d63b8064be1c74de9ad78e85d45d9

commit 488023b7bad086692ffe942114fa3cc0e59a16c0
Author: Andreas Huber <andih@google.com>
Date: Mon Jan 28 11:21:23 2013 -0800

Sink now notifies clients once it is disconnected.

Change-Id: I2f0a458ef1ec30dda1272ad5a013fee4ee70edc9

commit 783932e40dd904aa531c263ad51280d9ca814dcb
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 18 15:03:40 2012 -0800

Alternative DirectRenderer implementation.

Change-Id: I307beb913d7a61cb938bcb02696cc2e82d2b8b07

commit 1935cc9a87824aea71fc8ebe2162f62ec634ce5a
Author: Andreas Huber <andih@google.com>
Date: Tue Dec 18 10:24:27 2012 -0800

Experimenting with wifi sink timing.

Change-Id: I059bae9762cf11777666988a8b4ab2012b5807be

commit a859ee1eadd6a1d6a080667917e8b102c3770d61
Author: Andreas Huber <andih@google.com>
Date: Thu Nov 15 11:16:30 2012 -0800

wfd sink update.

Change-Id: I026dfc580be92aa40dbbe7c1bc061fadf3b08be8

Change-Id: I191d3d7015869ca99254d813d074328fb5b2f479
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
b7c8e91880463ff4981e3e53e98e45d68e2fe374 28-Nov-2012 Andreas Huber <andih@google.com> Add support for HLS playlists of type 'event'.

related-to-bug: 6870049

Squashed commit of the following:

commit eee2f3ba6bb7335f4e285632726db85645669929
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 15:02:01 2012 -0800

Make everything a lot less verbose by default.

Change-Id: I884d7a7901aa1e7d4ff590f065ca57a79d2af8b3

commit 6bbdb837ed5bd88008e45efb8faf595e4051ba26
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 14:34:46 2012 -0800

HLS now properly signals media time changes at discontinuities including

the start of playback (which may not necessarily be at time 0 if the playlist
is of type 'event' and hasn't completed yet).

Change-Id: I5ab747d024f9b8d0df72a4e06a12ebb29f62802e

commit 1555589832b1878a144a976a643e1af4d61f877c
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 14:32:28 2012 -0800

As part of a time discontinuity, clients of IStreamListener can now

signal the corresponding media time after the discontinuity, i.e. the first PTS
timestamp following the discontinuity will be considered equivalent to the
specified media time and media buffers timestamped accordingly.

Change-Id: Id7db7679b7faa6efd6270620ff52e34e884f3e92

commit 5c24c605c073a11c426d025b1e7478fc1ad8365a
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 13:00:56 2012 -0800

NuPlayer sources now expose flags() and can announce

that duration may change (increase) dynamically, in which case duration
will be polled at 1 second intervals and communicated to the upper layers.

Change-Id: I45102909b7a19eed0dda576747e3814d742a0eea

commit ecb71de8e281e61971a2cd73e7161a97540bc357
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 12:57:47 2012 -0800

Stop caching duration in MediaPlayer, duration could increase dynamically.

Change-Id: I7bb2f16c0abe49debdf45c776d2266aa069d7791

commit 544aec5823e6d7a3e97e15b6b23546616bcd343e
Author: Andreas Huber <andih@google.com>
Date: Tue Nov 27 08:46:28 2012 -0800

An attempt to add support for "event" style HLS playlists.

Change-Id: I3dfb2e801ecaff8f5d8bdb3a4fca1b18aeeb2c60

Change-Id: I48cf7f65a654d33f2f49ded74f8be22aed9e3b98
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
90a92053219ae50ddf4bb54e3d54db2d309e2b8d 30-Oct-2012 Andreas Huber <andih@google.com> Various tweaks to wfd

related-to-bug: 7426218

Squashed commit of the following:

commit 1553f1a1c66af998674168f7f7a3be23fcb0c794
Author: Andreas Huber <andih@google.com>
Date: Tue Oct 30 15:51:27 2012 -0700

Add LPCM, AVC and AVC HRD descriptors as necessary.

Change-Id: Ibc836fced0fe37e8a25574c2295e886765b9ea6f

commit 4e74db61d2d31ebe239acbdec8f110f88016a4ea
Author: Andreas Huber <andih@google.com>
Date: Tue Oct 30 15:50:52 2012 -0700

added copyright headers to Sender.{cpp,h}

Change-Id: If615ccb8767e32bd83ed1f0f669acc39a72489f6

commit 7144bf8ae68c5cdb8faa6e219547aabbd750f04e
Author: Andreas Huber <andih@google.com>
Date: Tue Oct 30 15:50:25 2012 -0700

Reenable suspension of the RepeaterSource

Change-Id: I765338fcde89c65e4b69be45a5949eba6bcdcf6f

commit 812164bcfa0699821d7d8eefcc0dff96b2e2cd08
Author: Andreas Huber <andih@google.com>
Date: Tue Oct 30 14:03:50 2012 -0700

Add 2 stuffing bytes to the PES headers for audio tracks.

Change-Id: I8b9c634f6a565ab7fa7ecdb610f7d8557e0b139b

commit a084a741a63015d47c92d99fcd8b980fe615dc7d
Author: Andreas Huber <andih@google.com>
Date: Tue Oct 30 13:19:38 2012 -0700

Fix PCM audio packetization in WFD.

Change-Id: I99a435f9fe6b4397f24d6c22afae5ae2505ffc14

commit c5cb9369585f701f34bce41534940d5f9b59248f
Author: Andreas Huber <andih@google.com>
Date: Tue Oct 30 13:19:12 2012 -0700

Support extraction of PCM audio from transport streams.

Change-Id: I28a0516756ebcb5587325b6588df013ac871ffb9

commit b0a0512300ae037d6b39c2d04952d34b5fc12b2d
Author: Andreas Huber <andih@google.com>
Date: Tue Oct 30 08:54:13 2012 -0700

disable suspend of the RepeaterSource

Change-Id: Ibf42a98185b0567f817ae582a82e6580f95d3d40

commit 4330e8b7668dc92a6d882b5622c0697cf292d04c
Author: Andreas Huber <andih@google.com>
Date: Mon Oct 29 14:11:25 2012 -0700

Better handling of datagrams in ANetworkSession

reduce unnecessary copy overhead.

Change-Id: I2ed8c767274ba07764f03e8d4913041168e5755f

commit a44e73c322ba3f2c336f7cc4e1d63d3a74faa75d
Author: Andreas Huber <andih@google.com>
Date: Mon Oct 29 11:14:47 2012 -0700

Network traffic is now handled on a separate thread.

Audio and video are queued to ensure proper A/V interleaving.
Scheduled packet sends according to capture timestamps to reduce
send-jitter.

Change-Id: Ibd6357c1e663086cf87bec0a98f8e54dfdfaa0e5
related-to-bug: 7426218

Change-Id: Ia440129d656c35814abf18df06da50b73d5bb554
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
0389cc09f7b90f155a8942a0d2e1925cad1dbe2d 02-Oct-2012 Marco Nelissen <marcone@google.com> Fix video continuity

Fixes "pixelation" seen after seeking in Netflix.
b/7211673

Change-Id: Id675acaef1e5fd7151fdfa7bd79e2f25990e1ecd
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
87f2a558dd12043631e12c361abef301bf603140 31-Aug-2012 Andreas Huber <andih@google.com> Improvements to our MPEG2 Transport Stream parser

Verifies the continuity counter
Parses and associates PCR time with streams
Allows for a absolute time anchor to be signalled via discontinuity.

Change-Id: I4bc88c78382c9cc6380f28df584cc6c254e0a8f9
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
8dfa228201131da0bf3ba1d74c819c27c0500f6b 15-May-2012 Andreas Huber <andih@google.com> Fixes parsing of PSI sections in MPEG2 transport streams

They can span multiple transport stream packets, something the parser
previously did not support.

Change-Id: I78da6ffd2d422cceedb87aad61cba2062419e635
related-to-bug: 6166596
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
29357bc2c0dd7c43ad3bd0c8e3efa4e6fd9bfd47 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
df64d15042bbd5e0e4933ac49bf3c177dd94752c 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
eca36b5a1759970bc3d0373d72d6fec7c9b7e944 30-Nov-2011 Andreas Huber <andih@google.com> resolved conflicts for merge of 998a929a to master

Change-Id: Id5cfbcf20e5ec28782cc88075040cf9edebfdfe8
6e3d311b6631b12aac2879d1b08c3534aece78b1 28-Nov-2011 Andreas Huber <andih@google.com> Finer granularity discontinuity support.

No clients can signal a format change on either audio or video track (or both)
and a time discontinuity (timestamps changed) independantly.

Change-Id: I3e6cf4e7c260e85759879d61a9b517f68431c22f
related-to-bug: 5553055
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
3856b090cd04ba5dd4a59a12430ed724d5995909 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
98a46cf165d8de3779874eba01803bbc485f45b9 12-Oct-2011 Andreas Huber <andih@google.com> Assume a PTS of 0 if absent, don't bail on fragmented PES packets not having PTS

Change-Id: I3b31f08428fb7195b98f145ae0675006c8756de1
related-to-bug: 5450187
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
5403129e2a2f44620f2ac8109889e5a61be08732 01-Sep-2011 Andreas Huber <andih@google.com> Signal an error when encountering a malformed .ts stream.

Change-Id: I3ab0215419214b652573945403eb45eb09d41aff
related-to-bug: 5114811
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
06528d7f18ad01377357d337eaa3e875a242bd2d 01-Sep-2011 Andreas Huber <andih@google.com> I have one HLS stream that switches stream PIDs from one bandwidth to the next

this change intends to support its very limited case and signals an error in
all other cases of unexpected PID changes that we cannot recover from.

Change-Id: Icbfdf9fe7461969e2a8781ed416f54d891dd789a
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
18ac5407da14dad9731f40ffc9a56bee73830019 01-Sep-2011 Andreas Huber <andih@google.com> Discontinuities are only signalled on streams that have been identified, i.e.

those that have a queue. This ensures that the player doesn't observe discontinuities
that don't match up across streams.

Also, make sure output buffers arriving from the decoder to be rendered are sent
back to the decoder if we started flushing.

Finally, don't parse TS packets for streams we don't support. And don't allocate
memory for them.

Change-Id: I708e0de4cba8110a62e4c8ceb1e5702430d5d2bb
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
c4c17d47b674b425fb6c399822c0ab3258543c0a 31-Aug-2011 Andreas Huber <andih@google.com> ATSParser now supports a mode in which PTS is considered to be absolute time

i.e. PTS 0 <=> media time 0

Change-Id: If10a0f98c129b95e8430dc419664b1def92e547e
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
386d609dc513e838c7e7c4c46c604493ccd560be 19-May-2011 Andreas Huber <andih@google.com> Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.

Change-Id: I9d2ee63495f161e30daba7c3aab16cb9d8ced6a5
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
3e57322b332214e3cb1874e67a5704c9b2b5f6ec 03-Mar-2011 Andreas Huber <andih@google.com> Resize internal PES buffers dynamically instead of relying on a fixed maximum size.

Change-Id: Ibe720e6148799e32d039ccdb4b269659bc779952
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
32f3cefa373cd55e63deda36ca9d07c7fe22eaaf 03-Mar-2011 Andreas Huber <andih@google.com> Allow optional specification of a PTS timestamp when signalling a discontinuity.

If present, rendering will be suppressed until reaching the timestamp.

Change-Id: Ic64bdf4225063c5a4d042ea9809960b843a46d19
related-to-bug: 3489454
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
ed8d14f6a934072cd012992c4ef16990a54baa9a 16-Feb-2011 Andreas Huber <andih@google.com> Remove legacy, AwesomePlayer-based http live implementation.

Change-Id: I455d0faa5612dcd4d2bb6f2b3c7b64a1caaabf69
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
bc7f5b2e56107cfeaeeab13cf8979379e3c2f139 21-Jan-2011 Andreas Huber <andih@google.com> Some tweaks to HTTP live / nuplayer behaviour

- play audio-only streams again
- workaround for malformed streams that switch PIDs across bandwidths
- attempt to pick a different bandwidth stream if the previously chosen one appears
to be malformed/unsupported.

Change-Id: I426d0a40dc725aa242f619d4c9d048b69aca55c9
related-to-bug: 2368598
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
22fc52f6f72f39e33c3970d0291de3569118aa5c 06-Jan-2011 Andreas Huber <andih@google.com> Some more fixes regarding HTTP live in NuPlayer.

Change-Id: I9e29615fa8ee6c7bd4189373a75c20caef3fd2b1
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
43c3e6ce02215ca99d506458f596cb1211639f29 05-Jan-2011 Andreas Huber <andih@google.com> Seek/Duration support for completed http live streams in NuPlayer.

Change-Id: I55bbe75d87140c07b1927d14ad24130fce803463
related-to-bug: 3321475
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
5bc087c573c70c84c6a39946457590b42d392a33 23-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit eaeaa2672d4e0a82891493b2bde8bdd0c0e79a1b
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 23 10:26:48 2010 -0800

Remove lowest bandwidth stream if using the legacy player.

Change-Id: I2f885e26344996de9152f8fda9fd6bdef89bf953

commit 7d652972615b2750fd8f1c21b9fab0e136df2b82
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 23 10:14:36 2010 -0800

Don't clear the packet source's format for legacy discontinuities.

Change-Id: I9bd5a21b9bd28043ad38bd0658ccc8eda3c1079a

commit 2b18a45aac17cbfe1aa089d0f6510957d438dd64
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 23 10:13:55 2010 -0800

Use NuPlayer for HTTP live streaming based on runtime property.

adb shell setprop media.httplive.enable-nuplayer true

Change-Id: I22738df3403985dc8e6992b1ab5da5747309f773

commit 50d899fb7b9ea52c3994b0a58e993998d926aeed
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 16:25:22 2010 -0800

Make ACodec a lot less verbose.

Change-Id: I94c7e499b61032321ffaf999f5ad2c913cde6a48

commit b19e1740cb4d02990a56844654b5d019987c6405
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 16:22:22 2010 -0800

Wait until we have fresh codec-specific-data before instantiating the decoders

after a discontinuity involving a format change.

Change-Id: I7bcf9b5ae3319f08bf8978a117e8ee5220902e37

commit 06428c006906c9099e430aface3b439ff1d36ecc
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 15:20:38 2010 -0800

Disable random seeks in the streaming tool for now.

Change-Id: Ie86fde422dcfc4b2c7a01be51a193fda9c88cd71

commit e19db68f3bea8a61c191f60f6940f30e3a0d5f1b
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 15:20:27 2010 -0800

Tweak HTTP live parameters.

Change-Id: If4b71e12485facc523a8a43d8213d0feb190daab

commit 1e9942791538c2256b579d96c6c04264b0d8b087
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 14:48:23 2010 -0800

Enable http live streaming through NuPlayer for http URLs containing the string m3u8

Change-Id: I1691fe12ae8f1507fe3673313959cd50bc324624

commit 4c33f96a6e499ee0efe0e70b687094430cb7c1c0
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 14:40:27 2010 -0800

Support for HTTP live streaming in NuPlayer.

Change-Id: Iacba1c3ebaeb8d3b972185deaf4cff18c8009c54

commit ddf705ce553708bc5b13d89a878484cf839bd674
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 13:42:47 2010 -0800

StreamingSource now a subclass of abstract NuPlayer::Source

Change-Id: Ia6c7c639628910b9d1f37decc55da48b07a70de3

commit 9e04a8406b1882a8e3fdeb7b4d52db5ae70b970a
Author: Andreas Huber <andih@google.com>
Date: Wed Dec 22 13:33:52 2010 -0800

Refactor media data sourcing to NuPlayer::Source.

Change-Id: I1db9fb08c4e527bf7b19c29978cf342c2b0a0bc9

Change-Id: I9610a097481dda58f22142eacda3ac2dba0b63f9
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
53df1a460bcfdd129ca2bc416dee2009e35c042e 22-Dec-2010 Andreas Huber <andih@google.com> Distinguish discontinuities w/ a format change from those without.

Shutdown decoders as needed in anticipation of a format change, otherwise just flush.

Change-Id: Ieb04f8aa8658569b091409c4903075fd496e5abb
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
3831a066bcf1019864a94d2bc7b4c9241efc5c22 21-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 63be8ceb8b2354fb997a277c0092abae015ecf10
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:45:34 2010 -0800

Enable handling of discontinuities that involve potential format changes.

Change-Id: I21848a113db8764abb54bdcf302b0923253eaf4d

commit d18a7f80ec09af382026809263dcbbfa9e7a9ec8
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:45:01 2010 -0800

Signal whether or not a format change occured as part of the discontinuity.

Change-Id: I06e64f542f4369549c9cebbb892dc612346ae43d

commit c400adbd5fdbd65cfef7aed9ec65bcaace4bb69b
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:44:46 2010 -0800

A little more instrumentation of ACodec

Change-Id: I07f4aeccbbd15cdd9f80f48c3f92ee984ef6d92b

commit 1d802ee01f47b3cdc5b89502cec7fbb595e197a3
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:43:58 2010 -0800

Only sync audio/video queues if both types of media are actually present.

Change-Id: Ic88edf9bb1ebd4034c08747cce9877a4e28e0d35

commit e402da39d9a4d8b75653a78f728e20a3ef0fb497
Author: Andreas Huber <andih@google.com>
Date: Fri Dec 17 13:42:24 2010 -0800

Disable the random seek for now.

Change-Id: Iddd597b546e2f229e88214f9bdd6452bb188105e

Change-Id: I27c4d9ba916080be94ce6117dbb095e9022ed62b
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
f933441648ef6a71dee783d733aac17b9508b452 16-Dec-2010 Andreas Huber <andih@google.com> Initial support for a true streaming player for mpeg2 transport streams.

Change-Id: I153eec439d260a5524b21270e16d36940ec3161a
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
decd96988e495133e4a1728f612d4c9fdb4d218e 02-Dec-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit de99ae4a523ff5ec40b47071f22fdde1a4b2a0bf
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 2 13:18:40 2010 -0800

Scan for sync words to find H.264 frame/AAC frame boundaries if PES packets do not start with them.

Change-Id: If2861982ecb3006fac806105dbfcd1d43c2a4205

commit be23791ff0d037aa7073589cdc8bfc362e1c281d
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 2 13:12:39 2010 -0800

Properly expand relative key URLs and strip surrounding quotes in the M3UParser.

Change-Id: I013a6d83a64f095d090e5c7730298bdac7d03ab4

commit 0f1d8f65effe0cc42a265dd91d8b91dce6534325
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 2 13:11:27 2010 -0800

Ugly hack that assumes that any http url containing "m3u8" refers to an httplive stream.

Change-Id: I05d7bbc5dab0f9822558122b5b9dc2a109ed8518

commit 255f0d5cdb1072ecd66b47ee614bf574f1388e5a
Author: Andreas Huber <andih@google.com>
Date: Thu Dec 2 13:10:56 2010 -0800

Add one more mimetype "application/x-mpegurl" to identify httplive playlists.

Change-Id: I63fd3b8c2539c9ee23c077df533157af78b10863

Change-Id: I135687383009dbe32d690c9ba8dea60159adc616
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
e332a9181cf6a3155ed1a0fd2afc212ccb1f2753 15-Nov-2010 Andreas Huber <andih@google.com> More HTTP live support, AES encryption etc.

Change-Id: Ia5088042dd0a2181cb73cf8c7a2ff81e34b3064c
related-to-bug: 2368598
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
bff07d0b22a5ee2d9f044f6cb5e4be1532017ab0 12-Oct-2010 Andreas Huber <andih@google.com> HTTP Live content that are tagged as complete are now seekable.

Change-Id: I9d0d2f009f883e5baf3e9de8c5c0aa05760e4bde
related-to-bug: 2368598
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
2a4d22d79e927f2245537921e10fc5fda1c47a29 08-Sep-2010 Andreas Huber <andih@google.com> Work to support switching transport streams mid-stream and signalling discontinuities to the decoder.

Change-Id: I7150e5e7342e1117c524856b204aadcb763e06ed
related-to-bug: 2368598
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
6a63a939601645404fd98f58c19cc38ca818d99e 01-Oct-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 46744c7697f29aec71aed8de3c95ce035c284d97
Author: Andreas Huber <andih@google.com>
Date: Thu Sep 30 16:44:57 2010 -0700

better separation of access units

Change-Id: I5a9e2138aed341f0bcf22cfe368a15ca5ea5a73c

commit d34952ac0feb1ae722ff65824d7353335502219b
Author: Andreas Huber <andih@google.com>
Date: Thu Sep 30 15:35:01 2010 -0700

Support for ES packets that do not start on PES packet boundaries.

Change-Id: I2cf012833948eddfb20b16a1901206cf22ce71e4
related-to-bug: 2368598

Change-Id: Ib9329bd6bb7149b5a6e2483788a96b1b158952fc
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
0da4dab0a45a2bc1d95cbc6ef6a4850ed2569584 27-Sep-2010 Andreas Huber <andih@google.com> Squashed commit of the following:

commit 29a4d3effb05a2e074cb0693316ab1977baeb0b6
Author: Andreas Huber <andih@google.com>
Date: Mon Sep 27 12:01:32 2010 -0700

Fully working implementation of MPEG2TSWriter (for AAC and AVC sources).

Change-Id: I8a32a47565b647bf6c078c520e39565e08ea0d84

commit f4dec4c3899f3be393508e180d6c07e249d3335e
Author: Andreas Huber <andih@google.com>
Date: Mon Sep 27 10:36:31 2010 -0700

More reliable identification of MPEG2 transport streams. Don't keep scanning forever in case the stream does not have both audio and video tracks.

Change-Id: Icc5b4e8be145b2805e8776559546a6818342aea7

commit 4fe3cc942f9b3d3cf54138b828c41214aa916dd2
Author: Andreas Huber <andih@google.com>
Date: Mon Sep 27 08:23:39 2010 -0700

test code

Change-Id: I16560a17661407d06497f99ff88230724bb898af

commit 64d988b24f49f179a90fa677be11c823959e734b
Author: Andreas Huber <andih@google.com>
Date: Thu Sep 23 14:42:52 2010 -0700

First shot at supporting writing to an MPEG2 transport stream.

Change-Id: Ie537939a99fa3ddc0c7661c47c18277584817c74

Change-Id: If78fd034af8f6e8ceac8dbeff96d5ecb3f6b96dc
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
6e4c5c499999c04c2477b987f9e64f3ff2bf1a06 21-Sep-2010 Andreas Huber <andih@google.com> Remove stagefright foundation's incompatible logging interface and update callsites.

Change-Id: I45fba7d60530ea0f233ac3695a97306b6dc1795c
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
82f7321b03eec1e40af9d681370f754ee0279582 01-Sep-2010 Andreas Huber <andih@google.com> Properly extract all raw_data_blocks from an ADSP mpeg4 audio buffer.

Change-Id: I15e21eae50beb6057024ea42a7e9bf3b8d8a0603
related-to-bug: 2368598
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
85f12e9b9062402d6110df3f7099707912040edb 19-Aug-2010 Andreas Huber <andih@google.com> In the absence of width/height information in the sdp, extract the dimensions from the avc codec specific data.

Change-Id: I98c4194593c7e6e24f6fc339c862245111800293
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp
cda17c606b0fe3ccda4dc68a6d43882410ea2462 07-Jun-2010 Andreas Huber <andih@google.com> Initial checkin of mpeg2 transport stream parser for stagefright.

Change-Id: I328ce77404daf7127933b48c9d58ed504fb8fc6f
/frameworks/av/media/libstagefright/mpeg2ts/ATSParser.cpp