MatroskaExtractor: Letting the error be correctly handled

Do not blow up when parsing the header fails (like, say, a
corrupt or zero-byte file) and let the error handling that's
already in place exit the extractor cleanly

Change-Id: I457574d4279efdd3a08e159e755b563d6d98fbc6
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>
Check for NULL before calling asBinder().

The old asBinder() checked if this == NULL, which is undefined behavior.

Change-Id: Ibde628395ca10dfef0d2f59e81280576f104b83c
Fix a namespace collision.

There's already an android::FileSource defined in
media/libstagefright/FileSource.h, and the two can conflict at link
time.

Change-Id: Id8d80e96c68af1c9bb2a153630c84b923a4f4d06
Fix comparison of String8 to char* literal

Clang (correctly) interprets

if ("." == sName)

as

if ("." == (const char*)sName)

and recognizes that comparing the pointers isn't what was meant.

With

if (sName == ".")

both clang and gcc see and use String8::operator==(const char *),
ensuring we get the wanted behavior.

Change-Id: Ide240e13214a56f6899f72de3db75dac647e6d4b
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>