Skip to content

Commit 2989409

Browse files
authored
Merge pull request #165 from ArchangelWTF/xamarin
Update ExoPlayer to 2.19.1 (Xamarin branch)
2 parents 346289b + 2a58b14 commit 2989409

File tree

115 files changed

+223
-49
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+223
-49
lines changed

Directory.Build.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
<RepositoryUrl>https://github.com/Baseflow/ExoPlayerXamarin</RepositoryUrl>
1616
<RepositoryType>git</RepositoryType>
1717
<Product>$(AssemblyName) ($(TargetFramework))</Product>
18-
<Version>2.18.10-xamarin1</Version>
18+
<Version>2.19.1-xamarin1</Version>
1919
<Platform>AnyCPU</Platform>
2020
<!--<TreatWarningsAsErrors>true</TreatWarningsAsErrors>-->
2121

2222
<IsBindingProject>true</IsBindingProject>
2323
<EnableDefaultItems>false</EnableDefaultItems>
24-
<TargetFrameworks>MonoAndroid12.0;MonoAndroid13.0</TargetFrameworks>
24+
<TargetFrameworks>MonoAndroid13.0</TargetFrameworks>
2525

2626
<Nullable>enable</Nullable>
2727
<LangVersion>11.0</LangVersion>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

ExoPlayer.Common/Transforms/Metadata.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@
232232
<remove-node path="/api/package[@name='com.google.android.exoplayer2']/interface[@name='Player']/method[@name='setMediaItems' and count(parameter)=1 and parameter[1][@type='java.util.List&lt;com.google.android.exoplayer2.MediaItem&gt;']]"/>
233233
<remove-node path="/api/package[@name='com.google.android.exoplayer2']/interface[@name='Player']/method[@name='setMediaItems' and count(parameter)=2 and parameter[1][@type='java.util.List&lt;com.google.android.exoplayer2.MediaItem&gt;'] and parameter[2][@type='boolean']]"/>
234234
<remove-node path="/api/package[@name='com.google.android.exoplayer2']/interface[@name='Player']/method[@name='setMediaItems' and count(parameter)=3 and parameter[1][@type='java.util.List&lt;com.google.android.exoplayer2.MediaItem&gt;'] and parameter[2][@type='int'] and parameter[3][@type='long']]"/>
235+
<remove-node path="/api/package[@name='com.google.android.exoplayer2']/interface[@name='Player']/method[@name='replaceMediaItems' and count(parameter)=3 and parameter[1][@type='int'] and parameter[2][@type='int'] and parameter[3][@type='java.util.List&lt;com.google.android.exoplayer2.MediaItem&gt;']]"/>
235236
<remove-node path="/api/package[@name='com.google.android.exoplayer2']/interface[@name='Player']/method[@name='getCurrentStaticMetadata' and count(parameter)=0]"/>
236237
<remove-node path="/api/package[@name='com.google.android.exoplayer2']/interface[@name='Player']/method[@name='getCurrentCues' and count(parameter)=0]"/>
237238

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
Additions allow you to add arbitrary C# to the generated classes
2+
before they are compiled. This can be helpful for providing convenience
3+
methods or adding pure C# classes.
4+
5+
== Adding Methods to Generated Classes ==
6+
7+
Let's say the library being bound has a Rectangle class with a constructor
8+
that takes an x and y position, and a width and length size. It will look like
9+
this:
10+
11+
public partial class Rectangle
12+
{
13+
public Rectangle (int x, int y, int width, int height)
14+
{
15+
// JNI bindings
16+
}
17+
}
18+
19+
Imagine we want to add a constructor to this class that takes a Point and
20+
Size structure instead of 4 ints. We can add a new file called Rectangle.cs
21+
with a partial class containing our new method:
22+
23+
public partial class Rectangle
24+
{
25+
public Rectangle (Point location, Size size) :
26+
this (location.X, location.Y, size.Width, size.Height)
27+
{
28+
}
29+
}
30+
31+
At compile time, the additions class will be added to the generated class
32+
and the final assembly will a Rectangle class with both constructors.
33+
34+
35+
== Adding C# Classes ==
36+
37+
Another thing that can be done is adding fully C# managed classes to the
38+
generated library. In the above example, let's assume that there isn't a
39+
Point class available in Java or our library. The one we create doesn't need
40+
to interact with Java, so we'll create it like a normal class in C#.
41+
42+
By adding a Point.cs file with this class, it will end up in the binding library:
43+
44+
public class Point
45+
{
46+
public int X { get; set; }
47+
public int Y { get; set; }
48+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<Project Sdk="MSBuild.Sdk.Extras/3.0.44">
2+
<PropertyGroup>
3+
<AssemblyName>ExoPlayer.Container</AssemblyName>
4+
<RootNamespace>ExoPlayer.Container</RootNamespace>
5+
<Description>Xamarin bindings for ExoPlayer</Description>
6+
<PackageId>Xam.Plugins.Android.ExoPlayer.Container</PackageId>
7+
</PropertyGroup>
8+
</Project>
Binary file not shown.
Binary file not shown.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<enum-field-mappings>
2+
<!--
3+
This example converts the constants Fragment_id, Fragment_name,
4+
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
5+
to an enum called Android.Support.V4.App.FragmentTagType with values
6+
Id, Name, and Tag.
7+
8+
<mapping jni-class="android/support/v4/app/FragmentActivity$FragmentTag" clr-enum-type="Android.Support.V4.App.FragmentTagType">
9+
<field jni-name="Fragment_name" clr-name="Name" value="0" />
10+
<field jni-name="Fragment_id" clr-name="Id" value="1" />
11+
<field jni-name="Fragment_tag" clr-name="Tag" value="2" />
12+
</mapping>
13+
-->
14+
</enum-field-mappings>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<enum-method-mappings>
2+
<!--
3+
This example changes the Java method:
4+
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
5+
to be:
6+
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
7+
when bound in C#.
8+
9+
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
10+
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
11+
</mapping>
12+
-->
13+
</enum-method-mappings>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<metadata>
2+
<!--
3+
This sample removes the class: android.support.v4.content.AsyncTaskLoader.LoadTask:
4+
<remove-node path="/api/package[@name='android.support.v4.content']/class[@name='AsyncTaskLoader.LoadTask']" />
5+
6+
This sample removes the method: android.support.v4.content.CursorLoader.loadInBackground:
7+
<remove-node path="/api/package[@name='android.support.v4.content']/class[@name='CursorLoader']/method[@name='loadInBackground']" />
8+
-->
9+
</metadata>

ExoPlayer.Core/ExoPlayer.Core.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
<ItemGroup>
1414
<ProjectReference Include="..\ExoPlayer.Common\ExoPlayer.Common.csproj" />
15+
<ProjectReference Include="..\ExoPlayer.Container\ExoPlayer.Container.csproj" />
1516
<ProjectReference Include="..\ExoPlayer.Database\ExoPlayer.Database.csproj" />
1617
<ProjectReference Include="..\ExoPlayer.DataSource\ExoPlayer.DataSource.csproj" />
1718
<ProjectReference Include="..\ExoPlayer.Decoder\ExoPlayer.Decoder.csproj" />
-1.14 MB
Binary file not shown.
1.22 MB
Binary file not shown.
Binary file not shown.
Binary file not shown.

ExoPlayer.Core/Transforms/Metadata.xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,15 @@
225225
</method>
226226
</add-node>
227227

228-
<attr name="type" path="/api/package[@name='com.google.android.exoplayer2.source.chunk']/interface[@name='ChunkSource']/method[@name='getNextChunk' and count(parameter)=4 and parameter[1][@type='long'] and parameter[2][@type='long'] and parameter[3][@type='java.util.List&lt;? extends com.google.android.exoplayer2.source.chunk.MediaChunk&gt;'] and parameter[4][@type='com.google.android.exoplayer2.source.chunk.ChunkHolder']]/parameter[3]" >Java.Util.IList</attr>
228+
<add-node path="/api/package[@name='com.google.android.exoplayer2.source']/class[@name='FilteringMediaSource']">
229+
<method abstract="false" deprecated="not deprecated" final="false" name="OnChildSourceInfoRefreshed" native="false" return="void" static="false" synchronized="false" visibility="protected">
230+
<parameter name="mediaSourceHolder" type="Java.Lang.Object" />
231+
<parameter name="mediaSource" type="Com.Google.Android.Exoplayer2.Source.IMediaSource" />
232+
<parameter name="timeline" type="Com.Google.Android.Exoplayer2.Timeline" />
233+
</method>
234+
</add-node>
235+
236+
<attr name="type" path="/api/package[@name='com.google.android.exoplayer2.source.chunk']/interface[@name='ChunkSource']/method[@name='getNextChunk' and count(parameter)=4 and parameter[1][@type='long'] and parameter[2][@type='long'] and parameter[3][@type='java.util.List&lt;? extends com.google.android.exoplayer2.source.chunk.MediaChunk&gt;'] and parameter[4][@type='com.google.android.exoplayer2.source.chunk.ChunkHolder']]/parameter[3]" >Java.Util.IList</attr>
229237

230238
<attr name="visibility" path="/api/package[@name='com.google.android.exoplayer2.source']/class[@name='CompositeMediaSource']/method[@name='prepareSourceInternal' and count(parameter)=1 and parameter[1][@type='com.google.android.exoplayer2.upstream.TransferListener']]">protected</attr>
231239
<!--<attr name="visibility" path="/api/package[@name='com.google.android.exoplayer2.source']/class[@name='ExtractorMediaSource']/method[@name='prepareSourceInternal' and count(parameter)=1 and parameter[1][@type='com.google.android.exoplayer2.upstream.TransferListener']]">protected</attr>-->
-128 KB
Binary file not shown.
133 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

ExoPlayer.Effect/Transforms/Metadata.xml

Lines changed: 5 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -11,50 +11,10 @@
1111
<remove-node path="/api/package[@name='com.google.android.exoplayer2.effect']/interface[@name='GlMatrixTransformation']/method[@name='toGlTextureProcessor' and count(parameter)=2 and parameter[1][@type='android.content.Context'] and parameter[2][@type='boolean']]" />
1212
<remove-node path="/api/package[@name='com.google.android.exoplayer2.effect']/class[@name='Contrast']/field[@name='contrast']" />
1313

14-
<add-node path="/api/package[@name='com.google.android.exoplayer2.effect']/class[@name='RgbAdjustment']">
15-
<method abstract="false" deprecated="not deprecated" final="false" name="ToGlTextureProcessor" native="false" return="Com.Google.Android.Exoplayer2.Effect.IGlTextureProcessor" static="false" synchronized="false" visibility="public">
16-
<parameter name="context" type="Android.Content.Context" />
17-
<parameter name="useHdr" type="bool" />
18-
</method>
19-
</add-node>
14+
<attr name="return" path="/api/package[@name='com.google.android.exoplayer2.effect']/class[@name='DefaultVideoFrameProcessor.Factory']/method[@name='create' and count(parameter)=8 and parameter[1][@type='android.content.Context'] and parameter[2][@type='java.util.List&lt;com.google.android.exoplayer2.util.Effect&gt;'] and parameter[3][@type='com.google.android.exoplayer2.util.DebugViewProvider'] and parameter[4][@type='com.google.android.exoplayer2.video.ColorInfo'] and parameter[5][@type='com.google.android.exoplayer2.video.ColorInfo'] and parameter[6][@type='boolean'] and parameter[7][@type='java.util.concurrent.Executor'] and parameter[8][@type='com.google.android.exoplayer2.util.VideoFrameProcessor.Listener']]">Com.Google.Android.Exoplayer2.Util.IVideoFrameProcessor</attr>
2015

21-
<add-node path="/api/package[@name='com.google.android.exoplayer2.effect']/class[@name='Crop']">
22-
<method abstract="false" deprecated="not deprecated" final="false" name="ToGlTextureProcessor" native="false" return="Com.Google.Android.Exoplayer2.Effect.IGlTextureProcessor" static="false" synchronized="false" visibility="public">
23-
<parameter name="context" type="Android.Content.Context" />
24-
<parameter name="useHdr" type="bool" />
25-
</method>
26-
</add-node>
27-
28-
<add-node path="/api/package[@name='com.google.android.exoplayer2.effect']/class[@name='ScaleToFitTransformation']">
29-
<method abstract="false" deprecated="not deprecated" final="false" name="ToGlTextureProcessor" native="false" return="Com.Google.Android.Exoplayer2.Effect.IGlTextureProcessor" static="false" synchronized="false" visibility="public">
30-
<parameter name="context" type="Android.Content.Context" />
31-
<parameter name="useHdr" type="bool" />
32-
</method>
33-
</add-node>
34-
35-
<add-node path="/api/package[@name='com.google.android.exoplayer2.effect']/class[@name='Presentation']">
36-
<method abstract="false" deprecated="not deprecated" final="false" name="ToGlTextureProcessor" native="false" return="Com.Google.Android.Exoplayer2.Effect.IGlTextureProcessor" static="false" synchronized="false" visibility="public">
37-
<parameter name="context" type="Android.Content.Context" />
38-
<parameter name="useHdr" type="bool" />
39-
</method>
40-
</add-node>
41-
42-
<add-node path="/api/package[@name='com.google.android.exoplayer2.effect']/class[@name='Crop']">
43-
<method abstract="false" deprecated="not deprecated" final="false" name="GetGlMatrixArray" native="false" return="float[]" static="false" synchronized="false" visibility="public">
44-
<parameter name="presentationTimeUs" type="long" />
45-
</method>
46-
</add-node>
47-
48-
<add-node path="/api/package[@name='com.google.android.exoplayer2.effect']/class[@name='Presentation']">
49-
<method abstract="false" deprecated="not deprecated" final="false" name="GetGlMatrixArray" native="false" return="float[]" static="false" synchronized="false" visibility="public">
50-
<parameter name="presentationTimeUs" type="long" />
51-
</method>
52-
</add-node>
53-
54-
<add-node path="/api/package[@name='com.google.android.exoplayer2.effect']/class[@name='ScaleToFitTransformation']">
55-
<method abstract="false" deprecated="not deprecated" final="false" name="GetGlMatrixArray" native="false" return="float[]" static="false" synchronized="false" visibility="public">
56-
<parameter name="presentationTimeUs" type="long" />
57-
</method>
58-
</add-node>
59-
16+
<!-- Since nullable booleans dont exist on XF and they are kind of needed here, time to get rid of these classes as there's no (known) way to make them work without putting in more effort than it's worth.-->
17+
<remove-node path="/api/package[@name='com.google.android.exoplayer2.effect']/interface[@name='RgbMatrix']" />
18+
<remove-node path="/api/package[@name='com.google.android.exoplayer2.effect']/interface[@name='MatrixTransformation']" />
19+
<remove-node path="/api/package[@name='com.google.android.exoplayer2.effect']/interface[@name='GlEffect']" />
6020
</metadata>
-43.2 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-91.6 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-4.33 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-156 KB
Binary file not shown.
160 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
Additions allow you to add arbitrary C# to the generated classes
2+
before they are compiled. This can be helpful for providing convenience
3+
methods or adding pure C# classes.
4+
5+
== Adding Methods to Generated Classes ==
6+
7+
Let's say the library being bound has a Rectangle class with a constructor
8+
that takes an x and y position, and a width and length size. It will look like
9+
this:
10+
11+
public partial class Rectangle
12+
{
13+
public Rectangle (int x, int y, int width, int height)
14+
{
15+
// JNI bindings
16+
}
17+
}
18+
19+
Imagine we want to add a constructor to this class that takes a Point and
20+
Size structure instead of 4 ints. We can add a new file called Rectangle.cs
21+
with a partial class containing our new method:
22+
23+
public partial class Rectangle
24+
{
25+
public Rectangle (Point location, Size size) :
26+
this (location.X, location.Y, size.Width, size.Height)
27+
{
28+
}
29+
}
30+
31+
At compile time, the additions class will be added to the generated class
32+
and the final assembly will a Rectangle class with both constructors.
33+
34+
35+
== Adding C# Classes ==
36+
37+
Another thing that can be done is adding fully C# managed classes to the
38+
generated library. In the above example, let's assume that there isn't a
39+
Point class available in Java or our library. The one we create doesn't need
40+
to interact with Java, so we'll create it like a normal class in C#.
41+
42+
By adding a Point.cs file with this class, it will end up in the binding library:
43+
44+
public class Point
45+
{
46+
public int X { get; set; }
47+
public int Y { get; set; }
48+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<Project Sdk="MSBuild.Sdk.Extras/3.0.44">
2+
<PropertyGroup>
3+
<AssemblyName>ExoPlayer.Muxer</AssemblyName>
4+
<RootNamespace>ExoPlayer.Muxer</RootNamespace>
5+
<Description>Xamarin bindings for ExoPlayer</Description>
6+
<PackageId>Xam.Plugins.Android.ExoPlayer.Muxer</PackageId>
7+
</PropertyGroup>
8+
</Project>
34.8 KB
Binary file not shown.
Binary file not shown.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<enum-field-mappings>
2+
<!--
3+
This example converts the constants Fragment_id, Fragment_name,
4+
and Fragment_tag from android.support.v4.app.FragmentActivity.FragmentTag
5+
to an enum called Android.Support.V4.App.FragmentTagType with values
6+
Id, Name, and Tag.
7+
8+
<mapping jni-class="android/support/v4/app/FragmentActivity$FragmentTag" clr-enum-type="Android.Support.V4.App.FragmentTagType">
9+
<field jni-name="Fragment_name" clr-name="Name" value="0" />
10+
<field jni-name="Fragment_id" clr-name="Id" value="1" />
11+
<field jni-name="Fragment_tag" clr-name="Tag" value="2" />
12+
</mapping>
13+
-->
14+
</enum-field-mappings>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<enum-method-mappings>
2+
<!--
3+
This example changes the Java method:
4+
android.support.v4.app.Fragment.SavedState.writeToParcel (int flags)
5+
to be:
6+
android.support.v4.app.Fragment.SavedState.writeToParcel (Android.OS.ParcelableWriteFlags flags)
7+
when bound in C#.
8+
9+
<mapping jni-class="android/support/v4/app/Fragment.SavedState">
10+
<method jni-name="writeToParcel" parameter="flags" clr-enum-type="Android.OS.ParcelableWriteFlags" />
11+
</mapping>
12+
-->
13+
</enum-method-mappings>
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<metadata>
2+
<!--
3+
This sample removes the class: android.support.v4.content.AsyncTaskLoader.LoadTask:
4+
<remove-node path="/api/package[@name='android.support.v4.content']/class[@name='AsyncTaskLoader.LoadTask']" />
5+
6+
This sample removes the method: android.support.v4.content.CursorLoader.loadInBackground:
7+
<remove-node path="/api/package[@name='android.support.v4.content']/class[@name='CursorLoader']/method[@name='loadInBackground']" />
8+
-->
9+
</metadata>
Binary file not shown.
Binary file not shown.
-146 KB
Binary file not shown.
150 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<metadata>
3+
<!-- Remove these deprecates as they overlap and cause issues when building-->
34
<remove-node path="/api/package[@name='com.google.android.exoplayer2.transformer']/interface[@name='Transformer.Listener']/method[@name='onTransformationCompleted' and count(parameter)=1 and parameter[1][@type='com.google.android.exoplayer2.MediaItem']]" />
4-
<remove-node path="/api/package[@name='com.google.android.exoplayer2.transformer']/interface[@name='Transformer.Listener']/method[@name='onTransformationError' and count(parameter)=2 and parameter[1][@type='com.google.android.exoplayer2.MediaItem'] and parameter[2][@type='java.lang.Exception']]" />
5+
<remove-node path="/api/package[@name='com.google.android.exoplayer2.transformer']/interface[@name='Transformer.Listener']/method[@name='onFallbackApplied' and count(parameter)=3 and parameter[1][@type='com.google.android.exoplayer2.MediaItem'] and parameter[2][@type='com.google.android.exoplayer2.transformer.TransformationRequest'] and parameter[3][@type='com.google.android.exoplayer2.transformer.TransformationRequest']]" />
6+
<remove-node path="/api/package[@name='com.google.android.exoplayer2.transformer']/interface[@name='Transformer.Listener']/method[@name='onTransformationError' and count(parameter)=3 and parameter[1][@type='com.google.android.exoplayer2.MediaItem'] and parameter[2][@type='com.google.android.exoplayer2.transformer.TransformationResult'] and parameter[3][@type='com.google.android.exoplayer2.transformer.TransformationException']]" />
7+
<remove-node path="/api/package[@name='com.google.android.exoplayer2.transformer']/interface[@name='Transformer.Listener']/method[@name='onTransformationError' and count(parameter)=2 and parameter[1][@type='com.google.android.exoplayer2.MediaItem'] and parameter[2][@type='com.google.android.exoplayer2.transformer.TransformationException']]" />
8+
9+
<attr name="return" path="/api/package[@name='com.google.android.exoplayer2.transformer']/class[@name='InAppMuxer.Factory']/method[@name='create' and count(parameter)=1 and parameter[1][@type='java.lang.String']]">Com.Google.Android.Exoplayer2.Transformer.IMuxer</attr>
10+
11+
<attr name="return" path="/api/package[@name='com.google.android.exoplayer2.transformer']/class[@name='DefaultEncoderFactory']/method[@name='createForAudioEncoding' and count(parameter)=1 and parameter[1][@type='com.google.android.exoplayer2.Format']]">Com.Google.Android.Exoplayer2.Transformer.ICodec</attr>
12+
<attr name="return" path="/api/package[@name='com.google.android.exoplayer2.transformer']/class[@name='DefaultEncoderFactory']/method[@name='createForVideoEncoding' and count(parameter)=1 and parameter[1][@type='com.google.android.exoplayer2.Format']]">Com.Google.Android.Exoplayer2.Transformer.ICodec</attr>
513
</metadata>
-442 KB
Binary file not shown.
445 KB
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)