libstagefright: Set is_streaming flag for all widevine content

- For widevine clips played from sdcard get the file type
  from extractor's meta data.
- By setting is_streaming flag 2k buffer size will be used
  for audio offload.

CRs-Fixed: 615323

Change-Id: Ic54a642aa70c3355583807eb4ca2034e4207dfd4
Revert "Audio: Add Pause/Resume in AMR-WB tunnel recording"

This reverts commit e51f3b1dd8b8b2668af3c467a330b18714d29966.

There's no mSource->stop() in MPEG4Writer::Track::pause(),
so no need to add this limitation here.

CRs-Fixed: 620437

Change-Id: I7b7134e2f58083b7dd9cfb3c0943d703ba228ecb
AudioTrack: Handle track invalidate on wait for stream done

If a track invalidate is called while waiting for a stream done,
AudioCallback handler is notified with event EVENT_STREAM_END.
This might cause substantial data loss for offload playback. Try to
recreate the track if needed.

Change-Id: Ie663c85e92588ddfd8d633f4bf5024f9fa4f5c2e
libstagefright: Add support for AC3/EC3 playback in tunnel mode

- Add support for AC3 and EC3 playback in tunnel mode

Change-Id: If5de26d3ff9e63737d6ed43b904c6094f93fbfc0
libstagefright: Enable HFR feature for video recording

- Enable HFR related calls to set HFR mode in stagefright and
  libmediaplayerservice
- Perform HFR scaling with mp4 timescale parameter instead of
  recalculating timestamps

Change-Id: Ie30637093d91ed7f5a41c5137c3ff45e1370a906

libstagefright: HSR: Check if HSR enabled, use HFR value for HSR

- HSR is high speed recording hint from camera app, if this is set
  use frame rate set in HFR as normal encoder frame rate.
- HSR hint also indicates that this is not HFR feature and treat
  this encoding as normal encoding

Change-Id: Ifff59cd8ed88efca230fd34e46325a11728e8c86

libmedia: Adding HFR entry in MediaProfiles.cpp

-- Adding HFR entries for max HFR mode, max HFR width & max HFR height
   in MediaProfiles.cpp

CRs-Fixed: 589983
Change-Id: Iafcc1be4124879a029a2e4b8aded35150d0c120b

libstagefright: Use hw encoder for video recording

Use hw encoder for video recording based on the platform.

CRs-Fixed: 576174
Change-Id: I5d14d2fabb8d39fe940fa25c88b90252bfd07bc0

libstagefright: Fixed typo in target name

Target name was wrong which was causing this flag to be not set thereby
software codecs were also being used

Change-Id: I3f3a0de4eda0fef2f2f26579645a4a06a1ecddaf
CRs-Fixed: 582977

stagefright: Correct total duration of HFR clips

HFR leverages the mp4 track timescale parameter which is not
considered when calculating total clip duration. This makes tracks
report the correct duration so that total clip duration is computed
correctly.

Change-Id: I8ff556913317eea15030f9f6920cefa560133872

libstagefright: Cleanup HFR cruft

Change-Id: I67d43cd2e14f33e2915afd61b590c32d7c97a9c6
stagefright: Enable GraphicBuffer usage to decoder before querying formats

This lets the decoder publish appropriate color format based on surface
OR non-surface mode.

Change-Id: I567ae53d4d0dfa2abbf29e8196637a1da3e89969
stagefright: Disable HSR for now

 * Depends on updated media repo, we're not quite ready.

Change-Id: I76e6577e771de09617a8831e7fe3d1d525ee8fd8
Add missing functions and signatures for older OMX video libs compat

Nvidia OMX libs need these to work
That fixes hardware OMX video codecs + Camera on TF101

AudioTrack: Do not inline getSessionId either

Should help for other nvomx versions that requires it.

to use, set the following flag in your BoardConfig:
TARGET_USE_OMAP_COMPAT := true

Change-Id: I9f9afa844edf3e6d1fd25524f2cc155b974245ec
Fix inline assembly for clang

add r8, r0, asl #2
and
add r8, r8, r0, asl #2

are identical in gcc inline assembly, but clang accepts only the latter
variant.

Change-Id: I922367984b6ae2f7268ce99facaf8da425c39d7e
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Introduce AUDIO_LEGACY_HACK to extend support for legacy devices

this is a dirty hack but does what it should.

if we build for legacy device, eg LG Optimus Black P970, we have to use
the ICS_AUDIO_BLOBS flag to get audio.

but if we add it, we get build breakages and if we remove it, we dont have
audio at all.

this hack allows us to set the AUDIO_LEGACY_HACK flag in the BoardConfig and
prevents build breakages.

as i am unsure if every device needs that, i couldnt wrap it around the
ICS_AUDIO_BLOBS flag, thus this new flag is added.

Change-Id: Id545a684fcdc0508f4135eb7a722a9b617595532
Introduce CAMERA_LEGACY_HACK to extend support for legacy devices

same typo of patch like AUDIO_LEGACY_HACK
fixes build breakage on p970 with the following flags set
-DICS_CAMERA_BLOB -DOMAP_ICS_CAMERA

if we remove these flags, it builds fine but we have no camera as well

Change-Id: Ie91a5059153ace383d8f2a7f1539cb77861dce05
fix build breakage when HAVE_PRE_KITKAT_AUDIO_BLOB is set

if the flag is set, return INVALID_OPERATION rather than removing
the whole function.
else we will get build breakages like

undefined reference to
    'android::AudioStreamOutSink::getTimestamp(AudioTimestamp&)'

Change-Id: I0646c6e4af824bc027c800b1e7c85533cfcc1265
Revert "fix build breakage when HAVE_PRE_KITKAT_AUDIO_BLOB is set"

This is fixed now via another way.

This reverts commit 78768e4348f21b18b57deb7b51fc24a7bb5a7206.

Change-Id: I2ffdada85a779326ae1ca71942ccb8f23602215f
screenrecord: Add audio support

Adds audio recording to the screenrecord system. Note that
while recording, the audio is muted from the device output,
and that the audio volume is controlled separately (so make
sure to turn up your volume if you hear nothing).
Audio from the microphone can also be recorded by adding
--microphone to the command line.

Change-Id: I97dfcaf3d93b786c5466e1f4215549e3d015bcf0
screenrecord: Enable SUBMIX_IN as well and cleanup on exit

While on Nexus 5/Nexus 7 (AOSP QCOM audio), trying to turn on
SUBMIX_IN fails and is not needed, it is required on Find 5
and N1 (CAF QCOM audio), or otherwise SUBMIX_OUT won't turn
on.
We also now release the audio routing as it wouldn't revive
the audio speakers otherwise.

Change-Id: I0f80a232304733e0b0a834b188b8cfa5b88915f3
Revert "frameworks: av: camera: add missing HTC cam parameter"

This reverts commit 5c4af026743a85ec034d1a21bba420e4a8642797.

Change-Id: I082a7350703de4d32b8bd4d7f5d7a560d773bfe5
[2/3] av: Audio Themes Support

On the Java side, Android has support for both a
Video Record Start sound, and a different Video
Record Stop sound. However, this part here only
supports one video recording sound.
We added support for RECORDING_STOP sound (by default,
the same as RECORDING).

Change-Id: Iaebddd8ebf8b21633e802589a4a6175492df8f29
audioflinger: Set power hints for audio activity

 * Send a hint to the power manager when audio starts or stops.
 * This lets us behave in a smart way when streams are active-
   ie, don't mess with timer_rate while a2dp is active, which
   can cause skipping. Same deal for USB audio.

Change-Id: Ic1cf3f96afb44a8a5c4af4503cf7b30eed491910
libstagefright: Enhance compress offload logging

Add/Enable msg logging
-Statemachine transitions
-Salient funtion calls to Audio HAL
-Salient funtion calls to awesomeplayer
-Events received from HAL
-Miscellaneous other important events.

Change-Id: Ib54954590f913afe473f20ccb56c46fed0aa000f