xamarin / xamarin-macios

.NET for iOS, Mac Catalyst, macOS, and tvOS provide open-source bindings of the Apple SDKs for use with .NET managed languages such as C#
Other
2.45k stars 511 forks source link

VTDecompressionSession returns null on real device #11649

Closed RenatGaliew closed 3 years ago

RenatGaliew commented 3 years ago

Steps to Reproduce

  1. Get h264 frame from network
  2. Get SPS and PPS
  3. Create CMVideoFormatDescription, CVPixelBufferAttributes, VTVideoDecoderSpecification
  4. Create VTDecompressionSession method Create(VTDecompressionSession.Create(VTDecompressionOutputCallback, CMVideoFormatDescription, VTVideoDecoderSpecification, CVPixelBufferAttributes)
  5. Repeat this operation many times

Expected Behavior

VTDecompressionSession.Create(...) always returns VTDecompressionSession

Actual Behavior

VTDecompressionSession.Create(...) not always returns VTDecompressionSession, returns null, but no, and no warnings or errors, and format no changes, and parameters are correct. Format description are correct created. SPS and PPS correct readed. Video H 264 format is shown, but at an unspecified point in time the session stops being created.

Environment

Visual Studio: Microsoft Visual Studio Community 2019 Version 16.8.2 VisualStudio.16.Release/16.8.2+30717.126 Microsoft .NET Framework Version 4.8.04084

Installed Version: Community

Visual C++ 2019 00435-60000-00000-AA726 Microsoft Visual C++ 2019

ASP.NET and Web Tools 2019 16.8.553.28003 ASP.NET and Web Tools 2019

ASP.NET Core Razor Language Services 16.1.0.2052803+84e121f1403378489b842e1797df2f3f5a49ac3c Provides languages services for ASP.NET Core Razor.

ASP.NET Web Frameworks and Tools 2019 16.8.553.28003 For additional information, visit https://www.asp.net/

Azure App Service Tools v3.0.0 16.8.553.28003 Azure App Service Tools v3.0.0

Azure Functions and Web Jobs Tools 16.8.553.28003 Azure Functions and Web Jobs Tools

C# Tools 3.8.0-5.20567.16+53c5d7d3cf13d88978744a32a27c5f8350a8400a C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Common Azure Tools 1.10 Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Extensibility Message Bus 1.2.6 (master@34d6af2) Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.

GitHub.VisualStudio 2.11.102.28613 A Visual Studio Extension that brings the GitHub Flow into Visual Studio.

IntelliCode Extension 1.0 IntelliCode Visual Studio Extension Detailed Info

JetBrains ReSharper 2020.2.3 Build 202.0.20200915.120740 JetBrains ReSharper package for Microsoft Visual Studio. For more information about ReSharper, visit http://www.jetbrains.com/resharper. Copyright © 2021 JetBrains, Inc.

Microsoft Azure Tools 2.9 Microsoft Azure Tools for Microsoft Visual Studio 2019 - v2.9.30924.1

Microsoft Continuous Delivery Tools for Visual Studio 0.4 Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.

Microsoft JVM Debugger 1.0 Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft Library Manager 2.1.113+g422d40002e.RR Install client-side libraries easily to any web project

Microsoft MI-Based Debugger 1.0 Provides support for connecting Visual Studio to MI compatible debuggers

Microsoft Visual C++ Wizards 1.0 Microsoft Visual C++ Wizards

Microsoft Visual Studio Tools for Containers 1.1 Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.

Microsoft Visual Studio VC Package 1.0 Microsoft Visual Studio VC Package

Mono Debugging for Visual Studio 16.8.43 (00471f8) Support for debugging Mono processes with Visual Studio.

Node.js Tools 1.5.20902.1 Commit Hash:b474efcb6f92db52a8f8e2e6a8cb9648476885cc Adds support for developing and debugging Node.js apps in Visual Studio

NuGet Package Manager 5.8.0 NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

ProjectServicesPackage Extension 1.0 ProjectServicesPackage Visual Studio Extension Detailed Info

SettingsWindow Extension 1.0 SettingsWindow Visual Studio Extension Detailed Info

SQL Server Data Tools 16.0.62010.06180 Microsoft SQL Server Data Tools

Switch Startup Project 4.1.71 Provides a toolbar dropdown box to switch between startup projects.

Test Adapter for Boost.Test 1.0 Enables Visual Studio's testing tools with unit tests written for Boost.Test. The use terms and Third Party Notices are available in the extension installation directory.

Test Adapter for Google Test 1.0 Enables Visual Studio's testing tools with unit tests written for Google Test. The use terms and Third Party Notices are available in the extension installation directory.

TypeScript Tools 16.0.21016.2001 TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools 3.8.0-5.20567.16+53c5d7d3cf13d88978744a32a27c5f8350a8400a Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual C++ for Linux Development 1.0.9.30608 Visual C++ for Linux Development

Visual F# Tools 16.8.0-beta.20507.4+da6be68280c89131cdba2045525b80890401defd Microsoft Visual F# Tools

Visual Studio Code Debug Adapter Host Package 1.0 Interop layer for hosting Visual Studio Code debug adapters in Visual Studio

Visual Studio Container Tools Extensions 1.0 View, manage, and diagnose containers within Visual Studio.

Visual Studio Tools for CMake 1.0 Visual Studio Tools for CMake

Visual Studio Tools for Containers 1.0 Visual Studio Tools for Containers

VisualStudio.DeviceLog 1.0 Information about my package

VisualStudio.Foo 1.0 Information about my package

VisualStudio.Mac 1.0 Mac Extension for Visual Studio

Xamarin 16.8.000.255 (d16-8@d002176) Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.

Xamarin Designer 16.8.0.507 (remotes/origin/d16-8@e87b24884) Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin Templates 16.8.112 (86385a3) Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.

Xamarin.Android SDK 11.1.0.17 (d16-8/c0e2b8e) Xamarin.Android Reference Assemblies and MSBuild support. Mono: be2226b Java.Interop: xamarin/java.interop/d16-8@79d9533 ProGuard: Guardsquare/proguard/proguard6.2.2@ebe9000 SQLite: xamarin/sqlite/3.32.1@1a3276b Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-8@2fb1cbc

Xamarin.iOS and Xamarin.Mac SDK 14.4.1.3 (e30c41de3) Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

private void ControllerOnDecoderFirstReleased(CMSampleBuffer sampleBuffer)
        {
            if (!_isFirst) return;

            if (_decoder?.FormatDescription == null) return;

            var pixelAttr = new CVPixelBufferAttributes
            {
                PixelFormatType = CVPixelFormatType.CV420YpCbCr8BiPlanarFullRange,
                CGImageCompatibility = true,
                AllocateWithIOSurface = true,
            };

            var hwSpec = new VTVideoDecoderSpecification
            {
                EnableHardwareAcceleratedVideoDecoder = true,
                RequireHardwareAcceleratedVideoDecoder = true
            };

            void OutputCallbackOnFirstReleased(IntPtr sourceFrame, VTStatus status, VTDecodeInfoFlags vtDecodeInfoFlags, CVImageBuffer buffer, CMTime presentationTimestamp, CMTime presentationDuration)
            {
                var myByteArray = GetImageByteArrayFromPixelBuffer(buffer, null); //_controller);

                Element?.OnFirstReleasedEvent?.Invoke(myByteArray);
                _isFirst = false;

                ConsoleD.WriteLine("Preview success decoded");
            }

            (CMVideoFormatDescription, int)? format = _decoder?._videoStreamDescription.CreateFormat();
            _session = VTDecompressionSession.Create(OutputCallbackOnFirstReleased, format.Value.Item1, hwSpec, pixelAttr);
            if (_session != null)
            {
                _session?.DecodeFrame(sampleBuffer, VTDecodeFrameFlags.EnableAsynchronousDecompression, IntPtr.Zero, out _);
            }
            else
            {
                ConsoleD.WriteLine("SESSION == NULL");
                ConsoleD.WriteLine($"Size = [{_decoder?.FormatDescription.Dimensions.Width}:{_decoder?.FormatDescription.Dimensions.Height}]");
            }
        }

    static class VideoStreamDescriptionEx
    {
        public static (CMVideoFormatDescription,int) CreateFormat(this VideoStreamDescription description)
        {
            //(int width, int height) = description.ParseData();
            var sps = description.GetSPS();
            var pps = description.GetPPS();

            var props = new List<byte[]> { sps, pps};
            CMFormatDescriptionError Status;
            var formatDescription = CMVideoFormatDescription.FromH264ParameterSets(props, 4, out Status);
            if (formatDescription == null)
            {
                Console.WriteLine("Error: Can't create CMFormatDescription" + Status);
            }
            return (formatDescription, props[0].Length + props[1].Length);
        }
    }

Build Logs

Build started... 1>------ Skipped Build: Project: NetVideo.Native, Configuration: Debug Win32 ------ 1>Project not selected to build for this solution configuration 2>------ Build started: Project: NetVideo.Codec, Configuration: Debug Any CPU ------ 3>------ Build started: Project: NetVideo.UICommon, Configuration: Debug Any CPU ------ 4>------ Build started: Project: NetVideo.MobileApp.Android, Configuration: Debug Any CPU ------ 5>------ Build started: Project: NetVideo.MobileApp.iOS, Configuration: Debug iPhone ------ 5> Executing SayHello Task to establish a connection to a Mac Server. 5> Properties: 5> SessionId=d375b5cc8486954e837ec28880d581dc3ecd07762d87b09d15b3b34821eeca34, 5> ServerPort=SECRET, 5> ServerAddress=SECRET, 5> ServerUser=developer, 5> ServerPassword=, 5> SSHKey=, 5> SSHPassPhrase=, 5> AppName=NetVideo.MobileApp.iOS, 5> VisualStudioProcessId=20496, 5> ContinueOnDisconnected=False 2>NetVideo.Codec -> C:\Projects\mobile\NetVideo.Codec\bin\Debug\netstandard2.0\NetVideo.Codec.dll 6>------ Build started: Project: NetVideo.Play.Libav, Configuration: Debug Any CPU ------ 5> No way to resolve conflict between "netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" and "netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Choosing "netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" arbitrarily. 5> No way to resolve conflict between "System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" and "System.Threading.Tasks.Extensions, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51". Choosing "System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" arbitrarily. 5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2123,5): warning MSB3277: Found conflicts between different versions of "System.Numerics.Vectors" that could not be resolved. These reference conflicts are listed in the build log when log verbosity is set to detailed. 5> Consider app.config remapping of assembly "netstandard, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" from Version "2.0.0.0" [] to Version "2.1.0.0" [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\Xamarin.iOS\v1.0\Facades\netstandard.dll] to solve conflict and get rid of warning. 5> Consider app.config remapping of assembly "System.Threading.Tasks.Extensions, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51" from Version "4.2.0.0" [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\Xamarin.iOS\v1.0\Facades\System.Threading.Tasks.Extensions.dll] to Version "4.2.0.1" [] to solve conflict and get rid of warning. 5>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(2123,5): warning MSB3276: Found conflicts between different versions of the same dependent assembly. Please set the "AutoGenerateBindingRedirects" property to true in the project file. For more information, see http://go.microsoft.com/fwlink/?LinkId=294190. 6>NetVideo.Play.Libav -> C:\Projects\mobile\NetVideo.Play.Libav\bin\Debug\netstandard2.0\NetVideo.Play.Libav.dll 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs(11,56,11,67): warning CS0436: The type 'FramesQueue' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs' conflicts with the imported type 'FramesQueue' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs'. 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.iOS\obj\iPhone\Debug\CarouselCamerasPage.xaml.g.cs(11,182,11,201): warning CS0436: The type 'CarouselCamerasPage' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\CarouselCamerasPage.xaml.cs' conflicts with the imported type 'CarouselCamerasPage' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\CarouselCamerasPage.xaml.cs'. 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs(12,46,12,61): warning CS0436: The type 'IMetadataParser' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs' conflicts with the imported type 'IMetadataParser' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs'. 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs(837,16,837,34): warning CS0436: The type 'H264MetadataParser' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs' conflicts with the imported type 'H264MetadataParser' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs'. 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs(840,16,840,34): warning CS0436: The type 'H264MetadataParser' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs' conflicts with the imported type 'H264MetadataParser' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs'. 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs(5,39,5,54): warning CS0436: The type 'IMetadataParser' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs' conflicts with the imported type 'IMetadataParser' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs'. 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs(30,20,30,33): warning CS0436: The type 'SPSParamsH265' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs' conflicts with the imported type 'SPSParamsH265' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs'. 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.iOS\Renderers\VideoViewRenderer.cs(123,24,123,30): warning CS0108: 'VideoViewRenderer.Bounds' hides inherited member 'UIView.Bounds'. Use the new keyword if hiding was intended. 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.iOS\obj\iPhone\Debug\CarouselCamerasPage.xaml.g.cs(34,77,34,96): warning CS0436: The type 'CarouselCamerasPage' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\CarouselCamerasPage.xaml.cs' conflicts with the imported type 'CarouselCamerasPage' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\CarouselCamerasPage.xaml.cs'. 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs(34,33,34,46): warning CS0436: The type 'SPSParamsH265' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs' conflicts with the imported type 'SPSParamsH265' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs'. 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.iOS\Renderers\RendererCreate.cs(13,24,13,35): warning CS0436: The type 'FramesQueue' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs' conflicts with the imported type 'FramesQueue' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs'. 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.iOS\Renderers\RendererCreate.cs(18,24,18,35): warning CS0436: The type 'FramesQueue' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs' conflicts with the imported type 'FramesQueue' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs'. 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.iOS\Renderers\VideoViewRenderer.cs(415,30,415,32): warning CS0168: The variable 'ex' is declared but never used 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.iOS\Renderers\VideoViewRenderer.cs(451,30,451,32): warning CS0168: The variable 'ex' is declared but never used 5>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.iOS\Renderers\CustomRendererCollectionView.cs(19,34,19,49): warning CS0169: The field 'EnhancedCollectionViewRenderer._collectionView' is never used 7>------ Build started: Project: NetVideo.Play.Wpf, Configuration: Debug Any CPU ------ 7>NetVideo.Play.Wpf -> C:\Projects\mobile\NetVideo.Play.Wpf\bin\Debug\net471\NetVideo.Play.Wpf.dll 5> NetVideo.MobileApp.iOS -> C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.iOS\bin\iPhone\Debug\NetVideo.MobileApp.iOS.exe 3>NetVideo.UICommon -> C:\Projects\mobile\bin\Debug\NetVideo.UICommon.dll 5> Detected signing identity: 5> 5> Code Signing Key: "Apple Development: SECRET" (SECRET) 5> Provisioning Profile: "VS: WildCard Development" (SECRET) 5> Bundle Id: com.companyname.NetVideo.MobileApp 5> App Id: E27H94K385.com.companyname.NetVideo.MobileApp 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs(11,56,11,67): warning CS0436: The type 'FramesQueue' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs' conflicts with the imported type 'FramesQueue' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs'. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Android\obj\Debug\100\CarouselCamerasPage.xaml.g.cs(11,184,11,203): warning CS0436: The type 'CarouselCamerasPage' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\CarouselCamerasPage.xaml.cs' conflicts with the imported type 'CarouselCamerasPage' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\CarouselCamerasPage.xaml.cs'. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs(12,46,12,61): warning CS0436: The type 'IMetadataParser' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs' conflicts with the imported type 'IMetadataParser' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs'. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs(837,16,837,34): warning CS0436: The type 'H264MetadataParser' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs' conflicts with the imported type 'H264MetadataParser' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs'. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs(840,16,840,34): warning CS0436: The type 'H264MetadataParser' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs' conflicts with the imported type 'H264MetadataParser' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs'. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs(5,39,5,54): warning CS0436: The type 'IMetadataParser' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs' conflicts with the imported type 'IMetadataParser' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H264MetadataParser.cs'. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs(30,20,30,33): warning CS0436: The type 'SPSParamsH265' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs' conflicts with the imported type 'SPSParamsH265' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs'. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Android\Renderers\VideoViewRenderer.cs(281,50,281,51): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Android\Renderers\VideoViewRenderer.cs(286,50,286,51): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Android\Renderers\VideoViewRenderer.cs(310,52,310,53): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Android\SplashActivity.cs(12,33,12,41): warning CS8765: Nullability of type of parameter 'savedInstanceState' doesn't match overridden member (possibly because of nullability attributes). 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Android\obj\Debug\100\CarouselCamerasPage.xaml.g.cs(34,77,34,96): warning CS0436: The type 'CarouselCamerasPage' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\CarouselCamerasPage.xaml.cs' conflicts with the imported type 'CarouselCamerasPage' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\CarouselCamerasPage.xaml.cs'. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Android\Renderers\RendererCreate.cs(13,24,13,35): warning CS0436: The type 'FramesQueue' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs' conflicts with the imported type 'FramesQueue' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs'. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Android\Renderers\RendererCreate.cs(18,24,18,35): warning CS0436: The type 'FramesQueue' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs' conflicts with the imported type 'FramesQueue' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs'. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs(34,33,34,46): warning CS0436: The type 'SPSParamsH265' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs' conflicts with the imported type 'SPSParamsH265' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\H265MetadataParser.cs'. 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Android\FileSaveHelper.cs(43,40,43,87): warning CS0618: 'Environment.ExternalStorageDirectory' is obsolete: 'deprecated' 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Android\Renderers\EntryRenderer.cs(37,17,37,86): warning CS0618: 'Drawable.SetColorFilter(Color, PorterDuff.Mode)' is obsolete: 'deprecated' 4>C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Android\MainActivity.cs(31,68,31,79): warning CS0436: The type 'FramesQueue' in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs' conflicts with the imported type 'FramesQueue' in 'NetVideo.MobileApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. Using the type defined in 'C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Shared\FramesQueue.cs'. 4> NetVideo.MobileApp.Android -> C:\Projects\mobile\NetVideo.MobileApp\NetVideo.MobileApp.Android\bin\Debug\NetVideo.MobileApp.Android.dll 5> /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/bin/mtouch @/Users/developer/Library/Caches/Xamarin/mtbs/builds/NetVideo.MobileApp.iOS/d375b5cc8486954e837ec28880d581dc3ecd07762d87b09d15b3b34821eeca34/obj/iPhone/Debug/device-builds/iphone11.8-14.0/response-file.rsp 5> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil -num-threads 4 -z -o bin/iPhone/Debug/device-builds/iphone11.8-14.0/NetVideo.MobileApp.iOS.app.dSYM bin/iPhone/Debug/device-builds/iphone11.8-14.0/NetVideo.MobileApp.iOS.app/NetVideo.MobileApp.iOS 5> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/strip -i -s obj/iPhone/Debug/device-builds/iphone11.8-14.0/mtouch-symbols.list bin/iPhone/Debug/device-builds/iphone11.8-14.0/NetVideo.MobileApp.iOS.app/NetVideo.MobileApp.iOS 5> /usr/bin/mdimport bin/iPhone/Debug/device-builds/iphone11.8-14.0/NetVideo.MobileApp.iOS.app/../ 5> /usr/bin/codesign --verify -vvvv "-R=anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.1] exists and (certificate leaf[field.1.2.840.113635.100.6.1.2] exists or certificate leaf[field.1.2.840.113635.100.6.1.4] exists)" bin/iPhone/Debug/device-builds/iphone11.8-14.0/NetVideo.MobileApp.iOS.app 7>Successfully created package 'C:\Projects\mobile\NetVideo.Play.Wpf\bin\Debug\NetVideo.Play.Wpf.2.7.2.nupkg'. ========== Build: 6 succeeded, 0 failed, 6 up-to-date, 1 skipped ==========
spouliot commented 3 years ago

In general the bindings are very thin code layers above Apple's API. The first suspect would be running out of memory (or resources). It's also possible that the Apple API will have written to the logs (which you can see with your Mac's Console.app).

Please attach a self-contained test case that allows us to reproduce the issue and we'll have a look.

RenatGaliew commented 3 years ago

In general the bindings are very thin code layers above Apple's API. The first suspect would be running out of memory (or resources). It's also possible that the Apple API will have written to the logs (which you can see with your Mac's Console.app).

Please attach a self-contained test case that allows us to reproduce the issue and we'll have a look.

Concole not write exceptions or warnings, may be i dont not clear memory after using session

rolfbjarne commented 3 years ago

We have not received the requested information.

If you are still experiencing this issue please provide all the requested information then click the Reopen Issue button.

Thanks!