Looks like adding listener crashes the app
Handler mainHandler = new Handler();
bandwidthMeter = new DefaultBandwidthMeter();
AdaptiveVideoTrackSelection.Factory videoTrackSelectionFactory =
new AdaptiveVideoTrackSelection.Factory(bandwidthMeter);
TrackSelector trackSelector =
new DefaultTrackSelector(mainHandler, videoTrackSelectionFactory);
// 2. Create a default LoadControl
DefaultLoadControl loadControl = new DefaultLoadControl();
// 3. Create the player
mediaPlayer =
ExoPlayerFactory.NewSimpleInstance(Forms.Context, trackSelector, loadControl);
mediaPlayer.AddListener(new ExoPlayerListener());
My listener looks like this
class ExoPlayerListener : IExoPlayerEventListener
{
public IntPtr Handle
{
get
{
return this.Handle;
}
}
public void OnPlayWhenReadyCommitted()
{
MessagingCenter.Send<IMediaPlayer>(RadioApp.Forms.Portable.RadioApp.MediaPlayer,
AppMessages.MESSAGE_PLAYER_STARTED);
}
public void OnPlayerStateChanged(bool p0, int p1)
{
System.Diagnostics.Debug.WriteLine(System.String.Format("OnPlayerStateChanged( {0},{1})", p0, p1));
}
public void Dispose()
{
}
public void OnLoadingChanged(bool p0)
{
System.Diagnostics.Debug.WriteLine("OnLoadingChanged()");
}
public void OnPlayerError(ExoPlaybackException p0)
{
System.Diagnostics.Debug.WriteLine("Error when playing media. " + p0.Message);
MessagingCenter.Send<IMediaPlayer>(RadioApp.Forms.Portable.RadioApp.MediaPlayer,
AppMessages.MESSAGE_PLAYER_FAILED);
}
public void OnPositionDiscontinuity()
{
System.Diagnostics.Debug.WriteLine("OnPositionDiscontinuity()");
}
public void OnTimelineChanged(Timeline p0, Java.Lang.Object p1)
{
System.Diagnostics.Debug.WriteLine("OnTimelineChanged()");
}
}
The error I see is this:
[Mono] Assembly Ref addref Mono.Android[0xe98b1020] -> System.Runtime.Serialization[0xd7ef1a60]: 3
[ExoPlayerImpl] Init 2.0.4
[google-breakpad] ### ### ### ### ### ### ### ### ### ### ### ### ###
[google-breakpad] Chrome build fingerprint:
[google-breakpad] 1.0.1
[google-breakpad] 2
[google-breakpad] ### ### ### ### ### ### ### ### ### ### ### ### ###
[mono-rt] Stacktrace:
[mono-rt]
[mono-rt] at <0xffffffff>
[mono-rt] at (wrapper managed-to-native) System.Reflection.MonoCMethod.InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&) <0x00047>
[mono-rt] at System.Reflection.MonoCMethod.InternalInvoke (object,object[]) [0x00002] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:661
[mono-rt] at System.RuntimeType.CreateInstanceMono (bool) [0x000ca] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/corlib/ReferenceSources/RuntimeType.cs:179
[mono-rt] at System.RuntimeType.CreateInstanceSlow (bool,bool,bool,System.Threading.StackCrawlMark&) [0x0001a] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/corlib/ReferenceSources/RuntimeType.cs:153
[mono-rt] at System.RuntimeType.CreateInstanceDefaultCtor (bool,bool,bool,System.Threading.StackCrawlMark&) [0x0002a] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/rttype.cs:5638
[mono-rt] at System.Activator.CreateInstance (System.Type,bool) [0x00040] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/activator.cs:201
[mono-rt] at System.Activator.CreateInstance (System.Type) [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/activator.cs:134
[mono-rt] at Xamarin.Forms.DependencyService.Get<T_REF> (Xamarin.Forms.DependencyFetchTarget) [0x0006c] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\DependencyService.cs:36
[mono-rt] at RadioApp.Forms.Portable.RadioApp.get_MediaPlayer () [0x00002] in /Users/bmerha/RadioApp_TFS/RadioApp/RadioApp.Forms.Portable/RadioApp.cs:70
[mono-rt] at RadioApp.Forms.Portable.PlayPage..ctor (RadioApp.Forms.Portable.MediaItem) [0x0007e] in /Users/bmerha/RadioApp_TFS/RadioApp/RadioApp.Forms.Portable/Pages/PlayPage.xaml.cs:51
[mono-rt] at RadioApp.Forms.Portable.BasePage/c__async0.MoveNext () [0x00156] in /Users/bmerha/RadioApp_TFS/RadioApp/RadioApp.Forms.Portable/Pages/BasePage.cs:28
[mono-rt] at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<RadioApp.Forms.Portable.BasePage/c__async0> (RadioApp.Forms.Portable.BasePage/c__async0&) [0x00031] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:316
[mono-rt] at RadioApp.Forms.Portable.BasePage.NavigateList (RadioApp.Forms.Portable.MediaItem) <IL 0x00026, 0x0016b>
[mono-rt] at RadioApp.Forms.Portable.MainPageTab/c__async8.MoveNext () [0x00044] in /Users/bmerha/RadioApp_TFS/RadioApp/RadioApp.Forms.Portable/Pages/MainPageTab.xaml.cs:54
[mono-rt] at System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start<RadioApp.Forms.Portable.MainPageTab/c__async8> (RadioApp.Forms.Portable.MainPageTab/c__async8&) [0x00031] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:84
[mono-rt] at RadioApp.Forms.Portable.MainPageTab.m__2 (object,Xamarin.Forms.SelectedItemChangedEventArgs) [0x00010] in /Users/bmerha/RadioApp_TFS/RadioApp/RadioApp.Forms.Portable/Pages/MainPageTab.xaml.cs:50
[mono-rt] at (wrapper delegate-invoke) System.EventHandler`1<TEventArgs_REF>.invoke_void_object_TEventArgs (object,TEventArgs_REF) <IL 0x00073, 0x0015f>
[mono-rt] at Xamarin.Forms.ListView.OnSelectedItemChanged (Xamarin.Forms.BindableObject,object,object) [0x0000f] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\ListView.cs:566
[mono-rt] at Xamarin.Forms.BindableObject.SetValueActual (Xamarin.Forms.BindableProperty,Xamarin.Forms.BindableObject/BindablePropertyContext,object,bool,Xamarin.Forms.BindableObject/SetValueFlags,bool) [0x00108] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\BindableObject.cs:584
[mono-rt] at Xamarin.Forms.BindableObject.SetValueCore (Xamarin.Forms.BindableProperty,object,Xamarin.Forms.BindableObject/SetValueFlags,Xamarin.Forms.BindableObject/SetValuePrivateFlags) [0x0014b] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\BindableObject.cs:378
[mono-rt] at Xamarin.Forms.BindableObject.SetValueCore (Xamarin.Forms.BindableProperty,object,Xamarin.Forms.BindableObject/SetValueFlags) [0x00000] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\BindableObject.cs:324
[mono-rt] at Xamarin.Forms.ListView.NotifyRowTapped (int,int,Xamarin.Forms.Cell) [0x00040] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\ListView.cs:386
[mono-rt] at Xamarin.Forms.ListView.NotifyRowTapped (int,Xamarin.Forms.Cell) [0x00023] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\ListView.cs:403
[mono-rt] at Xamarin.Forms.ListView.Xamarin.Forms.IListViewController.NotifyRowTapped (int,Xamarin.Forms.Cell) [0x00000] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\ListView.cs:408
[mono-rt] at Xamarin.Forms.Platform.Android.ListViewAdapter.HandleItemClick (Android.Widget.AdapterView,Android.Views.View,int,long) [0x00057] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\Renderers\ListViewAdapter.cs:383
[mono-rt] at Xamarin.Forms.Platform.Android.CellAdapter.OnItemClick (Android.Widget.AdapterView,Android.Views.View,int,long) [0x0002e] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\CellAdapter.cs:142
[mono-rt] at Android.Widget.AdapterView/IOnItemClickListenerInvoker.n_OnItemClick_Landroid_widget_AdapterView_Landroid_view_View_IJ (intptr,intptr,intptr,intptr,int,long) [0x00019] in /Users/builder/data/lanes/3819/96c7ba6c/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Widget.AdapterView.cs:215
[mono-rt] at (wrapper dynamic-method) object.68d3d0cd-8336-4831-bc32-64284bfd29b8 (intptr,intptr,intptr,intptr,int,long) <IL 0x00029, 0x0009b>
[mono-rt] at (wrapper native-to-managed) object.68d3d0cd-8336-4831-bc32-64284bfd29b8 (intptr,intptr,intptr,intptr,int,long) <IL 0x00027, 0x0014f>
[mono-rt]
[mono-rt] Attempting native Android stacktrace:
[mono-rt]
[mono-rt] at +0 [0xdba23178]
[mono-rt] at +0 [0x0]
[mono-rt]
[mono-rt] =================================================================
[mono-rt] Got a SIGSEGV while executing native code. This usually indicates
[mono-rt] a fatal error in the mono runtime or one of the native libraries
[mono-rt] used by your application.
[mono-rt] =================================================================
[mono-rt]
[libc] Fatal signal 11 (SIGSEGV), code 2, fault addr 0xff7cafe0 in tid 19489 (pps.wengelradio)