media/library
claincly 47d63504c2 Destroy eglSurface in FrameProcessor
Previously, FrameProcessor never had the usecase in which the output surface
is replaced, while previewing introduced this usecase.

When switching output surfaces, we need to destroy the EGL Surface linked to the
surface that is being swapped out, because an EGL surface is linked to the EGL
display (which is not destroyed even when releasing FrameProcessor).

A GL exception will be thrown in the following scenario if we don't destroy the
EGL surface:

1. Creates a Surface, the surface is identified by address 0x11
2. Sets Surface(0x11) on FrameProcessor. Eventually an EGL surface is created
  to wrap Surface(0x11)
3. Release FrameProcess, this releases the EGL context
4. Instantiate a new FrameProcessor, sets Surface(0x11) as the output
5. When FrameProcessor creates an EGL surface to wrap Surface(0x11), GL throws
  an exception, becasue Surface(0x11) has previouly been connected to an EGL
  surface.

PiperOrigin-RevId: 489590072
2022-11-21 15:58:13 +00:00
..
all Fix minimum API level issue 2022-02-08 11:03:36 +00:00
common Destroy eglSurface in FrameProcessor 2022-11-21 15:58:13 +00:00
core Pass correct frame size for passthrough playback 2022-11-21 15:29:59 +00:00
dash Add missing IntDef on MediaSource.Factory.getSupportedTypes overrides 2022-11-10 16:12:02 +00:00
database Reformat some javadoc 2022-02-18 15:02:33 +00:00
datasource Fix instrumentation tests not working via Gradle 2022-10-19 22:54:45 +00:00
decoder Expect PresentationTime Discontinuity During Stream Transitions 2022-04-26 14:25:46 +01:00
effect Destroy eglSurface in FrameProcessor 2022-11-21 15:58:13 +00:00
extractor Handle buffers in DefaultAudioSink with AudioProcessingPipeline. 2022-11-16 12:10:21 +00:00
hls Refactor transformation completion 2022-11-21 14:27:00 +00:00
rtsp Add missing IntDef on MediaSource.Factory.getSupportedTypes overrides 2022-11-10 16:12:02 +00:00
smoothstreaming Add missing IntDef on MediaSource.Factory.getSupportedTypes overrides 2022-11-10 16:12:02 +00:00
transformer Build TransformationResult only when transformation succeeded 2022-11-21 15:46:56 +00:00
ui Mark broadcast receivers as not exported 2022-11-21 14:56:11 +00:00
README.md Update to androidx.media3 2021-10-27 09:12:46 +01:00

ExoPlayer library

The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.