samsung por conectar como celular cables antigua ala android android-tv android-exoplayer hdmi exoplayer2.x

por - Detectar si el servicio HDMI está en la TV Android



conectar celular a tv por bluetooth (1)

Tenemos un problema con el servicio de HDMI. Nuestra aplicación de Android TV está configurada como predeterminada en STB. Cuando inicia STB, no muestra el iniciador, muestra la aplicación inmediatamente con la reproducción de transmisión de video HLS. Para reproducir video, estamos utilizando Exo Player versión 2.6.1 con Exo Media wrapper versión 4.1.0. Una y otra vez, investigamos la pantalla en negro cuando el STB se despierta después de dormir: encendido por DPAD. La lista de reproducción que obtenemos en estos casos funciona y cambiar de canal a otro funciona bien. Este problema se produce comúnmente en los mismos usuarios.

Aquí lo que obtenemos del registro cuando la pantalla está en negro (URL_TEST es nuestra solicitud de lista de reproducción):

09-06 19:21:40.018 I/PowerManagerService( 369): Waking up from sleep... 09-06 19:21:40.018 I/WindowManager( 369): No lock screen! 09-06 19:21:40.038 I/AudioHardwareALSA( 104): AudioHardwareALSA::setParameters() screen_state=on 09-06 19:21:40.038 I/qtaguid ( 369): Failed write_ctrl(s 1 10056) res=-1 errno=1 09-06 19:21:40.038 W/NetworkManagementSocketTagger( 369): setKernelCountSet(10056, 1) failed with errno -1 09-06 19:21:40.078 D/LightsService( 369): Excessive delay setting light: 54ms 09-06 19:21:41.018 W/SurfaceFlinger( 101): Timed out waiting for hw vsync; faking it 09-06 19:21:41.158 W/OkHttp ( 682): previous digest authentication with same nonce failed, returning null 09-06 19:21:41.158 D/OkHttp ( 682): Cached authentication expired. Sending a new request. 09-06 19:21:42.018 W/SurfaceFlinger( 101): Timed out waiting for hw vsync; faking it 09-06 19:21:42.098 D/DAKARMainActivity( 682): URL_TEST getUri: http://XXX.XXX.XX.XXX:XXXXX/XLIVE/0431233...8355920521/26/3/stream.m3u8 09-06 19:21:43.098 W/SurfaceFlinger( 101): Timed out waiting for hw vsync; faking it 09-06 19:21:43.428 W/DisplayD( 97): iface id HDMI screen is 0 09-06 19:21:43.428 D/Displaymanager( 97): [setHDMIEnable] display 0 09-06 19:21:43.428 D/Displaymanager( 97): [operateIfaceMode] property 0 iface 4 type 1 mode 1280x720p-60 09-06 19:21:43.428 D/Displaymanager( 97): [operateIfaceEnable] property 0 iface 4 operate 1 value 1 09-06 19:21:43.438 W/Displaymanager( 97): interface 4 not support led 09-06 19:21:43.648 I/ActivityManager( 369): Config changes=1400 {1.0 ?mcc?mnc en_LU ldltr sw720dp w1280dp h672dp 160dpi lrg long land -touch -keyb/v/h dpad/v s.8} 09-06 19:21:43.658 D/RemoteControlManager( 369): BroadcastReceiver:android.intent.action.CONFIGURATION_CHANGED

Lo que obtuvimos del registro cuando todo está bien y el video se está reproduciendo después de comenzar en el mismo dispositivo (URL_TEST es nuestra solicitud de lista de reproducción):

09-05 19:21:58.507 I/PowerManagerService( 369): Waking up from sleep... 09-05 19:21:58.517 I/WindowManager( 369): No lock screen! 09-05 19:21:58.527 D/SurfaceFlinger( 102): Screen acquired, type=0 flinger=0x40691318 09-05 19:21:58.537 I/AudioHardwareALSA( 105): AudioHardwareALSA::setParameters() screen_state=on 09-05 19:21:58.537 I/qtaguid ( 369): Failed write_ctrl(s 1 10056) res=-1 errno=1 09-05 19:21:58.537 W/NetworkManagementSocketTagger( 369): setKernelCountSet(10056, 1) failed with errno -1 09-05 19:21:58.577 W/DisplayD( 98): iface id HDMI screen is 0 09-05 19:21:58.577 D/Displaymanager( 98): [setHDMIEnable] display 0 09-05 19:21:58.577 D/Displaymanager( 98): [operateIfaceMode] property 0 iface 4 type 1 mode 1280x720p-60 09-05 19:21:58.577 D/Displaymanager( 98): [operateIfaceEnable] property 0 iface 4 operate 1 value 1 09-05 19:21:58.577 W/Displaymanager( 98): interface 4 not support led 09-05 19:21:58.587 D/LightsService( 369): Excessive delay setting light: 59ms 09-05 19:21:58.797 D/RemoteControlManager( 369): BroadcastReceiver:android.intent.action.CONFIGURATION_CHANGED 09-05 19:21:58.797 D/Environment( 369): screen raw size:1280,720 09-05 19:21:58.797 I/ActivityManager( 369): Config changes=1400 {1.0 ?mcc?mnc en_LU ldltr sw720dp w1280dp h672dp 160dpi lrg long land -touch -keyb/v/h dpad/v s.9} 09-05 19:21:58.947 W/OkHttp ( 681): previous digest authentication with same nonce failed, returning null 09-05 19:21:58.947 D/OkHttp ( 681): Cached authentication expired. Sending a new request. 09-05 19:21:59.077 I/Displaymanager( 98): updatesinkaudioinfo: 0x408de140 09-05 19:21:59.077 I/Displaymanager( 98): BUF: AC3,LPCM, 09-05 19:21:59.077 I/Displaymanager( 98): 09-05 19:21:59.077 W/DisplayD( 98): Send msg Iface added HDMI 09-05 19:21:59.137 D/DAKARMainActivity( 681): URL_TEST getUri: http://XXX.XXX.XX.XXX:13888/XLIVE/4086274310...086993824321/26/3/stream.m3u8 09-05 19:21:59.417 I/OMXClient( 681): Using client-side OMX mux. 09-05 19:21:59.417 I/ ( 681): new RKOMXPlugin 09-05 19:21:59.427 D/ACodec ( 681): MEDIA_MIMETYPE_AUDIO_AAC sampleRate 48000 wifidisplay_flag 0 info 6c5bbe78 09-05 19:21:59.427 E/OMXNodeInstance( 681): OMX_GetExtensionIndex failed

Nos dimos cuenta de que cuando tenemos una pantalla en negro tenemos mensajes de este administrador de pantalla (HDMI) después de la solicitud de video:

09-06 19:21:42.098 D/DAKARMainActivity( 682): URL_TEST getUri: http://XXX.XXX.XX.XXX:XXXXX/XLIVE/0431233...8355920521/26/3/stream.m3u8 09-06 19:21:43.098 W/SurfaceFlinger( 101): Timed out waiting for hw vsync; faking it 09-06 19:21:43.428 W/DisplayD( 97): iface id HDMI screen is 0 09-06 19:21:43.428 D/Displaymanager( 97): [setHDMIEnable] display 0 09-06 19:21:43.428 D/Displaymanager( 97): [operateIfaceMode] property 0 iface 4 type 1 mode 1280x720p-60 09-06 19:21:43.428 D/Displaymanager( 97): [operateIfaceEnable] property 0 iface 4 operate 1 value 1 09-06 19:21:43.438 W/Displaymanager( 97): interface 4 not support led

Cuando todo está bien, viceversa, consulte los registros anteriores.

Nuestra suposición de que la pantalla en negro podría ser causada por el servicio HDMI que no está ARRIBA en el momento en que solicitamos transmisión de video.

Hemos intentado detectar la conexión HDMI mediante todos estos métodos (cuando HDMI está conectado / encendido, entonces comenzamos a reproducir video). ¿Cómo verificar el estado de conexión del dispositivo HDMI en Android? , pero nada ayuda.

Versión para Android 17.

¿Alguna idea de qué podría causar este problema?

UPD1:

Adjuntar el mismo tema de discusión de github.


Problema resuelto con la actualización de ExoPlayer a 2.8.4 y ExoMedia a 4.2.3