Tengo algunos problemas con el backend de medios (principalmente Stagefrightplayer) en Android, y me gustaría entender por qué arroja los errores que hace. Los errores suelen ser específicos del dispositivo, por lo que la eliminación de errores en un emulador no sería suficiente.Cómo depurar código nativo de Android en un dispositivo real
Ejemplo:
I/AwesomePlayer( 147): mConnectingDataSource->connect() returned -1004
V/MediaPlayerService( 147): [332] notify (0x272830, 100, 1, -1004)
E/MediaPlayer(24881): error (1, -1004)
E/MediaPlayer(24881): Error (1,-1004)
W/PlayerListener(24881): Received error: what = 1, extra = -1004
Ejemplo 2:
E/MediaPlayer( 941): error (1, -2147483648)
también he conseguido que el jugador bork por completo y escupir un traces.txt.
¿Hay alguna manera de depurar lo que está sucediendo, al igual que depuro el código de Java? Gracias.
Eso viene del código de usuario de C++, nada que ver con el kernel. Ver git: //android.git.kernel.org/platform/frameworks/base.git/media/jni/android_media_MediaPlayer.cpp y similar. –
Gracias. Pero aún así: ¿Es posible depurar esto, p. con una sesión GDB remota? – neu242