Skip to content

Commit 4fe8b23

Browse files
committed
Merge pull request #23 from infoMantisGmbH/bspinner/update_mvx_4
Update to Mvx4 stable and fixed Mvx sample
2 parents d3990e1 + 4b3693e commit 4fe8b23

File tree

10 files changed

+120
-103
lines changed

10 files changed

+120
-103
lines changed

Samples/MvvmCross/ExoPlayer.Core/ExoPlayer.Core.csproj

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
</PropertyGroup>
3636
<ItemGroup>
3737
<!-- A reference to the entire .NET Framework is automatically included -->
38+
<None Include="packages.config" />
3839
</ItemGroup>
3940
<ItemGroup>
4041
<Compile Include="Properties\AssemblyInfo.cs" />
@@ -51,20 +52,21 @@
5152
</Target>
5253
-->
5354
<ItemGroup>
54-
<Reference Include="MvvmCross.Platform">
55-
<HintPath>..\packages\MvvmCross.Platform.4.0.0-beta8\lib\portable-net45+win+wpa81+wp80\MvvmCross.Platform.dll</HintPath>
55+
<Reference Include="MvvmCross.Binding, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
56+
<HintPath>..\packages\MvvmCross.Binding.4.0.0\lib\portable-net45+win+wpa81+wp80\MvvmCross.Binding.dll</HintPath>
57+
<Private>True</Private>
5658
</Reference>
57-
<Reference Include="MvvmCross.Localization">
58-
<HintPath>..\packages\MvvmCross.Platform.4.0.0-beta8\lib\portable-net45+win+wpa81+wp80\MvvmCross.Localization.dll</HintPath>
59+
<Reference Include="MvvmCross.Core, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
60+
<HintPath>..\packages\MvvmCross.Core.4.0.0\lib\portable-net45+win+wpa81+wp80\MvvmCross.Core.dll</HintPath>
61+
<Private>True</Private>
5962
</Reference>
60-
<Reference Include="MvvmCross.Core">
61-
<HintPath>..\packages\MvvmCross.Core.4.0.0-beta8\lib\portable-net45+win+wpa81+wp80\MvvmCross.Core.dll</HintPath>
63+
<Reference Include="MvvmCross.Localization, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
64+
<HintPath>..\packages\MvvmCross.Binding.4.0.0\lib\portable-net45+win+wpa81+wp80\MvvmCross.Localization.dll</HintPath>
65+
<Private>True</Private>
6266
</Reference>
63-
<Reference Include="MvvmCross.Binding">
64-
<HintPath>..\packages\MvvmCross.Binding.4.0.0-beta8\lib\portable-net45+win+wpa81+wp80\MvvmCross.Binding.dll</HintPath>
67+
<Reference Include="MvvmCross.Platform, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
68+
<HintPath>..\packages\MvvmCross.Platform.4.0.0\lib\portable-net45+win+wpa81+wp80\MvvmCross.Platform.dll</HintPath>
69+
<Private>True</Private>
6570
</Reference>
6671
</ItemGroup>
67-
<ItemGroup>
68-
<None Include="packages.config" />
69-
</ItemGroup>
7072
</Project>
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="MvvmCross" version="4.0.0-beta8" targetFramework="portable-net45+win+wpa81+wp80+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10" />
4-
<package id="MvvmCross.Binding" version="4.0.0-beta8" targetFramework="portable-net45+win+wpa81+wp80+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10" />
5-
<package id="MvvmCross.Core" version="4.0.0-beta8" targetFramework="portable-net45+win+wpa81+wp80+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10" />
6-
<package id="MvvmCross.Platform" version="4.0.0-beta8" targetFramework="portable-net45+win+wpa81+wp80+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10" />
3+
<package id="MvvmCross" version="4.0.0" targetFramework="portable45-net45+win8+wp8+wpa81" />
4+
<package id="MvvmCross.Binding" version="4.0.0" targetFramework="portable45-net45+win8+wp8+wpa81" />
5+
<package id="MvvmCross.Core" version="4.0.0" targetFramework="portable45-net45+win8+wp8+wpa81" />
6+
<package id="MvvmCross.Platform" version="4.0.0" targetFramework="portable45-net45+win8+wp8+wpa81" />
77
</packages>

Samples/MvvmCross/ExoPlayer.Droid/ExoPlayer.Droid.csproj

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -33,37 +33,45 @@
3333
<WarningLevel>4</WarningLevel>
3434
</PropertyGroup>
3535
<ItemGroup>
36+
<Reference Include="ExoPlayer, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
37+
<HintPath>..\packages\Xam.Plugins.Android.ExoPlayer.1.5.6\lib\MonoAndroid\ExoPlayer.dll</HintPath>
38+
<Private>True</Private>
39+
</Reference>
3640
<Reference Include="Mono.Android" />
3741
<Reference Include="Mono.Android.Export" />
3842
<Reference Include="mscorlib" />
39-
<Reference Include="System" />
40-
<Reference Include="System.Core" />
41-
<Reference Include="System.Xml.Linq" />
42-
<Reference Include="System.Xml" />
43-
<Reference Include="ExoPlayer">
44-
<HintPath>..\packages\Xam.Plugins.Android.ExoPlayer.1.5.3\lib\MonoAndroid\ExoPlayer.dll</HintPath>
45-
</Reference>
46-
<Reference Include="MvvmCross.Platform.Droid">
47-
<HintPath>..\packages\MvvmCross.Platform.4.0.0-beta8\lib\MonoAndroid\MvvmCross.Platform.Droid.dll</HintPath>
43+
<Reference Include="MvvmCross.Binding, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
44+
<HintPath>..\packages\MvvmCross.Binding.4.0.0\lib\MonoAndroid\MvvmCross.Binding.dll</HintPath>
45+
<Private>True</Private>
4846
</Reference>
49-
<Reference Include="MvvmCross.Platform">
50-
<HintPath>..\packages\MvvmCross.Platform.4.0.0-beta8\lib\MonoAndroid\MvvmCross.Platform.dll</HintPath>
47+
<Reference Include="MvvmCross.Binding.Droid, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
48+
<HintPath>..\packages\MvvmCross.Binding.4.0.0\lib\MonoAndroid\MvvmCross.Binding.Droid.dll</HintPath>
49+
<Private>True</Private>
5150
</Reference>
52-
<Reference Include="MvvmCross.Localization">
53-
<HintPath>..\packages\MvvmCross.Platform.4.0.0-beta8\lib\MonoAndroid\MvvmCross.Localization.dll</HintPath>
51+
<Reference Include="MvvmCross.Core, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
52+
<HintPath>..\packages\MvvmCross.Core.4.0.0\lib\MonoAndroid\MvvmCross.Core.dll</HintPath>
53+
<Private>True</Private>
5454
</Reference>
55-
<Reference Include="MvvmCross.Droid">
56-
<HintPath>..\packages\MvvmCross.Core.4.0.0-beta8\lib\MonoAndroid\MvvmCross.Droid.dll</HintPath>
55+
<Reference Include="MvvmCross.Droid, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
56+
<HintPath>..\packages\MvvmCross.Core.4.0.0\lib\MonoAndroid\MvvmCross.Droid.dll</HintPath>
57+
<Private>True</Private>
5758
</Reference>
58-
<Reference Include="MvvmCross.Core">
59-
<HintPath>..\packages\MvvmCross.Core.4.0.0-beta8\lib\MonoAndroid\MvvmCross.Core.dll</HintPath>
59+
<Reference Include="MvvmCross.Localization, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
60+
<HintPath>..\packages\MvvmCross.Binding.4.0.0\lib\MonoAndroid\MvvmCross.Localization.dll</HintPath>
61+
<Private>True</Private>
6062
</Reference>
61-
<Reference Include="MvvmCross.Binding.Droid">
62-
<HintPath>..\packages\MvvmCross.Binding.4.0.0-beta8\lib\MonoAndroid\MvvmCross.Binding.Droid.dll</HintPath>
63+
<Reference Include="MvvmCross.Platform, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
64+
<HintPath>..\packages\MvvmCross.Platform.4.0.0\lib\MonoAndroid\MvvmCross.Platform.dll</HintPath>
65+
<Private>True</Private>
6366
</Reference>
64-
<Reference Include="MvvmCross.Binding">
65-
<HintPath>..\packages\MvvmCross.Binding.4.0.0-beta8\lib\MonoAndroid\MvvmCross.Binding.dll</HintPath>
67+
<Reference Include="MvvmCross.Platform.Droid, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
68+
<HintPath>..\packages\MvvmCross.Platform.4.0.0\lib\MonoAndroid\MvvmCross.Platform.Droid.dll</HintPath>
69+
<Private>True</Private>
6670
</Reference>
71+
<Reference Include="System" />
72+
<Reference Include="System.Core" />
73+
<Reference Include="System.Xml.Linq" />
74+
<Reference Include="System.Xml" />
6775
</ItemGroup>
6876
<ItemGroup>
6977
<Compile Include="Player\MvxExtractorRendererBuilder.cs" />
@@ -77,9 +85,6 @@
7785
<ItemGroup>
7886
<AndroidResource Include="Resources\layout\activity_videoplayer.axml" />
7987
</ItemGroup>
80-
<ItemGroup>
81-
<None Include="packages.config" />
82-
</ItemGroup>
8388
<Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
8489
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
8590
Other similar extension points exist, see Microsoft.Common.targets.
@@ -94,4 +99,7 @@
9499
<Name>ExoPlayer.Core</Name>
95100
</ProjectReference>
96101
</ItemGroup>
102+
<ItemGroup>
103+
<None Include="packages.config" />
104+
</ItemGroup>
97105
</Project>

Samples/MvvmCross/ExoPlayer.Droid/MvxVideoPlayerActivity.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
using MvvmCross.ExoPlayer.ViewModels;
3737
using Exception = Java.Lang.Exception;
3838
using Uri = Android.Net.Uri;
39-
using MvvmCross.ExoPlayer.ViewModels;
4039
using MvvmCross.Droid.Views;
4140
using MvvmCross.Platform.Platform;
4241
using MvvmCross.Binding.BindingContext;
@@ -338,7 +337,7 @@ public void OnAudioCapabilitiesChanged(AudioCapabilities audioCapabilities)
338337

339338
private MvxVideoPlayer.IRendererBuilder GetRendererBuilder()
340339
{
341-
var userAgent = Util.GetUserAgent(this, "ExoPlayerDemo");
340+
var userAgent = ExoPlayerUtil.GetUserAgent(this, "ExoPlayerDemo");
342341
var url = Item.Url;
343342
switch (Item.Type)
344343
{
@@ -432,7 +431,7 @@ public void OnError(Exception e)
432431
{
433432
// TODO
434433
// Special case DRM failures.
435-
var msg = Util.SdkInt < 18
434+
var msg = ExoPlayerUtil.SdkInt < 18
436435
? "drm_error_not_supported"
437436
: exception.Reason == UnsupportedDrmException.ReasonUnsupportedScheme
438437
? "drm_error_unsupported_scheme"
@@ -549,7 +548,7 @@ private void ConfigureSubtitleView()
549548
{
550549
CaptionStyleCompat style;
551550
float fontScale;
552-
if (Util.SdkInt >= 19)
551+
if (ExoPlayerUtil.SdkInt >= 19)
553552
{
554553
style = GetUserCaptionStyleV19();
555554
fontScale = GetUserCaptionFontScaleV19();

Samples/MvvmCross/ExoPlayer.Droid/Player/MvxExtractorRendererBuilder.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@
1717
using Android.Content;
1818
using Android.Media;
1919
using Android.Net;
20+
using Android.Net.Rtp;
2021
using Android.Runtime;
2122
using Com.Google.Android.Exoplayer;
2223
using Com.Google.Android.Exoplayer.Audio;
24+
using Com.Google.Android.Exoplayer.Drm;
2325
using Com.Google.Android.Exoplayer.Extractor;
2426
using Com.Google.Android.Exoplayer.Text;
2527
using Com.Google.Android.Exoplayer.Upstream;
@@ -50,16 +52,17 @@ public void BuildRenderers(MvxVideoPlayer player)
5052
{
5153
var allocator = new DefaultAllocator(BufferSegmentSize);
5254

55+
5356
// Build the video and audio renderers.
5457
var bandwidthMeter = new DefaultBandwidthMeter(player.MainHandler, null);
5558
var dataSource = new DefaultUriDataSource(_context, bandwidthMeter, _userAgent);
5659
var sampleSource = new ExtractorSampleSource(_uri, dataSource, allocator,
5760
BufferSegmentCount*BufferSegmentSize);
5861
var videoRenderer = new MediaCodecVideoTrackRenderer(_context,
59-
sampleSource, (int) VideoScalingMode.ScaleToFit, 5000, player.MainHandler,
62+
sampleSource, MediaCodecSelector.Default, (int) VideoScalingMode.ScaleToFit, 5000, player.MainHandler,
6063
player, 50);
61-
var audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource,
62-
null, true, player.MainHandler, player, AudioCapabilities.GetCapabilities(_context));
64+
var audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource,
65+
MediaCodecSelector.Default, null, true, player.MainHandler, player, AudioCapabilities.GetCapabilities(_context), (int) Stream.Music);
6366
var textRenderer = new TextTrackRenderer(sampleSource, player,
6467
player.MainHandler.Looper);
6568

Samples/MvvmCross/ExoPlayer.Droid/Player/MvxHlsRendererBuilder.cs

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,11 @@
1414
* limitations under the License.
1515
*/
1616

17-
using System.Linq;
1817
using Android.Content;
1918
using Android.Media;
2019
using Android.Runtime;
2120
using Com.Google.Android.Exoplayer;
2221
using Com.Google.Android.Exoplayer.Audio;
23-
using Com.Google.Android.Exoplayer.Chunk;
2422
using Com.Google.Android.Exoplayer.Hls;
2523
using Com.Google.Android.Exoplayer.Text.Eia608;
2624
using Com.Google.Android.Exoplayer.Upstream;
@@ -119,37 +117,39 @@ public void OnSingleManifest(Object obj)
119117
var mainHandler = _player.MainHandler;
120118
var loadControl = new DefaultLoadControl(new DefaultAllocator(BufferSegmentSize));
121119
var bandwidthMeter = new DefaultBandwidthMeter();
122-
123-
int[] variantIndices = null;
124-
if (manifest is HlsMasterPlaylist)
125-
{
126-
var masterPlaylist = (HlsMasterPlaylist) manifest;
127-
try
128-
{
129-
variantIndices = VideoFormatSelectorUtil.SelectVideoFormatsForDefaultDisplay(
130-
_context, masterPlaylist.Variants.Cast<IFormatWrapper>().ToList(), null, false);
131-
}
132-
catch (MediaCodecUtil.DecoderQueryException e)
133-
{
134-
_player.OnRenderersError(e);
135-
return;
136-
}
137-
if (variantIndices.Length == 0)
138-
{
139-
_player.OnRenderersError(new IllegalStateException($"No variants selected. Possible reason: your video's resolution could be too high. This device maximum H264 framesize is {MediaCodecUtil.MaxH264DecodableFrameSize()}."));
140-
return;
141-
}
142-
}
143-
144-
var dataSource = new DefaultUriDataSource(_context, bandwidthMeter, _userAgent);
145-
var chunkSource = new HlsChunkSource(dataSource, _url, manifest, bandwidthMeter,
146-
variantIndices, HlsChunkSource.AdaptiveModeSplice);
147-
var sampleSource = new HlsSampleSource(chunkSource, loadControl,
148-
BufferSegments*BufferSegmentSize, mainHandler, _player, MvxVideoPlayer.TypeVideo);
149-
var videoRenderer = new MediaCodecVideoTrackRenderer(_context,
150-
sampleSource, (int) VideoScalingMode.ScaleToFit, 5000, mainHandler, _player, 50);
151-
var audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource,
152-
null, true, _player.MainHandler, _player, AudioCapabilities.GetCapabilities(_context));
120+
var timestampAdjusterProvider = new PtsTimestampAdjusterProvider();
121+
122+
var dataSource = new DefaultUriDataSource(_context, bandwidthMeter, _userAgent);
123+
var chunkSource = new HlsChunkSource(true
124+
, dataSource
125+
, _url
126+
, manifest
127+
, DefaultHlsTrackSelector.NewDefaultInstance(_context)
128+
, bandwidthMeter
129+
, timestampAdjusterProvider
130+
, HlsChunkSource.AdaptiveModeSplice);
131+
var sampleSource = new HlsSampleSource(chunkSource
132+
, loadControl
133+
, BufferSegments*BufferSegmentSize
134+
, mainHandler
135+
, _player
136+
, MvxVideoPlayer.TypeVideo);
137+
var videoRenderer = new MediaCodecVideoTrackRenderer(_context
138+
, sampleSource
139+
, MediaCodecSelector.Default
140+
, (int) VideoScalingMode.ScaleToFit
141+
, 5000
142+
, mainHandler
143+
, _player
144+
, 50);
145+
var audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource
146+
, MediaCodecSelector.Default
147+
, null
148+
, true
149+
, _player.MainHandler
150+
, _player
151+
, AudioCapabilities.GetCapabilities(_context)
152+
, (int) Stream.Music);
153153
// TODO: The Id3Parser is currently not part of the binding
154154
//MetadataTrackRenderer id3Renderer = new MetadataTrackRenderer(sampleSource, new Id3Parser(), player, mainHandler.getLooper());
155155
var closedCaptionRenderer = new Eia608TrackRenderer(sampleSource, _player,

Samples/MvvmCross/ExoPlayer.Droid/Player/MvxVideoPlayer.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -681,7 +681,12 @@ private void PushSurface(bool blockForSurfacePush)
681681

682682
public void OnAudioTrackUnderrun (int p0, long p1, long p2)
683683
{
684-
throw new System.NotImplementedException ();
685-
}
686-
}
684+
// Do nothing.
685+
}
686+
687+
public void OnAvailableRangeChanged(int p0, ITimeRange p1)
688+
{
689+
// Do nothing.
690+
}
691+
}
687692
}

Samples/MvvmCross/ExoPlayer.Droid/Resources/Resource.Designer.cs

Lines changed: 6 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="MvvmCross" version="4.0.0-beta8" targetFramework="MonoAndroid60" />
4-
<package id="MvvmCross.Binding" version="4.0.0-beta8" targetFramework="MonoAndroid60" />
5-
<package id="MvvmCross.Core" version="4.0.0-beta8" targetFramework="MonoAndroid60" />
6-
<package id="MvvmCross.Platform" version="4.0.0-beta8" targetFramework="MonoAndroid60" />
7-
<package id="Xam.Plugins.Android.ExoPlayer" version="1.5.3" targetFramework="MonoAndroid60" />
3+
<package id="MvvmCross" version="4.0.0" targetFramework="monoandroid60" />
4+
<package id="MvvmCross.Binding" version="4.0.0" targetFramework="monoandroid60" />
5+
<package id="MvvmCross.Core" version="4.0.0" targetFramework="monoandroid60" />
6+
<package id="MvvmCross.Platform" version="4.0.0" targetFramework="monoandroid60" />
7+
<package id="Xam.Plugins.Android.ExoPlayer" version="1.5.6" targetFramework="monoandroid60" />
88
</packages>

0 commit comments

Comments
 (0)