From 8b22bfb788af6505cc1d3354f1fdb1c7a29b99a9 Mon Sep 17 00:00:00 2001
From: Jesse <jesse@archangel.wtf>
Date: Thu, 5 Sep 2024 12:26:21 +0200
Subject: [PATCH] =?UTF-8?q?=EF=BB=BFFix=20up=20non=20deprecated=20media=20?=
 =?UTF-8?q?sources?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../media3-exoplayer/Transforms/Metadata.xml  | 55 +++++++++++++++----
 1 file changed, 45 insertions(+), 10 deletions(-)

diff --git a/source/androidx.media3/media3-exoplayer/Transforms/Metadata.xml b/source/androidx.media3/media3-exoplayer/Transforms/Metadata.xml
index 3d00cbf27..3af40bad9 100644
--- a/source/androidx.media3/media3-exoplayer/Transforms/Metadata.xml
+++ b/source/androidx.media3/media3-exoplayer/Transforms/Metadata.xml
@@ -173,16 +173,6 @@
   <remove-node
       path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='ConcatenatingMediaSource']"
         />
-  <remove-node
-      path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='ConcatenatingMediaSource2']"
-        />
-  <remove-node
-      path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='MergingMediaSource']"
-        />
-  <remove-node
-      path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='WrappingMediaSource']"
-        />
-
   <attr 
       path="/api/package[@name='androidx.media3.exoplayer.audio']/interface[@name='AudioSink.Listener']/method[@name='onAudioTrackInitialized' and count(parameter)=1 and parameter[1][@type='androidx.media3.exoplayer.audio.AudioSink.AudioTrackConfig']]"
       name="argsType"
@@ -322,7 +312,20 @@
       >
       AndroidX.Media3.ExoPlayer.Source.IMediaSource.IFactory
     </attr>
+    
+    <attr 
+      path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='ConcatenatingMediaSource2']/method[@name='onChildSourceInfoRefreshed' and count(parameter)=3 and parameter[1][@type='java.lang.Integer'] and parameter[2][@type='androidx.media3.exoplayer.source.MediaSource'] and parameter[3][@type='androidx.media3.common.Timeline']]/parameter[1]"
+      name="managedType"
+      >
+      Java.Lang.Object
+    </attr>
 
+    <attr 
+      path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='MergingMediaSource']/method[@name='onChildSourceInfoRefreshed' and count(parameter)=3 and parameter[1][@type='java.lang.Integer'] and parameter[2][@type='androidx.media3.exoplayer.source.MediaSource'] and parameter[3][@type='androidx.media3.common.Timeline']]/parameter[1]"
+      name="managedType"
+      >
+      Java.Lang.Object
+    </attr>
 
     <attr
         path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='ExternallyLoadedMediaSource']/method[@name='canUpdateMediaItem' and count(parameter)=1 and parameter[1][@type='androidx.media3.common.MediaItem']]"
@@ -330,10 +333,30 @@
         >
         true
     </attr>
+    <attr
+        path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='ConcatenatingMediaSource2']/method[@name='canUpdateMediaItem' and count(parameter)=1 and parameter[1][@type='androidx.media3.common.MediaItem']]"
+        name="final"
+        >
+        true
+    </attr>
     <attr
         path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='ExternallyLoadedMediaSource']/method[@name='updateMediaItem' and count(parameter)=1 and parameter[1][@type='androidx.media3.common.MediaItem']]"
         name="final"
         >
+      true
+    </attr>
+
+        <attr
+        path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='ConcatenatingMediaSource2']/method[@name='updateMediaItem' and count(parameter)=1 and parameter[1][@type='androidx.media3.common.MediaItem']]"
+        name="final"
+        >
+      true
+    </attr>
+
+    <attr
+        path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='MergingMediaSource']/method[@name='canUpdateMediaItem' and count(parameter)=1 and parameter[1][@type='androidx.media3.common.MediaItem']]"
+        name="final"
+        >
         true
     </attr>
     <attr
@@ -343,5 +366,17 @@
         AndroidX.Media3.ExoPlayer.Source.IMediaSource
       </attr>
 
+    <attr
+        path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='MergingMediaSource']/method[@name='updateMediaItem' and count(parameter)=1 and parameter[1][@type='androidx.media3.common.MediaItem']]"
+        name="final"
+        >
+      true
+    </attr>
 
+    <attr
+        path="/api/package[@name='androidx.media3.exoplayer.source']/class[@name='WrappingMediaSource']/method[@name='onChildSourceInfoRefreshed' and count(parameter)=3 and parameter[1][@type='java.lang.Void'] and parameter[2][@type='androidx.media3.exoplayer.source.MediaSource'] and parameter[3][@type='androidx.media3.common.Timeline']]"
+        name="final"
+        >
+      false
+    </attr>
 </metadata> 
\ No newline at end of file