robvdpol / RaceControl

Race Control is a standalone, open source F1TV client for Windows, written in C# on the .NET platform.
GNU General Public License v3.0
1.19k stars 95 forks source link

[BUG] Chromecast scan does not work #126

Open woutervwin opened 3 years ago

woutervwin commented 3 years ago

I cannot scan my chromecast, scanning gives 0 results

Casting from chrome works. It used to work 3 weeks ago, last week it didn't work, and this week also. I tried all the interfaces, non works.

I expected to see my chromecast when I scan.

afbeelding Apparaatnaam ideapadS340 Processor Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz 1.19 GHz Geïnstalleerd RAM-geheugen 8.00 GB (7.78 GB beschikbaar) Apparaat-id 346D0D73-53B0-46C7-88BF-849E2CD848F6 Product-id 00325-81666-43504-AAOEM Type systeem 64-bits besturingssysteem, x64-processor Pen en aanraken Pen- of aanraakinvoer is niet beschikbaar voor dit beeldscherm

Editie Windows 10 Home Versie 20H2 Installatiedatum ‎16-‎8-‎2020 Build van besturingssysteem 19042.928 Serienummer MP1R5X9E Ervaring Windows Feature Experience Pack 120.2212.551.0

*F1TV account**

woutervwin commented 3 years ago

Today I can see my chromecast, but ik comes with a warning:

afbeelding

robvdpol commented 3 years ago

Are you using an actual Google Chromecast device or some kind of mediaplayer or TV that is Chromecast compatible?

woutervwin commented 3 years ago

Hi Rob,

I'using a Chromecast 3, 2019. I'm not having other issues with the chromecast, other streaming services work well.

Kind regards, Groeten Wouter

Van: "Rob" @.> Aan: "robvdpol/RaceControl" @.> Cc: "wouter vanwinkelen" @.>, "State change" @.> Verzonden: Maandag 10 mei 2021 21:14:22 Onderwerp: Re: [robvdpol/RaceControl] [BUG] Chromecast scan does not work (#126)

Are you using an actual Google Chromecast device or some kind of mediaplayer or TV that is Chromecast compatible?

— You are receiving this because you modified the open/close state. Reply to this email directly, [ https://github.com/robvdpol/RaceControl/issues/126#issuecomment-837176386 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/AUAJHFCQKQREGOXPUM72DG3TNAWA5ANCNFSM44PRI5VQ | unsubscribe ] .

Lundelll commented 3 years ago

Scan works for me, but it can't cast it to TV, getting the error message below. Can cast using youtube from chrome. See stacktrace below


System.Exception: Load failed
   at GoogleCast.Messages.Media.LoadFailedMessage.OnDeserializing(StreamingContext context)
   at ReadLoadFailedMessageFromJson(XmlReaderDelegator , XmlObjectSerializerReadContextComplexJson , XmlDictionaryString , XmlDictionaryString[] )
   at System.Runtime.Serialization.Json.JsonClassDataContract.ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson context)
   at System.Runtime.Serialization.Json.JsonDataContract.ReadJsonValue(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson context)
   at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract)
   at System.Runtime.Serialization.XmlObjectSerializerReadContextComplex.InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns)
   at System.Runtime.Serialization.Json.DataContractJsonSerializerImpl.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName)
   at System.Runtime.Serialization.XmlObjectSerializer.InternalReadObject(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.Json.DataContractJsonSerializerImpl.ReadObject(XmlDictionaryReader reader)
   at System.Runtime.Serialization.Json.DataContractJsonSerializerImpl.ReadObject(Stream stream)
   at System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(Stream stream)
   at GoogleCast.JsonSerializer.Deserialize(Type type, Byte[] str)
   at GoogleCast.Sender.<>c__DisplayClass44_0.<<Receive>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at GoogleCast.TaskExtensions.TimeoutAfter[T](Task`1 task, Int32 delay)
   at GoogleCast.Sender.SendAsync[TResponse](String ns, IMessageWithId message, String destinationId)
   at GoogleCast.Channels.Channel.SendAsync[TResponse](IMessageWithId message, String destinationId)
   at GoogleCast.Channels.MediaChannel.SendAsync(IMessageWithId message)
   at GoogleCast.Channels.MediaChannel.LoadAsync(MediaInformation media, Boolean autoPlay, Int32[] activeTrackIds)
   at RaceControl.ViewModels.MainWindowViewModel.CastContentAsync(IReceiver receiver, IPlayableContent playableContent) in D:\Projects\RaceControl\RaceControl\RaceControl\ViewModels\MainWindowViewModel.cs:line 1021
   at System.Threading.Tasks.TaskExtensions.Await(Task task, Action completedCallback, Action`1 errorCallback, Boolean configureAwait)```
robvdpol commented 3 years ago

See issue #132

https://github.com/robvdpol/RaceControl/issues/132#issuecomment-864544492

sjoere commented 3 years ago

Getting an error message in the log when scanning for Chromecast devices:

2021-07-04 14:58:26.7395 WARN A non-critical error occurred. System.NullReferenceException: Object reference not set to an instance of an object. at RaceControl.Services.F1TV.ApiService.<>c.b__8_4(Container c2) in D:\Projects\RaceControl\RaceControl\Services\RaceControl.Services\F1TV\ApiService.cs:line 87 at System.Linq.Enumerable.WhereSelectListIterator2.MoveNext() at System.Linq.Enumerable.SelectManySingleSelectorIterator2.MoveNext() at MoreLinq.MoreEnumerable.<>cDisplayClass430`2.<g|0>d.MoveNext() at System.Collections.Generic.EnumerableHelpers.ToArray[T](IEnumerable1 source, Int32& length) at System.Linq.Buffer1..ctor(IEnumerable1 source) at System.Linq.OrderedEnumerable1.ToList() at System.Linq.Enumerable.ToList[TSource](IEnumerable1 source) at RaceControl.Services.F1TV.ApiService.GetLiveSessionsAsync() in D:\Projects\RaceControl\RaceControl\Services\RaceControl.Services\F1TV\ApiService.cs:line 85 at RaceControl.ViewModels.MainWindowViewModel.RefreshLiveSessionsAsync(Boolean isFirstRefresh) in D:\Projects\RaceControl\RaceControl\RaceControl\ViewModels\MainWindowViewModel.cs:line 769 at System.Threading.Tasks.TaskExtensions.Await(Task task, Action completedCallback, Action1 errorCallback, Boolean configureAwait)

Can't get casting to the NVidia Shield work, casting from the official F1 app on the iPad works fine.

JPAhnen commented 2 years ago

I have the same problem. The Chrome browser finds my Chromecast without problem, and casting works too. But Race control doesn't find my Chromecast, and no informations whatsoever are in the logfile.

xantrk commented 2 years ago

Same here, but only using VPN. It can scan some of the interfaces, but doesnt scan some.