SuRGeoNix / Flyleaf

Media Player .NET Library for WinUI 3/ WPF/WinForms (based on FFmpeg/DirectX)
GNU Lesser General Public License v3.0
715 stars 101 forks source link

Issue while rendering stream after update flyleaf to 3.7.14 (also tried latest code) #311

Closed sharmasulekh87 closed 1 year ago

sharmasulekh87 commented 1 year ago

I am using the flyleaf player for Wpf in windows 11. I have tried with latest code with update mentioned as 3.7.20, but the result is same. But while rendering rtsp stream or simple file , the flyleaf player is not showing stream properly . I am attaching the screenshot here and logs as well. snap1 snap

As you can see in replica player, the stream has been shown fine, but in original whiteness is there. Player (1).log

please suggest the way out.

SuRGeoNix commented 1 year ago

@sharmasulekh87 Can you confirm that this is happening only when you set the ReplicaPlayer? Can you also see if it is related to Config.Demuxer.AllowFindStreamInfo (set it to default - true). And one more thing, when using the Replica is recommended at least for now to use Config.Video.VideoProcessor = VideoProcessors.Flyleaf

I think the issue is because it uses D3D11VP. So if you force it to Flyleaf should work. I will do it in the renderer to force Flyleaf video processor when it uses replica as it has issues.

(By the way, why you mention 3.7.14? It was working with 3.7.13 without the replica?)

pankajsaini1987 commented 1 year ago

when it can be resolved, as we have to decode stream via GPU? please provide solution.

SuRGeoNix commented 1 year ago

please provide feedback to my questions so I can provide a solution (Flyleaf video processor has nothing to do with the hardware decode, you still have the decoding in GPU)

sharmasulekh87 commented 1 year ago

@sharmasulekh87 Can you confirm that this is happening only when you set the ReplicaPlayer? Can you also see if it is related to Config.Demuxer.AllowFindStreamInfo (set it to default - true). And one more thing, when using the Replica is recommended at least for now to use Config.Video.VideoProcessor = VideoProcessors.Flyleaf

I think the issue is because it uses D3D11VP. So if you force it to Flyleaf should work. I will do it in the renderer to force Flyleaf video processor when it uses replica as it has issues.

(By the way, why you mention 3.7.14? It was working with 3.7.13 without the replica?)

I have set as you suggest Config.Video.VideoProcessor = VideoProcessors.Flyleaf and for now its working. But on other systems , it is working without setting this. Is there any specific reason behind that?

SuRGeoNix commented 1 year ago

@sharmasulekh87 replica player is still new and didn't have much time to resolve some issues with D3D11VP. To be honest, not really required to work with D3D11VP, only if you want to use more filters that currently supports or de-interlaced that FlyleafVP does not support. I will change this by default to set Flyleaf when you use Replica. This way you will not have to specify explicitly Flyleaf video processor but it will choose automatically.

sharmasulekh87 commented 1 year ago

ok..thanks for your help