History log of /frameworks/av/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
202bce11a7f66f27e6dbb6d154ddc123aa62513d 03-Dec-2014 Andy Hung <hunga@google.com> Fix NuPlayer assertion on failure to create AudioTrack

Under heavy media load or monkey/stress testing, more than
32 AudioTracks may be created or memory resources may be scarce.
Remove the assertion on failure to create AudioTrack
and signal MEDIA_ERROR.

Bug: 17319843
Change-Id: I5d4e200b5f50d800046851a33e035cdc6ff10075
f8d717772f6d185cb07720cd5091df9b7d612e0b 27-Nov-2014 Chong Zhang <chz@google.com> notify seek complete upon first video output frame

Bug: 18541814
Change-Id: Ie4e0976885f26eb253460eab371cb181ea85f2db
7137ec7e005a5a6e3c0edb91cfacf16a31f4bf6a 13-Nov-2014 Chong Zhang <chz@google.com> tunnel NuPlayer source and decoder input

Bug: 18342383

Change-Id: Ieff1cd3bad2b39d46f127ddd5d5139b919992461
c6cfd70f24a11b946859485ce398a189c301a4e2 12-Nov-2014 Wei Jia <wjia@google.com> NuPlayer: tunnel decoder with renderer for data buffer passing.

Bug: 18342383

Change-Id: I182928007814c146c01a86196c4fda1d46e74ea4
2245fc625910e47d1ba3c339e205c21ab58a47ad 03-Oct-2014 Wei Jia <wjia@google.com> NuPlayerDecoder: postpone input message processing when it's not dequeued.

Bug: 17622642
Change-Id: I67608121bf70d6acb152e4aa64892b11bf167e8c
b86e68f834b7040518b99d1d0245d5f2e5cb9c86 01-Aug-2014 Chong Zhang <chz@google.com> Split CEA-608 Closed caption into 4 tracks CC1~CC4

Bug: 16463078

Change-Id: Ib3073090934232016e535fbb8fa56cdf9d7ab6eb
87603c0dd1f4e62e52feffa8d6e960ad21f68893 21-Aug-2014 Lajos Molnar <lajos@google.com> NuPlayer: remember and resubmit CSDs after flush

Bug: 17118001
Change-Id: I09bbefd4c05de0db1c593e8d6d38859358a20ebb
095248375e29adde961ec2a44989ecb3a6dda6a2 17-Jul-2014 Lajos Molnar <lajos@google.com> nuplayer: support widevine sources

- handle widevine:// scheme
- add separate looper for renderer (as it can block initial buffer
handling if all buffers are used)
- initiate secure codecs before source is started
- don't read secure buffers
- share ACodec's input buffers with Widevine source

on the decoder side

- keep track of mediabuffers released by widevine source
- keep track of dequeued input buffers (for safety)
- release mediabuffer when buffer is subsequently dequeued. (This
was hardcoded into OMXCodec to do this when buffer-empties message
was handled, but MediaCodec does not support such functionality.)

Bug: 15699665
Change-Id: I4a369443294e45c644be8b0257010e52db1d7c9b
bc2fb720bbd0acd122bacc67e844e982d068f6f9 09-Jul-2014 Wei Jia <wjia@google.com> Add support of audio offloading for NuPlayer.

Change-Id: Ic83973339fb46a83b48382e6097925f45d200867
a7fa1d9530b6870f2c7850e3025d7db963661803 11-Jun-2014 Chong Zhang <chz@google.com> support for CEA-608 closed caption

Bug: 15470448

Change-Id: Ic6a527f5c35a8ee0a08a5b043336e4d193216083
704e72658b1082264a26a83c50046da34f07d1a1 05-Jun-2014 Wei Jia <wjia@google.com> Added paused state to NuPlayerDecoder

This prevents decoder from requesting new buffer until the decoder
is resumed, and prevents processing a potential DISCONTINUITY while
the player is still flushing.

Bug: 13133027

Change-Id: I2f9fa9f00c8583aa6908809cb7c31ddde07cfaf0
1cd139824b2e6832f239cd27d8962d3239053c02 18-Jan-2014 Lajos Molnar <lajos@google.com> NuPlayer: use MediaCodec instead of ACodec

Bug: 11785204
Change-Id: I1455bfc683469c7a69e565b179aceacbc5c459f5
6d0a94ead4f6e62b8ca9b2b1d775ffcd0a7a7aab 24-Jan-2014 Robert Shih <robertshih@google.com> NuPlayer side support for seamless format switch.

Avoid reinstantiating decoder if seamless format switch is supported.

Change-Id: I2c2be08d6da90cc835ec747d04a76db2313dfc7c
840667883fd09d44015716d79bc3ac4d60edc0f0 16-Aug-2011 Andreas Huber <andih@google.com> experimental support for fragmented mp4 playback in nuplayer

cherry picked from change 170999

Change-Id: I407775f0290154ad4961134839a15c9f296424c0
078cfcf7cce9185ec7559910d08b0bc02bfc88a3 15-Sep-2011 Andreas Huber <andih@google.com> Various improvements to nuplayer playback

- Drastically cut down the number of times we supply the AudioSink with data
by estimating the time until the sink would run out of data and then scheduling
a refill in advance of that.

- Use a dedicated looper for video decoders since they are currently taking
too long to return from OMX_FillThisBuffer (bug 5325201)

- Revise thread priorities for the OMX dispatcher and software codecs, instead
of running them at ANDROID_PRIORITY_AUDIO, they now only run at

- Since threads created by pthread_create inherit all of the parent threads
attributes including thread priority, briefly reset thread priority to
ANDROID_PRIORITY_FOREGROUND before instantiating OMX components and then
restore it.

Change-Id: If9332a3a20dad5485333d68c11de0d2d5d3fffc3
00f4951088805442e86ff9c2a20ddad79fc2410a 11-May-2011 Andreas Huber <andih@google.com> The decoder wrapper is no longer needed. Also disable building old-style decoders.

Change-Id: Ie022f1a6dffe619c1b0385aa13f63e097282cfe4
1173118eace0e9e347cb007f0da817cee87579ed 09-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3438258 Add SurfaceTexture as MediaPlayer sink

This change enables the use of a SurfaceTexture in place of a Surface
as the video sink for an android.media.MediaPlayer. The new API
MediaPlayer.setTexture is currently hidden.

This includes:
- New Java and C++ interfaces
- C++ plumbing and implementation (JNI, Binder)
- Stagefright AwesomePlayer and NuPlayer use ANativeWindow
(either Surface or SurfaceTextureClient)

Change-Id: I2b568bee143d9eaf3dfc6cc4533c1bebbd5afc51
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
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
f933441648ef6a71dee783d733aac17b9508b452 16-Dec-2010 Andreas Huber <andih@google.com> Initial support for a true streaming player for mpeg2 transport streams.

Change-Id: I153eec439d260a5524b21270e16d36940ec3161a