Jump to content

Movie will not play with audio passthrough enabled


DADAMAJA
Go to solution Solved by generiq,

Recommended Posts

DADAMAJA

Hi

I recently started using Emby Theatre rather than MPC-HD.  I have my media box hooked to my AVR (HK AVR354) via HDMI (Radeon HD6450) and have never had an issue with pass through while using MPC.  When I enable passthrough in Emby Theatre, the loading circle spins then stops and the movie never starts.  If I disable passthrough, then all works as it should.  The AVR shows Multi-CH PCM which is ok but I would rather the decoding to occur on the AVR.  I am on version 3.0.19.

Link to comment
Share on other sites

DADAMAJA

From the log....

2023-02-09 14:43:02.790 Error Dx11VaCodecProvider: Error in GetCodecList
    *** Error Report ***
    Version: 4.7.11.0
    Command line: C:\Users\jerald boyd.BOYDHOUSE\AppData\Roaming\Emby-Server\system\EmbyServer.dll C:\Users\jerald boyd.BOYDHOUSE\AppData\Roaming\Emby-Server\system\EmbyServer.dll -noautorunwebapp
    Operating system: Microsoft Windows 6.1.7601 Service Pack 1
    Framework: .NET 6.0.10
    OS/Process: x64/x64
    Runtime: C:/Users/jerald boyd.BOYDHOUSE/AppData/Roaming/Emby-Server/system/System.Private.CoreLib.dll
    Processor count: 4
    Data path: C:\Users\jerald boyd.BOYDHOUSE\AppData\Roaming\Emby-Server\programdata
    Application path: C:\Users\jerald boyd.BOYDHOUSE\AppData\Roaming\Emby-Server\system
    System.EntryPointNotFoundException: System.EntryPointNotFoundException: Unable to find an entry point named 'CreateDXGIFactory2' in DLL 'dxgi.dll'.
       at SharpDX.DXGI.DXGI.CreateDXGIFactory2(Int32 flags, Guid riid, IntPtr& factoryOut)
       at SharpDX.DXGI.Factory2..ctor(Boolean debug)
       at Emby.Codecs.Dxva.Detection.MainDetectorDX11..ctor(ILogger logger, List`1 codecList)
       at Emby.Codecs.Dxva.Dx11VaCodecProvider.GetCodecListInternal()
    Source: SharpDX.DXGI
    TargetSite: Void CreateDXGIFactory2(Int32, System.Guid, IntPtr ByRef)
    
2023-02-09 14:43:02.791 Info Dx11VaCodecProvider: End GetCodecList()
2023-02-09 14:43:02.791 Info DxvaCodecProvider: Start GetCodecList()
2023-02-09 14:43:03.421 Info DxvaCodecProvider: End GetCodecList()
2023-02-09 14:43:03.421 Info QuickSyncCodecProvider: ProcessRun 'ffdetect_qsvencdec' Execute: C:\Users\jerald boyd.BOYDHOUSE\AppData\Roaming\Emby-Server\system\ffdetect.exe -hide_banner -show_program_version -loglevel 48 -show_error -show_log 40 qsvencdec -print_format json -disable_dx11
2023-02-09 14:43:04.193 Info QuickSyncCodecProvider: ProcessRun 'ffdetect_qsvencdec' Process exited with code 0 - Succeeded
2023-02-09 14:43:04.243 Info QuickSyncDx11CodecProvider: ProcessRun 'ffdetect_qsvencdec' Execute: C:\Users\jerald boyd.BOYDHOUSE\AppData\Roaming\Emby-Server\system\ffdetect.exe -hide_banner -show_program_version -loglevel 48 -show_error -show_log 40 qsvencdec -print_format json 
2023-02-09 14:43:04.571 Info QuickSyncDx11CodecProvider: ProcessRun 'ffdetect_qsvencdec' Process exited with code 0 - Succeeded
2023-02-09 14:43:04.633 Info NvidiaCodecProvider: ProcessRun 'ffdetect_nvencdec' Execute: C:\Users\jerald boyd.BOYDHOUSE\AppData\Roaming\Emby-Server\system\ffdetect.exe -hide_banner -show_program_version -loglevel 48 -show_error -show_log 40 nvencdec -print_format json -disable_dx11
2023-02-09 14:43:04.722 Info NvidiaCodecProvider: ProcessRun 'ffdetect_nvencdec' Process exited with code 1 - Failed
2023-02-09 14:43:04.775 Info AmfCodecProvider: ProcessRun 'ffdetect_amfenc' Execute: C:\Users\jerald boyd.BOYDHOUSE\AppData\Roaming\Emby-Server\system\ffdetect.exe -hide_banner -show_program_version -loglevel 48 -show_error -show_log 40 amfenc -print_format json 
2023-02-09 14:43:04.890 Info AmfCodecProvider: ProcessRun 'ffdetect_amfenc' Process exited with code 0 - Succeeded

Link to comment
Share on other sites

generiq

That log won't help. You'll need the mpv log. But before we get into that, let's try some trouble shooting. First try each codec option independently. AC3 first etc. What are the results?

Link to comment
Share on other sites

DADAMAJA

If I select AC3 and play something with an AC3 codec, then it hangs.  In doing more searching and troubleshooting, I was able to seek forward or select the first chapter and it would proceed to play.  In searching, it seems to be related to spdif being checked first and since I am using HDMI, it fails.  I tried to add a mpv.conf with logging enabled but was never able to get a file generated.

Link to comment
Share on other sites

generiq
7 hours ago, DADAMAJA said:

If I select AC3 and play something with an AC3 codec, then it hangs.  In doing more searching and troubleshooting, I was able to seek forward or select the first chapter and it would proceed to play.  In searching, it seems to be related to spdif being checked first and since I am using HDMI, it fails.  I tried to add a mpv.conf with logging enabled but was never able to get a file generated.

Can you post the contents of your mpv.conf?

Link to comment
Share on other sites

DADAMAJA

I used Glow to create the conf file and was able to generate a log.  I generated the log using a remote session so I see that it attempted to load "Remote Audio" but it seems to fail the same as if I was on the box.  I also noticed that it attempted to use spdif which I am not using.  I thought I saw a thread where this would cause issues like this but cannot seem to find it.

mpv.conf mpv.log

Link to comment
Share on other sites

generiq

Ok, most of your conf is useless and possibly problematic, unless you are using mpv directly. Later, I'll re-write it, troubleshoot and give further advice. But for now, comment out the hwdec line, and all of the audio. 

Link to comment
Share on other sites

generiq

Post a log after reproducing the issue once. Not remotely. It needs to be local to your machine 

Edited by generiq
Link to comment
Share on other sites

generiq

From your log.

The renderer is failing. Video not audio.

[  39.222][d][cplayer] starting video playback
[  39.222][v][cplayer] starting audio playback
[  39.222][d][ao/wasapi] Thread Resume
[  39.222][d][ao/wasapi] Thread Reset
[  39.222][v][cplayer] playback restart complete @ 0.000000, audio=playing, video=playing
[  62.592][d][vd] Uninit decoder.
[  62.797][v][vo/libmpv] mpv_render_context_render() not being called or stuck.
[  62.798][d][libmpv_render] flushing shader cache
[  62.798][d][main] Exiting...

 

In your Theater settings, switch the video output to gpu-next.

image.thumb.png.14be3b8e93b25637ebd99883e2d69b64.png

 

I'm going to attach your modified mpv.conf. I've removed many entries. Some of which can be toggled in Theater. Enable them there if you want them. But just remember, enabling them doesn't necessarily mean they are operational. mpv will silently disable some things if not properly implemented. I've added a few lines. 

In Theater, select auto for hardware acceleration.  

If this doesn't fix it, try a clean installation of your gpu driver.

mpv.conf

Link to comment
Share on other sites

DADAMAJA

Set to gpu-next, I only get the circle spinning and the movie never loads.  Setting to Auto at least allows me to select a chapter and play.  I did a fresh re-install of the drivers and same thing.

mpv.log

Link to comment
Share on other sites

DADAMAJA

Without mpv.conf GPU-Next still does not load.  Set to auto and passthrough disabled, all works as it should.  Re-enable passthrough and I have to select a chapter for the movie to play.

Link to comment
Share on other sites

generiq
10 hours ago, DADAMAJA said:

Without mpv.conf GPU-Next still does not load.  Set to auto and passthrough disabled, all works as it should.  Re-enable passthrough and I have to select a chapter for the movie to play.

With gpu-next enabled, does it generate a log?

Link to comment
Share on other sites

generiq

Something odd going on:

[   0.965][v][vo/gpu-next/libplacebo] Using flip-model presentation
[   0.966][v][vo/gpu-next/libplacebo] Initial swap chain configuration: format: R10G10B10A2_UNORM, color space: RGB_FULL_G22_NONE_P709.
[   0.977][v][vo/gpu-next/libplacebo] Attempting to reconfigure swap chain format: R8G8B8A8_UNORM -> R10G10B10A2_UNORM
[   0.977][w][vo/gpu-next/libplacebo] Reconfiguring the swapchain failed, re-trying with R8G8B8A8_UNORM fallback.
[   0.994][v][vo/gpu-next] Assuming 60.000000 FPS for display sync.
[   0.996][v][vd] Container reported FPS: 23.976024
[   1.052][v][vd] Codec list:
[   1.052][v][vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[   1.052][v][vd]     h264_qsv (h264) - H264 video (Intel Quick Sync Video acceleration)
[   1.052][v][vd]     h264_cuvid (h264) - Nvidia CUVID H264 decoder
[   1.052][v][vd] Opening decoder h264
[   1.054][v][vd] Looking at hwdec h264-d3d11va...
[   1.054][v][vo/gpu-next] Loading hwdec drivers for format: 'd3d11'
[   1.054][v][vo/gpu-next] Loading hwdec driver 'd3d11va'
[   1.055][d][ffmpeg] AVHWDeviceContext: D3D11 Init
[   1.055][d][ffmpeg] AVHWDeviceContext: D3D11 Uninit
[   1.055][d][ffmpeg] AVHWDeviceContext: D3D11 Uninit

That's the end of the log. There're no audio device entries. It's as though something is blocking the audio device and mpv stops/crashes.

I'm attaching a standalone mpv complete with conf. Unzip the folder to your desktop, double click mpv.exe, and drag a video on it. Does it play?

mpv.zip

Link to comment
Share on other sites

generiq

Same deal, no audio device or any audio. In the conf I wrote, comment out the the audio-spdif line, run it again and post the log please. You are testing locally, correct? Not remotely in any way?

Link to comment
Share on other sites

generiq

This is nuts! Ok, delete all entries in the conf except for logging. And try once again. The log ends before any audio is initiated. I need to see what devices it's detecting. My sense is that you've got something different with your audio device.

Link to comment
Share on other sites

DADAMAJA

It really is!  So I did a series of test.  It seems that everything works with hwdec and audio-spdif commented out.  With audio-spdif uncommented, the video will load but will not start until I seek forward.  I disabled onboard audio at the bios a while ago so only audio device I have is HDMI.  It always sends multi-channel PCM to my receiver so the decoding is happening on the box rather than bit-streaming to the receiver (HK AVR354). My box would bitstream outside of MPV/Emby Theater (i.e. MPC) but with all of the troubleshooting it seems that I have changed my config.  Ideally, I would rather have everything working through Theater anyway so I am not too concerned.  If I could even have music use custom ffmpeg settings, that would be clutch but I doubt that would be possible.  Anyway, I have attached all of the logs and current mpv.conf

mpv_allaudio.log mpv_allout.log mpv_allvidexceptvo.log mpv_current.log mpv_hwdecout.log mpv_spdifoutnovid.log mpv.conf

Link to comment
Share on other sites

generiq

Ok, I haven't checked the logs yet, but the one thing you said that stands out is disabling the audio in the BIOS. Windows behaves in strange ways. Try re-enabling it. If that works, we can easily specify which audio device to use, in the conf. As for music, yeah, we can probably write an auto-profile for that. I used to do that for myself.

Link to comment
Share on other sites

  • Solution
generiq

Ok, now I can see your audio device. I'm almost certain this is happening because you disabled the audio in the BIOS. If I'm correct, it disables the driver needed to allow mpv to pass the audio. So if you want to ensure that Theater/mpv only uses a specific device, we can add that to the conf.

Link to comment
Share on other sites

DADAMAJA

BINGO!  Enabled onboard audio in the bios, and added audio-device=wasapi/{53e410fa-44d1-48bd-8c4b-6961def6ab32} and everything worked in MPV including bitstreaming DTS-MA and TrueHD.  So I dropped the MPV directory in appdata/roaming, re-configured audio passthrough and set video output to auto and all worked as it should in my limited testing.  As for the auto-profile, where and how would I create one?  I have a pretty simple ffmpeg setup so i would not think that it would be too involved.  Huge thank you for all of your help.  

Edited by DADAMAJA
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

DADAMAJA

I have been doing some reading and I have an idea of what I would need to do.  I am assuming I would start with something like:

##Conditional Auto Profiles##
[profile_for_music_files]
profile-desc="profile for music files"
profile-cond=(filename:match"%.mp3$" or filename:match"%.flac$") ~= nil
af=

I exported the config from FFDShow and the filters I want are:

volNormalizeMax=400
eq5=79
isEQ=1
orderEQ=2
eq0=95
eq1=69
eq0freq=3125
eq5freq=100000
eq8freq=800000
eq9freq=1600000
eqSuper=1
showEQ=1
eq2=79
eq3=84
eq4=80
eq6=77
eq7=92
eq8=107
eq9=116
eqLowdb=-1200
eqHighdb=1200
eq1freq=6250
eq2freq=12500
eq3freq=25000
eq4freq=50000
eq6freq=200000
eq7freq=400000
mixerExpandStereo2=1
mixerVoiceControl2=1
mixerClev=117
mixerSlev=110
mixerLFElev=100

Would I add the above filters in AF= or is there a way to cross reference the correct filter names I would use?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...