Add .mpga to acceptable file name extensions list.

The *.mpga files are playable, but are not correctly scanned.
This is because they are prevented from being scanned in
StagefrightMediaScanner.cpp.
What this fix does is to add the extension to the list of valid
file extensions so that the scanner handles the filetype properly.
We have previously added the .mpga extension to the framework to
make it playable, but not added it so that the scanner scans it.

Change-Id: I02a44d770adb80d38e8bed77d0d76efa1b28a861
Changed parsing of trkn and disk from 8 bits to 16 bits

The MPEG4Extractor was parsing 8 bits instead of 16 bits when parsing
'trkn' and 'disk'. Also added support for 16 bytes size 'disk'.

Change-Id: I22b4de2ac800881884d5759776cb380917522a87
Handle large AVCC chunks

If enabling seq_scaling_matrix_present_flag = 1 the AVCC chunk can
be larger than the original buffer size. Changed to using ABuffer
instead.

Change-Id: Idacc14b45ea2634c5e608919f3ce567f23363135
MediaCodec: Add a method for getting the component name

If the codec was chosen based on mime type, the caller does
not know what component actually was chosen. This allows
getting essential information (such as supported color formats,
for a video encoder) for this component.

Change-Id: Ie471f40f8104b37d27ced3dba5a54facc6504b1b
Fix of uninitialized mIsDrm variable.

The mIsDrm is a bool that isn't initialized.
This causes it to be true in most default cases.

Change-Id: I41b534514bf6a3ca88a9f0994b814d55fcd7453b
Crash in android::MyHandler::parsePlayResponse

This fix handles problems with several asynchronous calls
within streaming. This case is when the phone has sent a
request to the server and while the response is being sent
back by the server the request is aborted by the user.
The fix is an if case that checks if we have aborted while
waiting for a response from the server. If we have aborted
we should ignore the late response instead of continuing.

Change-Id: I1264bb992f6abcaee1f10a89479e08b54a95e3c2
Unsolicited server responses cause RTSP streaming to crash

If the set up of the RTSP stream contains an incorrect or otherwise
problematic URL, some servers will send an unsolicited server response
that contains a negative number in the sequence number (CSeq) field.

This negative value is not returned from the function findPendingRequest(),
so the check in notifyResponseListener() will not work.  Instead there will
be a crash when 0 is used as the index to find a matching request/response
pair that doesn’t exist.

The fix is to return the received sequence number also when it is an
unsolicited server-client message.

Change-Id: Iedaba8a63dece7b43bce007069baefbfd10970b8
Initialize and copy mRotationAngle in VideoFrame

When thumbnails were generated they could be generated at random
angles as the mRotationAngle variable was not initialized to any
value. This variable would have to be explicitly overwritten to not
cause random rotation. Changed the implementation to initialize the
value to 0 (no rotation). mRotationAngle was also missing in the
copy constructor.

Change-Id: I67a5340fdd807c6ab3a3da5eecb09b5b9d5f4666
Uninitialized pointer can cause crash.

mpAudioTrack should be initialized in any case.
If getOutputSamplingRate returns ERROR, this won't be initialized.
As a result, deleting this field in dtor can cause crash.

Change-Id: I950d353361b19635302339dac35752a2514d2d80
Signed-off-by: You Kim <you.kim72@gmail.com>
Long mp3 metadata displays as corrupted file after transfer

Cut the metadata to 1 Byte and return in function
getObjectPropertyList in order to show it properly on a PC.

Change-Id: Iefacf9fa86c20ece2572e6d95d35877a94066fe7
Fix hanging when seeking near end in NuPlayer

If the decoder has already reached EOS when a seek is performed, the
decoder will hang in NuPlayer.

This fix makes sure to restart the decoder in the above case, which
is needed in order to resume playback.

Change-Id: Ia7bce331a5bf787f75e4071fe1308d8c0b392c2c