From 5619b897ee317d658b93639852d31a688b74f004 Mon Sep 17 00:00:00 2001 From: Dhruv Date: Fri, 24 Jun 2022 14:36:27 +0530 Subject: [PATCH] decoder illegal state exception when removing a datasource --- .../otaliastudios/transcoder/internal/CustomSegments.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/src/main/java/com/otaliastudios/transcoder/internal/CustomSegments.kt b/lib/src/main/java/com/otaliastudios/transcoder/internal/CustomSegments.kt index 1c1d2435..de69802d 100644 --- a/lib/src/main/java/com/otaliastudios/transcoder/internal/CustomSegments.kt +++ b/lib/src/main/java/com/otaliastudios/transcoder/internal/CustomSegments.kt @@ -60,7 +60,10 @@ class CustomSegments( if (tracks.active.has(it.type)) { source.releaseTrack(it.type) } - segmentMap[id] = null + segmentMap.remove(id) + if(currentSegment == segment) { + currentSegment = null + } } } @@ -96,7 +99,7 @@ class CustomSegments( source.releaseTrack(it.type) } currentSegmentMapKey?.let { - segmentMap[it] = null + segmentMap.remove(it) } if(releaseAll) { segmentMap.clear()