Avoid memory leaks when handling metadata strings

Don't duplicate strings when retrieveing metadata from media
files. As any requests for metadata strings would pass through
the binder, this would cause the reference to the duplicate string
to be lost, causing a memory leak as the duplicate would not be
freed.

Change-Id: I2593733472b1bb589bc502b2c11080f581015bb5
camera: add ISO3200 and ISO6400

This change adds camera ISO 3200 and 6400, needed by some camera hal.

Change-Id: I65172a7de6554c3c288f0a4153d3fcb432b70db8
Merge "Avoid memory leaks when handling metadata strings" into jellybean
Merge "camera: add ISO3200 and ISO6400" into jellybean
camera: improve power mode support

This change improves the power mode support introduced in commit
eb01ea6cef737964a31ccad2506ae64c877e6223.

The power mode it's not exclusive of Sony phones.

Based on commit 7036d66bec7697160ba1b2e255f1e7fae0c8c435 from CAF,
branch ics_chocolate.

Change-Id: I652d63c33db9a8da4a9f8f613be12877d032de37
Bug fix for the MediaPlayer::prepare() api.

For an MP3 source, within the prepare command, ID3 tags are checked in search of
gapless playback info. This causes problems for streamed sources. If ID3v2 tags
aren't present, then a check is done for ID3v1 tags. This results in a read
command that asks the cache to jump to the end of the file, and subsequently
make an extra http call to request those bytes. For a streamed source, this
causes the file to not be downloaded automatically when MediaPlayer::prepare()
is called, and causes stuttering and extra buffering time to be needed when
start() is finally called.
The solution is to ignore the ID3v1 tags as the gapless info would never exist
there, and only check for ID3v2 tags.

Change-Id: I7d1b94cffbfe7c38ca094834dedbc92a58855e20
stagefright: add support for samsung proprietary omx

Change-Id: Iab0d014c3c237871e46135aecbbcea99a58f87e7
Merge commit '5e5aac8' into my-4.1-master