Implemented support for RTSP 301 Redirect

RTSP 301 (Permament Redirect) support has been implemented.

Change-Id: If82ffc87f4e7dcbdf98e0a662a35cc086750fc1b
Avoid a building error

&pDwmModule->config may equal to pConfig that triggers
a building error using gcc 4.7:

In file included from bionic/libc/include/signal.h:33:0,
                 from bionic/libc/include/sys/select.h:34,
                 from bionic/libc/include/unistd.h:34,
                 from system/core/include/cutils/log.h:34,
                 from frameworks/av/media/libeffects/downmix/EffectDownmix.c:19:
In function 'memcpy',
    inlined from 'Downmix_Configure' at frameworks/av/media/libeffects/downmix/EffectDownmix.c:651:11,
    inlined from 'Downmix_Init' at frameworks/av/media/libeffects/downmix/EffectDownmix.c:605:9,
    inlined from 'DownmixLib_Create' at frameworks/av/media/libeffects/downmix/EffectDownmix.c:233:9:
bionic/libc/include/string.h:114:31: error: call to '__memcpy_overlap_error' declared with attribute error: memcpy called with overlapping regions

Change-Id: Ia6c4aab72e38d00d8d526f3b56fc03b6530b4e44
AudioPolicyService: malloc/delete pair

Change-Id: I75cd44ac0caccda9148faaa052c9e7a0c06d46d1
Signed-off-by: You Kim <you.kim72@gmail.com>
avcenc: Update video port parameters in the base class

This makes sure that the right parameters are returned on both
input and output ports if queried after setting.

This also makes sure that the output MediaFormat from the
MediaCodec class contains the right video size.

Change-Id: I0667b3b4c6bb90331ad0ae7d51388e1bca3d1bbd
SoftVPXEncoder: Set the frame size on the output port as well

This makes sure the MediaCodec output MediaFormat contains
the right width and height.

Change-Id: Ic97af3b5850ebaf563533c3d1cae992be3e4d074
ChromiumHTTPDataSource: Keep track of the redirected URL

This makes the code actually match an existing comment in
DrmInitialization, which claimed that mURI was the redirected
URL and not the original one.

Change-Id: I0a5cc65f520f1482ff91320ae78af84a8a681ee3
LiveSession: Use the actual, possibly redirected url as base in the M3U

This fixes playback of HLS streams where the M3U playlists use
relative paths and the main playlist is opened via a redirect.

Change-Id: I787e1c050daddc566be4c8e3f84803d3f91eec46
Only increase the counter when we do take a wakelock

We keep track on how many wakelocks we have taken. We always
just take one real wakelock but increase / decrease the
counter every time we try to acquire / release a wakelock.
The counter is always increased even if the power manager is
not ready, leading to an incorrect counter that could cause a
crash when we try to release it.
Make sure we only increase the counter when a wakelock, real
or counted, is taken.

Change-Id: Iad940e052694932f1dad8a1a71fa63601d289d6a
Do partial reads in MemoryLeakTrackUtil

Do partial read in MemoryLeakTrackUtil dumpMemoryAddresses
to avoid using more memory than what is allocated.

Change-Id: I94feb4e00647407f938571167b981c7371f39e3d
Merge "Do partial reads in MemoryLeakTrackUtil"
Merge "Only increase the counter when we do take a wakelock"
frameworks/av: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH

LOCAL_MODULE_PATH doesn't work for multiarch builds, replace it
with LOCAL_MODULE_RELATIVE_PATH.

Change-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e
Merge "frameworks/av: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATH"
AudioMixer: Remove tracks from enabledTracks after reseting outTemp

If any track goes through AudioMixer::process__genericNoResampling, and
its getnextbuffer returns NULL, Then that track is removed by AudioMixer
from enabledTracks.

Thus if all tracks getnextbuffer return NULL, Then this function doesn't
reset outTemp and last buffer in AudioFlinger's mMixBuffer will be
repeated and noise is observed.

Remove tracks from enabledTracks after reseting outTemp to zero, so that
process__genericNoResampling will reset outTemp and noise won't appear.

Bug: 12450065
Change-Id: I1ccac7ee4a3bf7fd930254356c072099e11e7c19
Signed-off-by: Gaurav Kumar <gaurav.kumar@broadcom.com>
Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
Merge "AudioMixer: Remove tracks from enabledTracks after reseting outTemp"
audioflinger: fix static track end detection

If a static track is not a fast track,
prepareTracks_l() must rely on framesReady() to
detect end of buffer and remove the track from the active
track list.
Failing to do so results in the track staying active but
not processed by the mixer because in underrun. This leaves the
mix buffer content uninitialized and causes the effect process
function to accumulate its output onto undefined data.

Bug: 12013676.
Change-Id: Iad72c921fa18d34811abf7d1073890c093a27725
frameworks/av: Rename persist.sys.dalvik.vm.lib to allow new default

Bug: 12798969
Change-Id: I2db14a7ee28db2449ec6e2384ade21944284528d
Merge "frameworks/av: Rename persist.sys.dalvik.vm.lib to allow new default"
Merge "audioflinger: fix static track end detection"
fix deadlock issues that arise when there are simultaneous
effect control interface calls to proxy and to
non sub-effect wrappers(eg., bundlewrapper) from audioflinger
Also, return NO_ERROR when CMD_OFFLOAD succeeds

Whenever there are parallel calls to proxy and non sub-effects wrappers,
some of the calls are not completed. This is due to deadlock arsing out
of Proxy waiting for the subeffect call to return and subeffect waiting
for proxy to release lock.
The call flow is changed to a cleaner and simple one - Proxy gets the
aeli(effect library info) of subeffects during the EffectGetSubEffects()
call. Therby, proxy will manage the sub effects by itself rather than
going through effects factory.

Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
Bug: 12424044
Change-Id: I16852222f1d0e94e433a19177729323a4bb1c090