View Full Version : ffdshow tryout project : HD audio discussion
albain
4th December 2009, 23:48
LAST EDIT : 01/02/2010
Hi,
we now have on FFDShow Tryout a fully functional HD audio bitstream to the HDMI output of your sound/graphic adapter.
What is bitstream :
first there are compressed formats (MP3, MP2, AC3,DTS) and uncompressed formats (PCM, LPCM).
Among those compressed formats there are the new high definition audio formats : Dolby True HD, DTS-HD HR (High Res), DTS-HD MA (Master Audio, the best format)
There is also Dolby Digital Plus which is an improvement of Dolby Digital but less good than Dolby TrueHD
Lastly, Dolby TrueHD and DTS-HD MA are considered as lossless quality, which means that once uncompressed the quality is even as if they were not compressed at all
Compressed formats need to be decoded before sending them to your receiver or speakers.
However, it is possible to let the stream go compressed and send it to your receiver so that it takes in charge the decoding.
This was the case for AC3 and DTS : it is called SPDIF (going through a numeric opticial or coaxial output)
Now, new HD audio formats such as Dolby True HD, Dolby Digital Plus and DTS-HD (High Resolution or Master Audio) can also be sent compressed to the receiver.
This is called bitstream.
A HDMI output is required to do that (SPDIF has not a sufficient bandwidth).
This is interesting as receivers can be considered as better decoders than software decoders and furthermore there is no existing free DTS HD software decoder yet.
What has been done on FFDShow Tryout :
- bitstream support for TrueHD, DTS-HD (HR & MA) using the new radeon 5xxx series on Vista and Windows 7 (32 & 64 bits). Depending on the OS and the format, some audio renderers may not work. Try several : directsound, waveout and MPC renderer
- TrueHD, DTS HD and Dolby Digital Plus bistream are working on the xonar (Vista and Windows 7). waveout and Arcsoft renderer work well.
What needs to be fixed or improved :
- Dolby Digital Plus bitstream on ATI 5xxx : this is likely due to a driver issue (ATI drivers don't support DD+ yet)
- auzentech : no HD bitstream support because the streams are encrypted by the software (powerdvd) to the audio driver. Ask Auzentech to bring support for third party players
- LPCM support to be added (on 24 bits sampling at 48000/96000/192000 Hz, LPCM 16 bits is already supported)
The HD audio bitstream is now integrated to FFDShow Tryout daily builds and the bugs have been fixed since revision 3241
Supported (and tested) hardware This list may grow up in the future
- ATI Radeon 5xxx series
- Asus Xonar
- Intel clarksdale
Setup :
- Install FFDShow Tryout revision 3241 or greater, 32 or 64 bits
- On Vista : you will need the MPC audio renderer. It is very recent and in early stage but it is functional.
- On windows 7 : default directsound renderer should work on most bistream formats. Otherwise use the waveout renderer or MPC renderer
- If you have a xonar : won't work with directsound renderer, the best is to use the the arcsoft renderer (on a dos window in administrator mode : regsvr32 (total media path)\codecs\asrenderer.dll). Otherwise try the waveout or MPC renderer (don't know if they will work)
- Player software :
1/MPC-HC : you will have to grab a very recent version of MPC-HC (revision 1413 or greater). If you don't have the right version the MPC mpeg splitter will break the DTS HD streams and the MPC renderer won't work
2/Other directshow players (WMP,...) : you will need MPC-HC *recent* standalone filters (revision 1413 or greater). Just register MPC audio renderer and MPC mpeg splitter. For MKV Haali media splitter should work too
Status for ATI 5xxx series owners
There are 2 know issues with ATI 5xxx :
- Audio dropouts that occur every few seconds : this issue is not caused by FFDShow and it occur on any software player without hardware acceleration (no DXVA, or called software decoding). Please post a ticket to AMD support for this
- The receiver that aren't caught up by the radeon : also a driver bug, there is a workaround for this, called "tulli's override", the person who found this hack (see below)
(with-if needed- or without tulli's override monitor driver)
- Windows Seven:
Just with Ati 9.12 hotfix drivers:
DTSHD: no problem with PDVD9 and MPC-HC (ffdshow 54+ MPC Audio Renderer)
THD: No problem with PDVD9 and the best renderer is Ati HDMI Output for MPC-HC (with ffdshow 54)
Realtek 239 over 12 hotfix:
Both HD formats may use Default DirectSound Device.
- Windows Vista:
ffdshow HD bitstreaming only works with Ati 9.12 hotfix drivers by alone using MPC HC Audio renderer on Vista; Realtek 239 doesn't work.
While PDVD9 can work even Realtek 239 is loaded over 9.12 hotfix.
SamuriHL
4th December 2009, 23:59
Thanks SamuriHL for all your efforts
This is a big problem when you can't reproduce the crash in debug mode. Have you tried to run it without vs debugging into ?
I mean there are 2 ways to debug : either attach to the process and run it, or let the player run without visual studio and when it will crash it will ask you if you want to debug
Last resort is to add DPRINTF but this is very difficult to narrow the problem down. I will perform some deeper analysis of the code, but I need a max of info
Could you send me logs whith working and "crashing" samples in that case ?
Otherwise I have opened a new thread for HD audio bitstream.
We have taken this one into hostage enough :)
http://forum.doom9.org/showthread.php?p=1349575#post1349575
Ok, let's just continue our discussion here. :)
Yea, I tried opening it up in debug after the fact, but, the processes have all terminated and I don't have a debug version of MPC-HC. (Nor do I really wanna go down that path.) Let me get back to a debug version, but, the timings on that version are all messed up. It runs in VERY slow motion. :) And in debug it didn't crash regardless of what I tried. Um, I can definitely provide you with logs but I don't think they're going to be useful.
albain
5th December 2009, 00:06
You don't need a debug version of MPC actually.
You're saying that with debug build you never get crash whatever vs is attached or not ?
This is normal that it is running slow, with dropouts and so on
you can disable allowDPRINTF (to 0 in registry) to improve performances and maybe get closer to a crash situation
SamuriHL
5th December 2009, 00:13
I'm saying that when I allow MPC to crash and it gives me the option to debug, it brings me into studio and shows me that all processes are already terminated and never shows me where the crash happened. Is the thing multi-threaded? Maybe the threads are ending before we get the option to debug. I'm not sure. I've not had to deal with this kind of thing before. In any case, I'm off for the rest of the evening. I will DEFINITELY look into this more tomorrow. I will figure something out for us, don't worry.
SamuriHL
5th December 2009, 00:15
OH, right, I forgot. Debug version of ffdshow simply works. :mad: So I can't use the debug version to repro this problem. ARGH! This has GOT to be some weird timing bug. Almost guaranteed.
albain
5th December 2009, 00:22
No problem. Actually I am impressed that you set up ffdshow compilation so quickly, I spent much more time at first
Normally when a program crash this is a just in time debugging : you get exactly where it crashed in the callstack. There are several threads but vs will debug all of them (like in eclipse you can switch from one thread to another and get its call stack).
This issue you get is typical to Mpc : when you debug with it, MPC Will continue to play the video so you'd better have a long video
. Maybe it will be easier with graphstudio (if you get crashes with it too).
Edit: there is something you can get, which is the reason of the crash that is displayed in visual studio debug window even if you compiled in release mode
Thanks again. I will do a break too, it is 0:23 am in Paris ;-)
rica
5th December 2009, 01:04
The headline must have been "HD audio bitstreaming over ffdshow tryouts." :)
Headline "HD audio discussion" is unsuffucient to me.
rica
5th December 2009, 01:17
Hi,
This is interesting as receivers can be considered as better decoders than software decoders and furthermore there is no existing DTS HD software decoder yet
I think you meant there is no existing free DTS HD software decoder yet.
Skinleech
5th December 2009, 01:17
Oh, one thing I meant to add to my post regarding beta 46 was that I still cannot bitstream HD codecs if standard lossy formats are set to bitstream in the audio config. As soon as I uncheck Dolby Digital and DTS it's fine.
Will try my local files tomorrow and report back playabck issues, if any. Will take logs of the problematic files.
sub24ox7
5th December 2009, 01:48
New results from my testing. Success with xonar, mpc-hc,ffdshow,arcsoft renderer through and through with dts-hd from a mkv container no problems and i can skip anywhere in the movie and the dts-hd picks right back up as it should. I remember someone else had success with a mkv container. I am going to try true-hd from a mkv container and see if it works and that the true-hd can not dropout completely after skipping ahead or behind as it does from a m2ts container. It is truly odd that the same movie with dts-hd in a m2ts container crashes mpc-hc and not in a mkv container. Is it possibly the splitter?
Also remember the app crash log from mpc-hc i sent you Samirhl, well vista thinks its ffdshow.ax that is crashing mpc-hc, well anyway that is probably what your debugging anyway and good luck with it.
Cheers,
Sub24ox7
SamuriHL
5th December 2009, 02:59
No problem. Actually I am impressed that you set up ffdshow compilation so quickly, I spent much more time at first
I thought it took longer than it should have, but, there were a bunch of unknowns involved. I didn't know I needed yasm, boost, and I had trouble finding where the damn library import stuff was in VS 2008. Then I had compile problems...I commented out the stuff that was breaking. LOL. :) In any case, now that I have it set up, I can probably work on building us a 64 bit version at some point.
Normally when a program crash this is a just in time debugging : you get exactly where it crashed in the callstack. There are several threads but vs will debug all of them (like in eclipse you can switch from one thread to another and get its call stack).
This issue you get is typical to Mpc : when you debug with it, MPC Will continue to play the video so you'd better have a long video
. Maybe it will be easier with graphstudio (if you get crashes with it too).
Edit: there is something you can get, which is the reason of the crash that is displayed in visual studio debug window even if you compiled in release mode
Thanks again. I will do a break too, it is 0:23 am in Paris ;-)
Hmm, graphstudio is a thought. And yea, I always thought it should break into the stack trace even if the threads ended. It didn't which was annoying. I'll play with this more in the morning. We just got back from dinner and are going to watch some shows. Paris, eh? VERY nice. I've always wanted to go some day. Enjoy! I'll work on this tomorrow.
SamuriHL
5th December 2009, 03:02
New results from my testing. Success with xonar, mpc-hc,ffdshow,arcsoft renderer through and through with dts-hd from a mkv container no problems and i can skip anywhere in the movie and the dts-hd picks right back up as it should. I remember someone else had success with a mkv container. I am going to try true-hd from a mkv container and see if it works and that the true-hd can not dropout completely after skipping ahead or behind as it does from a m2ts container. It is truly odd that the same movie with dts-hd in a m2ts container crashes mpc-hc and not in a mkv container. Is it possibly the splitter?
Also remember the app crash log from mpc-hc i sent you Samirhl, well vista thinks its ffdshow.ax that is crashing mpc-hc, well anyway that is probably what your debugging anyway and good luck with it.
Cheers,
Sub24ox7
Yea, I know what's crashing, just not why. Yet. :) Give me time to mess with the code tomorrow. I've had plenty of experience debugging stuff, so, if I have to go the hard route I will do so. What bothers me is that it's not getting very far before it crashes. I have some other thoughts on how to trace it, too. We'll find it and squash it.
If you have time and don't mind, can you make an mkv out of one of the movies that crashes for you and see if it no longer crashes? Curious if it doesn't like the container.
davinleeds
5th December 2009, 03:03
46 gives me the same results as 44. Multichannel and after my tweeking I have to max MPC and AVR is 80+. Not good
SamuriHL
5th December 2009, 03:16
Can you post a detailed list of your setup? Hardware, OS, settings in ffdshow/mpc, etc. Let's see if we can get to the bottom of this.
sub24ox7
5th December 2009, 03:32
Okay when I remuxed the hangover into a mkv container i can skip forward or backward with the xonar and true-hd track without loosing audio but when the same track is in a m2ts container is looses audio and can't recover. So to recap no problems with either dts-hd and true-hd when in a mkv container so there is an issue with the mpeg splitter or something there roundabout. That is just my guess, oh and a bug with ffdshow when trying to play dts-hd in a m2ts container which causes the app crash.
sub24ox7
5th December 2009, 04:52
Oh I didn't see that you had asked whether the same movie crashed in a mkv container. Well with the xonar(which is all i have i don't have a 5*** series ati card i have two 4870 in crossfire on one compter and nvidia 9400 chipset on the xonar computer and other various cards on other computers). Back to the point the same dts-hd movie doesn't crash in a mkv container which is very odd to me. i have tried various dts-hd movies from inglorious basterds to terminator salvation which is branched so i had to play it from the mpls file to pulp fiction and a dozen other dts-hd movies and they all crashed immediately as soon as i tried to play them with mpc-h, but as soon as i remux one of them into a mkv container they play.
SamuriHL
5th December 2009, 05:15
I've got some interesting results, too. I found the offending m2ts file from Monsters Inc. When I try to play it, MPC-HC crashes in immediately. If I attach the debugger to it, it doesn't crash. If I switch to the ATI DS renderer, it doesn't crash. GraphStudio works fine no matter what I try. If I had to guess I'd say there's a slight issue when parsing certain m2ts DTS-HD MA files in MPC-HC. Does anyone know if there's another splitter that'd work for us?
SamuriHL
5th December 2009, 05:21
@albain
When you get a chance, look at this log:
http://pastebin.com/pastebin.php?dl=d154c01eb
DTS-HD MA, 96000, 8 channel
It plays in ATI DS, but, regular default DS crashes instantly without even logging anything to debugview. And ONLY this one m2ts. It's about 30 seconds long. The others all appear to play fine on the disc.
whurlston
5th December 2009, 07:09
SHL, my Blockbuster didn't have any Monsters Inc BDs, I'll check again tomorrow.
albain
5th December 2009, 10:09
Oh, one thing I meant to add to my post regarding beta 46 was that I still cannot bitstream HD codecs if standard lossy formats are set to bitstream in the audio config. As soon as I uncheck Dolby Digital and DTS it's fine.
Will try my local files tomorrow and report back playabck issues, if any. Will take logs of the problematic files.
Could you post logs when AC3/DTS are checked ?
Thanks
@albain
When you get a chance, look at this log:
http://pastebin.com/pastebin.php?dl=d154c01eb
DTS-HD MA, 96000, 8 channel
It plays in ATI DS, but, regular default DS crashes instantly without even logging anything to debugview. And ONLY this one m2ts. It's about 30 seconds long. The others all appear to play fine on the disc.
The logs seem to be okay
G_M_C
5th December 2009, 10:13
Hi,
Its a long time that i've had time to work and test new stuff (my gf moved in here).
Can you make short how-to, on what i need to update/setup and wht settings i have to make/change to get bitstreaming working with MPC-HT & my Xonar Slim ?
Skinleech
5th December 2009, 10:39
Hi,
Its a long time that i've had time to work and test new stuff (my gf moved in here).
Can you make short how-to, on what i need to update/setup and wht settings i have to make/change to get bitstreaming working with MPC-HT & my Xonar Slim ?
http://forum.doom9.org/showpost.php?p=1348880&postcount=9617
That is what most of us are using. You need to use the Arcsoft renderer if you have a Xonar. 2 further things to note is that Ffdshow is now onto beta 46, and that if you do check all passthrough options it may not work - if you have issues, uncheck AC3 and DTS and try again. I can't get it working if AC3 and DTS are checked, but it does work after that.
albain
5th December 2009, 10:52
http://forum.doom9.org/showpost.php?p=1348880&postcount=9617
That is what most of us are using. You need to use the Arcsoft renderer if you have a Xonar. 2 further things to note is that Ffdshow is now onto beta 46, and that if you do check all passthrough options it may not work - if you have issues, uncheck AC3 and DTS and try again. I can't get it working if AC3 and DTS are checked, but it does work after that.
I would like to fix that. Can you post me logs with AC3 checked ? Thanks
Also another question : the xonar won't work with anything else than the arcsoft renderer ?
Could you send me logs while trying to connect & play ffdshow to mpc audio renderer or directsound with a THD sample ?
I will be out for a couple of hours then I will work on ffdshow : EAC3 support, help to SamuriHL for debugging, DTSHD support for the xonar, and LPCM if I have time
Skinleech
5th December 2009, 11:18
I would like to fix that. Can you post me logs with AC3 checked ? Thanks
Also another question : the xonar won't work with anything else than the arcsoft renderer ?
Could you send me logs while trying to connect & play ffdshow to mpc audio renderer or directsound with a THD sample ?
I will be out for a couple of hours then I will work on ffdshow : EAC3 support, help to SamuriHL for debugging, DTSHD support for the xonar, and LPCM if I have time
Hi albain. I'll get onto all of the above for you later on this morning. I need to swap out an HDD in my HTPC, then I'll take a look.
Will get you logs with ac3/dts checked, and for any problematic files I still have.
I'll also grab one for using a different audio renderer - when I tried yesterday I got PCM when using something other than the Arcsoft renderer.
Thanks.
Skinleech
5th December 2009, 12:50
Or maybe not. My HTPC is now not turning on at all. No idea what the issue is - the motherboard has died on me previously so I am blaming that straight off. Very, very annoyed right now.
EDIT: Seems it's the PSU that's gone. Tried another and things seem to spring to life. Pfft.
I might be able to get you those tests after all.
albain
5th December 2009, 15:04
Concerning LPCM, this is not very clear in my head about what is currently done in FFDShow
There is in output section an LPCM(16) checkbox which disables all the others (16/24/32).
Otherwise when an uncompressed format is detected, the following rules are applied :
1/ If this is PCM format then it will process PCM internally and output PCM I think
2/ If LPCM format is detected (WAVE_FORMAT_LPCM type) in input then :
a/ If this is LPCM20 then PCM 32 bits is processed internally and FFDShow will output LPCM20
b/ If this is PCM24 (?), then PCM 32 bits is processed internally and FFDShow will output LPCM24
c/ If DVD Audio format is detected which is HD LPCM then it will output LPCM24. I don't really know why but FFDShow reformat the stream as followed
@Madshi : if you are around you may have some ideas about why a LPCM stream (DVD audio) should be reformat to LPCM (24 bits) in output, it should be a matter of passthrough ?
Anyway, current implementation looks good but I need FFDShow logs about how FFDShow will handle them : you have to check LPCM checkbox in output section I guess to make it work.
After I think this is just a matter of media type so that the ATI will accept it (KSDATAFORMAT_SUBTYPE_WAVEFORMATEX I think)
int32_t *dst=(int32_t*)getDst(4*src.size()/3),*dst0=dst;
size_t end1 = (src.size()/12)*12;
for (size_t i = 0 ; i < end1 ; i += 12) {
*dst++ = (src[i]<<24) + (src[i+ 1]<<16) + (src[i+ 2]<<8);
*dst++ = (src[i+3]<<24) + (src[i+ 4]<<16) + (src[i+ 5]<<8);
*dst++ = (src[i+6]<<24) + (src[i+ 7]<<16) + (src[i+ 8]<<8);
*dst++ = (src[i+9]<<24) + (src[i+10]<<16) + (src[i+11]<<8);
}
size_t end2 = (src.size()/3)*3;
for (size_t i = end1 ; i < end2 ; i += 3)
{
*dst++ = (src[i ]<<24) + (src[i+ 1]<<16) + (src[i+ 2]<<8);
}
Skinleech
5th December 2009, 15:34
Okay, HTPC is now back in the land of the living thankfully, so on to the logs!
I noted yesterday that I was having TrueHD stutters, and would try from a local drive, not a network one. Seems that has fixed the issue, as once I disabled ffdshow logging in the registry, the file was fine. Here's a log of when it was stuttering though, just in case it's any use: http://pastebin.com/m6abcc29a
Here's a working TrueHD file that I've had no issues with: http://pastebin.com/m365cfe2
Here's the same file, but with ac3 passthrough checked as well (I got stereo): http://pastebin.com/m17d3b771
Here's a DTS-HD file which stutters: http://pastebin.com/m25f08081
Here's the same sample, with DTS passthrough enabled (stereo, and high pitched audio): http://pastebin.com/m3a28131f
I will try and get a PCM sample for you later. Need to head out now as I'm a few hours behind due to the repair job.
SamuriHL
5th December 2009, 15:46
SHL, my Blockbuster didn't have any Monsters Inc BDs, I'll check again tomorrow.
Or find another one that crashes. I really need some help with this because I've not found a way to trap this error yet.
SamuriHL
5th December 2009, 15:47
The logs seem to be okay
That's what I'm afraid of. I may have to go the old fashioned route, but, the fact that nothing shows up in the debug trace in dbgview indicates that it's not getting very far at all.
SamuriHL
5th December 2009, 16:02
When I attach to the crashed MPC process, this is all I get....just this in the output window and nothing more.
The thread 'Win32 Thread' (0xe6c) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x84c) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x11dc) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x11fc) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x7a4) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x1260) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x18c) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x10cc) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0xff0) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x1228) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x1268) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0xa54) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0xa4c) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0xeb0) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x1048) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x4a4) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x1388) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x10a8) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x11a0) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0xe88) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x380) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x804) has exited with code -1073741819 (0xc0000005).
The thread 'Win32 Thread' (0x1238) has exited with code -1073741819 (0xc0000005).
The program '[4272] mpc-hc.exe: Native' has exited with code -1073741819 (0xc0000005).
SamuriHL
5th December 2009, 16:19
@albain
This is probably not overly helpful, but, I found the last event that happened before it crashed. It was reading the audio renderer info out of the registry (hence the -1073741819 error). After this event, all the threads exited. I have NO idea if this helps us track down the error or not. I'm hoping you can at least tell me where in the code to look based upon what it's doing here.
<event>
<ProcessIndex>140</ProcessIndex>
<Time_of_Day>10:07:12.0357309 AM</Time_of_Day>
<Process_Name>mpc-hc.exe</Process_Name>
<PID>4580</PID>
<Operation>RegCloseKey</Operation>
<Path>HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{4042ca0b-82a3-4c5c-9450-bee12554a2ef}</Path>
<Result>SUCCESS</Result>
<Detail></Detail>
<stack>
<frame>
<depth>0</depth>
<address>0xfffff80003033580</address>
<path>C:\Windows\system32\ntoskrnl.exe</path>
<location>ntoskrnl.exe + 0x422580</location>
</frame>
<frame>
<depth>1</depth>
<address>0xfffff80002fca336</address>
<path>C:\Windows\system32\ntoskrnl.exe</path>
<location>ntoskrnl.exe + 0x3b9336</location>
</frame>
<frame>
<depth>2</depth>
<address>0xfffff80002c880b4</address>
<path>C:\Windows\system32\ntoskrnl.exe</path>
<location>ntoskrnl.exe + 0x770b4</location>
</frame>
<frame>
<depth>3</depth>
<address>0xfffff80002f96194</address>
<path>C:\Windows\system32\ntoskrnl.exe</path>
<location>ntoskrnl.exe + 0x385194</location>
</frame>
<frame>
<depth>4</depth>
<address>0xfffff80002f96094</address>
<path>C:\Windows\system32\ntoskrnl.exe</path>
<location>ntoskrnl.exe + 0x385094</location>
</frame>
<frame>
<depth>5</depth>
<address>0xfffff80002c82153</address>
<path>C:\Windows\system32\ntoskrnl.exe</path>
<location>ntoskrnl.exe + 0x71153</location>
</frame>
<frame>
<depth>6</depth>
<address>0x778effaa</address>
<path>C:\Windows\System32\ntdll.dll</path>
<location>ntdll.dll + 0x4ffaa</location>
</frame>
<frame>
<depth>7</depth>
<address>0x7423f2cd</address>
<path>C:\Windows\SYSTEM32\wow64.dll</path>
<location>wow64.dll + 0xf2cd</location>
</frame>
<frame>
<depth>8</depth>
<address>0x7423cf87</address>
<path>C:\Windows\SYSTEM32\wow64.dll</path>
<location>wow64.dll + 0xcf87</location>
</frame>
<frame>
<depth>9</depth>
<address>0x741c276d</address>
<path>C:\Windows\SYSTEM32\wow64cpu.dll</path>
<location>wow64cpu.dll + 0x276d</location>
</frame>
<frame>
<depth>10</depth>
<address>0x7423d07e</address>
<path>C:\Windows\SYSTEM32\wow64.dll</path>
<location>wow64.dll + 0xd07e</location>
</frame>
<frame>
<depth>11</depth>
<address>0x7423c549</address>
<path>C:\Windows\SYSTEM32\wow64.dll</path>
<location>wow64.dll + 0xc549</location>
</frame>
<frame>
<depth>12</depth>
<address>0x7791d177</address>
<path>C:\Windows\System32\ntdll.dll</path>
<location>ntdll.dll + 0x7d177</location>
</frame>
<frame>
<depth>13</depth>
<address>0x778d308e</address>
<path>C:\Windows\System32\ntdll.dll</path>
<location>ntdll.dll + 0x3308e</location>
</frame>
<frame>
<depth>14</depth>
<address>0x77a9f992</address>
<path>C:\Windows\SysWOW64\ntdll.dll</path>
<location>ntdll.dll + 0x1f992</location>
</frame>
<frame>
<depth>15</depth>
<address>0x761b2642</address>
<path>C:\Windows\syswow64\kernel32.dll</path>
<location>kernel32.dll + 0x12642</location>
</frame>
<frame>
<depth>16</depth>
<address>0x761b25bc</address>
<path>C:\Windows\syswow64\kernel32.dll</path>
<location>kernel32.dll + 0x125bc</location>
</frame>
<frame>
<depth>17</depth>
<address>0x7093500c</address>
<path>C:\Windows\SysWOW64\MMDevAPI.dll</path>
<location>MMDevAPI.dll + 0x500c</location>
</frame>
<frame>
<depth>18</depth>
<address>0x70934f0f</address>
<path>C:\Windows\SysWOW64\MMDevAPI.dll</path>
<location>MMDevAPI.dll + 0x4f0f</location>
</frame>
<frame>
<depth>19</depth>
<address>0x70934a6f</address>
<path>C:\Windows\SysWOW64\MMDevAPI.dll</path>
<location>MMDevAPI.dll + 0x4a6f</location>
</frame>
<frame>
<depth>20</depth>
<address>0x7093e522</address>
<path>C:\Windows\SysWOW64\MMDevAPI.dll</path>
<location>MMDevAPI.dll + 0xe522</location>
</frame>
<frame>
<depth>21</depth>
<address>0x7093e573</address>
<path>C:\Windows\SysWOW64\MMDevAPI.dll</path>
<location>MMDevAPI.dll + 0xe573</location>
</frame>
<frame>
<depth>22</depth>
<address>0x708ba1a1</address>
<path>C:\Windows\SysWOW64\AudioSes.dll</path>
<location>AudioSes.dll + 0xa1a1</location>
</frame>
<frame>
<depth>23</depth>
<address>0x70934b8c</address>
<path>C:\Windows\SysWOW64\MMDevAPI.dll</path>
<location>MMDevAPI.dll + 0x4b8c</location>
</frame>
<frame>
<depth>24</depth>
<address>0x7125eabd</address>
<path>C:\Windows\SysWOW64\DSOUND.dll</path>
<location>DSOUND.dll + 0x2eabd</location>
</frame>
<frame>
<depth>25</depth>
<address>0x71234511</address>
<path>C:\Windows\SysWOW64\DSOUND.dll</path>
<location>DSOUND.dll + 0x4511</location>
</frame>
<frame>
<depth>26</depth>
<address>0x7123620f</address>
<path>C:\Windows\SysWOW64\DSOUND.dll</path>
<location>DSOUND.dll + 0x620f</location>
</frame>
<frame>
<depth>27</depth>
<address>0x712362e7</address>
<path>C:\Windows\SysWOW64\DSOUND.dll</path>
<location>DSOUND.dll + 0x62e7</location>
</frame>
<frame>
<depth>28</depth>
<address>0x7097a9ee</address>
<path>C:\Windows\SysWOW64\quartz.dll</path>
<location>quartz.dll + 0xa9ee</location>
</frame>
<frame>
<depth>29</depth>
<address>0x7097a924</address>
<path>C:\Windows\SysWOW64\quartz.dll</path>
<location>quartz.dll + 0xa924</location>
</frame>
<frame>
<depth>30</depth>
<address>0x7097a825</address>
<path>C:\Windows\SysWOW64\quartz.dll</path>
<location>quartz.dll + 0xa825</location>
</frame>
<frame>
<depth>31</depth>
<address>0x7097a771</address>
<path>C:\Windows\SysWOW64\quartz.dll</path>
<location>quartz.dll + 0xa771</location>
</frame>
<frame>
<depth>32</depth>
<address>0x70979d2b</address>
<path>C:\Windows\SysWOW64\quartz.dll</path>
<location>quartz.dll + 0x9d2b</location>
</frame>
<frame>
<depth>33</depth>
<address>0x70980b77</address>
<path>C:\Windows\SysWOW64\quartz.dll</path>
<location>quartz.dll + 0x10b77</location>
</frame>
<frame>
<depth>34</depth>
<address>0x761b3677</address>
<path>C:\Windows\syswow64\kernel32.dll</path>
<location>kernel32.dll + 0x13677</location>
</frame>
<frame>
<depth>35</depth>
<address>0x77ab9d72</address>
<path>C:\Windows\SysWOW64\ntdll.dll</path>
<location>ntdll.dll + 0x39d72</location>
</frame>
<frame>
<depth>36</depth>
<address>0x77ab9d45</address>
<path>C:\Windows\SysWOW64\ntdll.dll</path>
<location>ntdll.dll + 0x39d45</location>
</frame>
</stack>
</event>
SamuriHL
5th December 2009, 16:32
New results from my testing. Success with xonar, mpc-hc,ffdshow,arcsoft renderer through and through with dts-hd from a mkv container no problems and i can skip anywhere in the movie and the dts-hd picks right back up as it should. I remember someone else had success with a mkv container. I am going to try true-hd from a mkv container and see if it works and that the true-hd can not dropout completely after skipping ahead or behind as it does from a m2ts container. It is truly odd that the same movie with dts-hd in a m2ts container crashes mpc-hc and not in a mkv container. Is it possibly the splitter?
Also remember the app crash log from mpc-hc i sent you Samirhl, well vista thinks its ffdshow.ax that is crashing mpc-hc, well anyway that is probably what your debugging anyway and good luck with it.
Cheers,
Sub24ox7
I need you to do me a big favor. Enable the allowDPRINTF registry option, open DbgView, and try playing your problematic title again. It should work. This is what I don't understand. We get crashes whether that option is set or not if DbgView is not open. But if it's enabled and DbgView is open, then it seems to work. I need you to verify that for me. Thanks!
EDIT: Nevermind. I got some odd results I'm about to post.
SamuriHL
5th December 2009, 16:40
So I was able to get some log information in DbgView before MPC-HC crashed this time. That's a first. It usually doesn't crash with DbgView enabled. So maybe this will also help shed some light?
00000000 0.00000000 [4504] FTH: (4504): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. ***
00000001 7.88371181 [4504] TffdshowBase::Constructor
00000002 7.88658047 [4504] TffdshowDecAudio::Constructor
00000003 7.88863611 [4504] Join filter graph
00000004 7.88869953 [4504] Removed from filter graph
00000005 7.88874769 [4504] Join filter graph
00000006 7.88884354 [4504] TffdshowDecAudio::CheckConnect (input)
00000007 7.88888931 [4504] TffdshowDecAudio::CheckInputType
00000008 7.88893366 [4504] TffdshowDecAudio::getCodecId
00000009 7.88898563 [4504] TffdshowDecAudio::getCodecId: codecId=1500
00000010 7.88903475 [4504] TinputPin::SetMediaType
00000011 7.88908386 [4504] TffdshowDecAudioInputPin::initAudio
00000012 7.88912773 [4504] TffdshowDecAudio::getCodecId
00000013 7.88917542 [4504] TffdshowDecAudio::getCodecId: codecId=1500
00000014 7.89064646 [4504] initPreset
00000015 7.89708757 [4504] TffdshowDecAudio::getOutsf PCM 8
00000016 7.89744043 [4504] TffdshowDecAudio::getMediaType sample format 1
00000017 7.89750195 [4504] TffdshowDecAudio::getMediaType:48000 Hz, 6 channels 16-bit integer
00000018 7.90078497 [4504] TffdshowBase::Constructor
00000019 7.90355730 [4504] TffdshowDecAudio::Constructor
00000020 7.90555859 [4504] Join filter graph
00000021 7.90562010 [4504] Removed from filter graph
00000022 7.90566921 [4504] Join filter graph
00000023 7.90574551 [4504] Removed from filter graph
00000024 7.90616274 [4504] TffdshowDecAudio::getOutsf PCM 8
00000025 7.90635061 [4504] TffdshowDecAudio::getMediaType sample format 1
00000026 7.90641451 [4504] TffdshowDecAudio::getMediaType:48000 Hz, 6 channels 16-bit integer
00000027 7.90646553 [4504] TffdshowDecAudio::CheckConnect (output)
00000028 7.90651274 [4504] initPreset
00000029 7.90656471 [4504] TffdshowDecAudio::getOutsf PCM 8
00000030 7.90674877 [4504] TffdshowDecAudio::CheckConnect (output)
00000031 7.90685177 [4504] initPreset
00000032 7.90690231 [4504] TffdshowDecAudio::getOutsf PCM 8
00000033 7.90726089 [4504] TffdshowDecAudio::getOutsf PCM 8
00000034 7.90744400 [4504] TffdshowDecAudio::getMediaType sample format 1
00000035 7.90750217 [4504] TffdshowDecAudio::getMediaType:48000 Hz, 6 channels 16-bit integer
00000036 7.90754938 [4504] TffdshowDecAudio::CheckConnect (output)
00000037 7.90759706 [4504] initPreset
00000038 7.90764332 [4504] TffdshowDecAudio::getOutsf PCM 8
00000039 7.90782690 [4504] TffdshowDecAudio::CheckTransform From :
00000040 7.90790081 [4504] Media Type Structure
00000041 7.90790081 [4504] Format type : FORMAT_WaveFormatEx
00000042 7.90790081 [4504] Sub type : MEDIASUBTYPE_DTS
00000043 7.90790081 [4504]
00000044 7.90790081 [4504] WAVEFORMATEX :
00000045 7.90790081 [4504] wFormatTag : DTS wave
00000046 7.90790081 [4504] Channels : 6
00000047 7.90790081 [4504] Bits per sample : 0
00000048 7.90790081 [4504] Samples per second : 48000
00000049 7.90790081 [4504] nBlockAlign : 2012
00000050 7.90790081 [4504] nAvgBytesPerSec : 188719
00000051 7.90790081 [4504]
00000052 7.90795326 [4504] TffdshowDecAudio::CheckTransform To :
00000053 7.90803766 [4504] Media Type Structure
00000054 7.90803766 [4504] Format type : FORMAT_WaveFormatEx
00000055 7.90803766 [4504] Sub type : MEDIASUBTYPE_PCM
00000056 7.90803766 [4504]
00000057 7.90803766 [4504] WAVEFORMATEXTENSIBLE :
00000058 7.90803766 [4504] subFormat : MEDIASUBTYPE_PCM
00000059 7.90803766 [4504]
00000060 7.90803766 [4504] wSamplesPerBlock : 16
00000061 7.90803766 [4504] Valid bits per sample : 16
00000062 7.90803766 [4504] dwChannelMask : 63
00000063 7.90803766 [4504]
00000064 7.90803766 [4504] WAVEFORMATEX :
00000065 7.90803766 [4504] wFormatTag : WAVE_FORMAT_EXTENSIBLE
00000066 7.90803766 [4504] Channels : 6
00000067 7.90803766 [4504] Bits per sample : 16
00000068 7.90803766 [4504] Samples per second : 48000
00000069 7.90803766 [4504] nBlockAlign : 12
00000070 7.90803766 [4504] nAvgBytesPerSec : 576000
00000071 7.90803766 [4504]
00000072 7.90808916 [4504] TffdshowDecAudio::CheckInputType
00000073 7.90813494 [4504] TffdshowDecAudio::getCodecId
00000074 7.90818787 [4504] TffdshowDecAudio::getCodecId Check if it is a SPDIF/bistream format
00000075 7.90823603 [4504] TffdshowDecAudio::getCodecId: codecId=1401
00000076 7.90829039 [4504] TffdshowDecAudio::CheckTransform To generated by FFDShow :
00000077 7.90837622 [4504] Media Type Structure
00000078 7.90837622 [4504] Format type : FORMAT_WaveFormatEx
00000079 7.90837622 [4504] Sub type : MEDIASUBTYPE_PCM
00000080 7.90837622 [4504]
00000081 7.90837622 [4504] WAVEFORMATEXTENSIBLE :
00000082 7.90837622 [4504] subFormat : {00000000-0000-0000-0000-000000000000}
00000083 7.90837622 [4504]
00000084 7.90837622 [4504] wSamplesPerBlock : 0
00000085 7.90837622 [4504] Valid bits per sample : 0
00000086 7.90837622 [4504] dwChannelMask : 0
00000087 7.90837622 [4504]
00000088 7.90837622 [4504] WAVEFORMATEX :
00000089 7.90837622 [4504] wFormatTag : Dolby AC3 SPDIF
00000090 7.90837622 [4504] Channels : 2
00000091 7.90837622 [4504] Bits per sample : 16
00000092 7.90837622 [4504] Samples per second : 48000
00000093 7.90837622 [4504] nBlockAlign : 4
00000094 7.90837622 [4504] nAvgBytesPerSec : 192000
00000095 7.90837622 [4504]
00000096 7.90843248 [4504] TffdshowDecAudio::CheckTransform target format is different from FFDShow output format, refuse the transformation
00000097 7.90848684 [4504] TffdshowDecAudio::CheckConnect (output)
00000098 7.90853167 [4504] initPreset
00000099 7.90858889 [4504] TffdshowDecAudio::CheckTransform From :
00000100 7.90865803 [4504] Media Type Structure
00000101 7.90865803 [4504] Format type : FORMAT_WaveFormatEx
00000102 7.90865803 [4504] Sub type : MEDIASUBTYPE_DTS
00000103 7.90865803 [4504]
00000104 7.90865803 [4504] WAVEFORMATEX :
00000105 7.90865803 [4504] wFormatTag : DTS wave
00000106 7.90865803 [4504] Channels : 6
00000107 7.90865803 [4504] Bits per sample : 0
00000108 7.90865803 [4504] Samples per second : 48000
00000109 7.90865803 [4504] nBlockAlign : 2012
00000110 7.90865803 [4504] nAvgBytesPerSec : 188719
00000111 7.90865803 [4504]
00000112 7.90870810 [4504] TffdshowDecAudio::CheckTransform To :
00000113 7.90877676 [4504] Media Type Structure
00000114 7.90877676 [4504] Format type : {0F6417D6-C318-11D0-A43F-00A0C9223196}
00000115 7.90877676 [4504] Sub type : {E436EB8E-524F-11CE-9F53-0020AF0BA770}
00000116 7.90877676 [4504]
00000117 7.90882587 [4504] TffdshowDecAudio::CheckInputType
00000118 7.90887165 [4504] TffdshowDecAudio::getCodecId
00000119 7.90891790 [4504] TffdshowDecAudio::getCodecId Check if it is a SPDIF/bistream format
00000120 7.90896463 [4504] TffdshowDecAudio::getCodecId: codecId=1401
00000121 7.90986156 [4504] TffdshowDecAudio::CheckConnect (output)
00000122 7.90990543 [4504] initPreset
00000123 7.90995646 [4504] TffdshowDecAudio::CheckTransform From :
00000124 7.91002131 [4504] Media Type Structure
00000125 7.91002131 [4504] Format type : FORMAT_WaveFormatEx
00000126 7.91002131 [4504] Sub type : MEDIASUBTYPE_DTS
00000127 7.91002131 [4504]
00000128 7.91002131 [4504] WAVEFORMATEX :
00000129 7.91002131 [4504] wFormatTag : DTS wave
00000130 7.91002131 [4504] Channels : 6
00000131 7.91002131 [4504] Bits per sample : 0
00000132 7.91002131 [4504] Samples per second : 48000
00000133 7.91002131 [4504] nBlockAlign : 2012
00000134 7.91002131 [4504] nAvgBytesPerSec : 188719
00000135 7.91002131 [4504]
00000136 7.91007042 [4504] TffdshowDecAudio::CheckTransform To :
00000137 7.91012335 [4504] Media Type Structure
00000138 7.91012335 [4504] Format type : {00000000-0000-0000-0000-000000000000}
00000139 7.91012335 [4504] Sub type : {00000000-0000-0000-0000-000000000000}
00000140 7.91012335 [4504]
00000141 7.91016817 [4504] TffdshowDecAudio::CheckInputType
00000142 7.91020727 [4504] TffdshowDecAudio::getCodecId
00000143 7.91024780 [4504] TffdshowDecAudio::getCodecId Check if it is a SPDIF/bistream format
00000144 7.91028738 [4504] TffdshowDecAudio::getCodecId: codecId=1401
00000145 7.91033220 [4504] TffdshowDecAudio::CheckTransform To generated by FFDShow :
00000146 7.91040945 [4504] Media Type Structure
00000147 7.91040945 [4504] Format type : FORMAT_WaveFormatEx
00000148 7.91040945 [4504] Sub type : MEDIASUBTYPE_PCM
00000149 7.91040945 [4504]
00000150 7.91040945 [4504] WAVEFORMATEXTENSIBLE :
00000151 7.91040945 [4504] subFormat : {00000000-0000-0000-0000-000000000000}
00000152 7.91040945 [4504]
00000153 7.91040945 [4504] wSamplesPerBlock : 0
00000154 7.91040945 [4504] Valid bits per sample : 0
00000155 7.91040945 [4504] dwChannelMask : 0
00000156 7.91040945 [4504]
00000157 7.91040945 [4504] WAVEFORMATEX :
00000158 7.91040945 [4504] wFormatTag : Dolby AC3 SPDIF
00000159 7.91040945 [4504] Channels : 2
00000160 7.91040945 [4504] Bits per sample : 16
00000161 7.91040945 [4504] Samples per second : 48000
00000162 7.91040945 [4504] nBlockAlign : 4
00000163 7.91040945 [4504] nAvgBytesPerSec : 192000
00000164 7.91040945 [4504]
00000165 7.91045570 [4504] TffdshowDecAudio::CheckTransform target format is different from FFDShow output format, refuse the transformation
00000166 7.91051292 [4504] TffdshowDecAudio::CheckConnect (output)
00000167 7.91055155 [4504] initPreset
00000168 7.91060448 [4504] TffdshowDecAudio::CheckTransform From :
00000169 7.91066217 [4504] Media Type Structure
00000170 7.91066217 [4504] Format type : FORMAT_WaveFormatEx
00000171 7.91066217 [4504] Sub type : MEDIASUBTYPE_DTS
00000172 7.91066217 [4504]
00000173 7.91066217 [4504] WAVEFORMATEX :
00000174 7.91066217 [4504] wFormatTag : DTS wave
00000175 7.91066217 [4504] Channels : 6
00000176 7.91066217 [4504] Bits per sample : 0
00000177 7.91066217 [4504] Samples per second : 48000
00000178 7.91066217 [4504] nBlockAlign : 2012
00000179 7.91066217 [4504] nAvgBytesPerSec : 188719
00000180 7.91066217 [4504]
00000181 7.91070795 [4504] TffdshowDecAudio::CheckTransform To :
00000182 7.91078329 [4504] Media Type Structure
00000183 7.91078329 [4504] Format type : FORMAT_WaveFormatEx
00000184 7.91078329 [4504] Sub type : MEDIASUBTYPE_PCM
00000185 7.91078329 [4504]
00000186 7.91078329 [4504] WAVEFORMATEXTENSIBLE :
00000187 7.91078329 [4504] subFormat : {00000000-0000-0000-0000-000000000000}
00000188 7.91078329 [4504]
00000189 7.91078329 [4504] wSamplesPerBlock : 0
00000190 7.91078329 [4504] Valid bits per sample : 0
00000191 7.91078329 [4504] dwChannelMask : 0
00000192 7.91078329 [4504]
00000193 7.91078329 [4504] WAVEFORMATEX :
00000194 7.91078329 [4504] wFormatTag : Dolby AC3 SPDIF
00000195 7.91078329 [4504] Channels : 2
00000196 7.91078329 [4504] Bits per sample : 16
00000197 7.91078329 [4504] Samples per second : 48000
00000198 7.91078329 [4504] nBlockAlign : 4
00000199 7.91078329 [4504] nAvgBytesPerSec : 192000
00000200 7.91078329 [4504]
00000201 7.91082716 [4504] TffdshowDecAudio::CheckInputType
00000202 7.91086578 [4504] TffdshowDecAudio::getCodecId
00000203 7.91090631 [4504] TffdshowDecAudio::getCodecId Check if it is a SPDIF/bistream format
00000204 7.91094732 [4504] TffdshowDecAudio::getCodecId: codecId=1401
00000205 7.91099215 [4504] TffdshowDecAudio::CheckTransform To generated by FFDShow :
00000206 7.91106796 [4504] Media Type Structure
00000207 7.91106796 [4504] Format type : FORMAT_WaveFormatEx
00000208 7.91106796 [4504] Sub type : MEDIASUBTYPE_PCM
00000209 7.91106796 [4504]
00000210 7.91106796 [4504] WAVEFORMATEXTENSIBLE :
00000211 7.91106796 [4504] subFormat : {00000000-0000-0000-0000-000000000000}
00000212 7.91106796 [4504]
00000213 7.91106796 [4504] wSamplesPerBlock : 0
00000214 7.91106796 [4504] Valid bits per sample : 0
00000215 7.91106796 [4504] dwChannelMask : 0
00000216 7.91106796 [4504]
00000217 7.91106796 [4504] WAVEFORMATEX :
00000218 7.91106796 [4504] wFormatTag : Dolby AC3 SPDIF
00000219 7.91106796 [4504] Channels : 2
00000220 7.91106796 [4504] Bits per sample : 16
00000221 7.91106796 [4504] Samples per second : 48000
00000222 7.91106796 [4504] nBlockAlign : 4
00000223 7.91106796 [4504] nAvgBytesPerSec : 192000
00000224 7.91106796 [4504]
00000225 7.91111183 [4504] TffdshowDecAudio::CheckTransform result 0
00000226 7.92062187 [4504] TffdshowDecAudio::DecideBufferSize
00000227 7.92066383 [4504] TffAudioDecoder::DecideBufferSize 307200
00000228 7.92550516 [4504] TffdshowBase::Constructor
00000229 7.92862654 [4504] TffdshowDecVideo::Constructor
00000230 7.92869949 [4504] TffdshowDecVideoOutputPin::Constructor
00000231 7.93071222 [4504] Join filter graph
00000232 7.93078327 [4504] Removed from filter graph
00000233 7.93083239 [4504] Join filter graph
00000234 7.93104315 [4504] TffdshowVideoInputPin::ReceiveConnection
00000235 7.93121338 [4504] Removed from filter graph
00000236 7.93127108 [4504] TffdshowDecVideo::Destructor
00000237 7.93134308 [4504] TffdshowDecVideoOutputPin::Destructor
00000238 8.02574062 [4504] TffdshowDecAudio::StartStreaming
00000239 8.05832577 [4504] TffdshowDecAudioInputPin::NewSegment
00000240 8.05853367 [4504] TffdshowDecAudio::NewSegment
00000241 8.06792068 [4504] TaudioParser::checkOutputFormat for codec DTS s/pdif with sample format 16
00000242 8.06819820 [4504] Media Type Structure
00000243 8.06819820 [4504] Format type : FORMAT_WaveFormatEx
00000244 8.06819820 [4504] Sub type : MEDIASUBTYPE_PCM
00000245 8.06819820 [4504]
00000246 8.06819820 [4504] WAVEFORMATEXTENSIBLE :
00000247 8.06819820 [4504] subFormat : {00000000-0000-0000-0000-000000000000}
00000248 8.06819820 [4504]
00000249 8.06819820 [4504] wSamplesPerBlock : 0
00000250 8.06819820 [4504] Valid bits per sample : 0
00000251 8.06819820 [4504] dwChannelMask : 0
00000252 8.06819820 [4504]
00000253 8.06819820 [4504] WAVEFORMATEX :
00000254 8.06819820 [4504] wFormatTag : Dolby AC3 SPDIF
00000255 8.06819820 [4504] Channels : 2
00000256 8.06819820 [4504] Bits per sample : 16
00000257 8.06819820 [4504] Samples per second : 48000
00000258 8.06819820 [4504] nBlockAlign : 4
00000259 8.06819820 [4504] nAvgBytesPerSec : 192000
00000260 8.06819820 [4504]
00000261 8.08625698 [4504] TffdshowDecAudioInputPin : switching codec from libdts to DTS s/pdif
00000262 8.08629990 [4504] TffdshowDecAudioInputPin::Receive : Initialize audio codec DTS s/pdif
00000263 8.08797836 [4504] TaudioCodecBitstream::init
albain
5th December 2009, 17:06
Okay, HTPC is now back in the land of the living thankfully, so on to the logs!
I noted yesterday that I was having TrueHD stutters, and would try from a local drive, not a network one. Seems that has fixed the issue, as once I disabled ffdshow logging in the registry, the file was fine. Here's a log of when it was stuttering though, just in case it's any use: http://pastebin.com/m6abcc29a
Here's a working TrueHD file that I've had no issues with: http://pastebin.com/m365cfe2
Here's the same file, but with ac3 passthrough checked as well (I got stereo): http://pastebin.com/m17d3b771
Here's a DTS-HD file which stutters: http://pastebin.com/m25f08081
Here's the same sample, with DTS passthrough enabled (stereo, and high pitched audio): http://pastebin.com/m3a28131f
I will try and get a PCM sample for you later. Need to head out now as I'm a few hours behind due to the repair job.
Are you sure that when AC3/DTS passthrough are enabled arcsoft renderer is still in the graph ?
Because the HD media structure is refused by the renderer when AC3/DTS passthrough is enabled
@all : this issue seems to only concern the xonar, not the ATI
SamuriHL
5th December 2009, 17:33
Ok, I'm still testing, but, albain man, you aren't likely to enjoy what I've found so far. :D In the TffdshowDecAudioInputPin module, there's a call to TaudioCodec::initSource. If I add this line before it, I get no crashes anymore. :D
DPRINTF(_l("TffdshowDecAudioInputPin::Receive : Samuri was here"));
:D LOL! I compile that up and run it, no more crashes. Um.....WHAT? :) Again, still testing this so you know this is just observation so far.
EDIT:
Ok, so yea, I put that line in there, no crashes. I comment it out, crash returns. Alrighty then. I don't think I even wanna know what's going on with that! But anyway, that's about all the info I can give you on this crash right now. :)
EDIT 2:
HUH...I open DbgView so I could see my nice samuri was here output and now it crashes?!?!? WTH???
EDIT 3:
It seems to be an issue with opening MPC-HC multiple times with this problem disc. After putting in my printf statement, now it opens and works the first time, but subsequent times it crashes again. This is irrespective of having DbgView open so we can rule that out at least. At least I've narrowed down where it's crashing now.
Skinleech
5th December 2009, 17:53
Are you sure that when AC3/DTS passthrough are enabled arcsoft renderer is still in the graph ?
Because the HD media structure is refused by the renderer when AC3/DTS passthrough is enabled
@all : this issue seems to only concern the xonar, not the ATI
albain, you got it. As soon as i check ac3 or dts, and try to play a file, the arcsoft renderer doesn't load at all, the default sound device loads instead.
But I don't see why that would happen - I haver Arcsoft set as the preferred Audio Renderer.
albain
5th December 2009, 18:44
Ok, I'm still testing, but, albain man, you aren't likely to enjoy what I've found so far. :D In the TffdshowDecAudioInputPin module, there's a call to TaudioCodec::initSource. If I add this line before it, I get no crashes anymore. :D
DPRINTF(_l("TffdshowDecAudioInputPin::Receive : Samuri was here"));
:D LOL! I compile that up and run it, no more crashes. Um.....WHAT? :) Again, still testing this so you know this is just observation so far.
EDIT:
Ok, so yea, I put that line in there, no crashes. I comment it out, crash returns. Alrighty then. I don't think I even wanna know what's going on with that! But anyway, that's about all the info I can give you on this crash right now. :)
EDIT 2:
HUH...I open DbgView so I could see my nice samuri was here output and now it crashes?!?!? WTH???
EDIT 3:
It seems to be an issue with opening MPC-HC multiple times with this problem disc. After putting in my printf statement, now it opens and works the first time, but subsequent times it crashes again. This is irrespective of having DbgView open so we can rule that out at least. At least I've narrowed down where it's crashing now.
This means indeed that the is a memory corruption : some thread writes to memory location where it shouldn't.
Which codec it will try to load when it will crash ? DTS or DTS HD ?
Could you move your "Samuri is here" DPRINTF to codecs\TaudioCodecBitstream.cpp in the init method ?
@Skinleech : this is annoying because this means that the arcsoft renderer won't accept standard SPDIF format for regular AC3/DTS and the problem is that DTS-HD or TrueHD are detected as DTS/AC3 first by the splitter and then FFDShow will parse them and change the format to HD.
I don't have any idea for now about how to fix it.
I'd rather make FFDShow work with the xonar and regular renderers. Have you tried waveout renderer (because this is what arcsoft uses) ?
EDIT : also instead of doing this in TffdshowAudioInputPin.cpp :
codec=audio=TaudioCodec::initSource(filter,this,codecId,filter->insf,filter->insf.toCMediaType());
You could split up the call :
CMediaType mt=filter->insf.toCMediaType();
DPRINTF(_l("Samuri is also here");
codec=audio=TaudioCodec::initSource(filter,this,codecId,filter->insf,mt);
SamuriHL
5th December 2009, 18:48
This means indeed that the is a memory corruption : some thread writes to memory location where it shouldn't.
Which codec it will try to load when it will crash ? DTS or DTS HD ?
Could you move your "Samuri is here" DPRINTF to codecs\TaudioCodecBitstream.cpp in the init method ?
I've been working on doing exactly that. Trying to track down the last place but I need a little bit of help on something. In the TffdshowDecAudioInputPin::Receive method, there's a line:
newSrcBuffer.reserver(newSrcBuffer.size()+32);
The next line is:
return audio->decode(newSrcBuffer);
I need to know where the hell that's returning to because the last trace I get is between those two lines. IOW, the init is fine and we get through that ok, but, then we return and die somewhere in the code we're returning to. Just not sure who's calling this.
SamuriHL
5th December 2009, 18:56
Sorry, forgot to answer your other question...
TffdshowDecAudioInputPin : switching codec from libdts to DTS s/pdif
TffdshowDecAudioInputPin::Receive : Initialize audio codec DTS s/pdif
TaudioCodecBitstream::init
That's the last of the traces you've put in that gets called. The ones I put in after that lead me to the code I'm asking about above. I'm trying some more traces but I don't know.
SamuriHL
5th December 2009, 19:02
I need to pay more attention. I think we're dying in that audio->decode(xxx) call. Adding traces to that...I hope. :) Then I should be able to pinpoint what line we're blowing up on.
SamuriHL
5th December 2009, 19:20
Alright, I've got the method we're blowing up in finally, now to narrow down which line. That'll take a bit but I'm almost there. We're crashing in the TaudioParser::parseDTS method. Hang in there...almost got it.
Skinleech
5th December 2009, 19:24
@Skinleech : this is annoying because this means that the arcsoft renderer won't accept standard SPDIF format for regular AC3/DTS and the problem is that DTS-HD or TrueHD are detected as DTS/AC3 first by the splitter and then FFDShow will parse them and change the format to HD.
I don't have any idea for now about how to fix it.
I'd rather make FFDShow work with the xonar and regular renderers. Have you tried waveout renderer (because this is what arcsoft uses) ?
Thanks albain - I'll report back tomorrow, I'm heading out for the rest of the night now.
albain
5th December 2009, 19:39
Great, you're the best !
It makes more sense here that the parser is crashing, that would explain why TrueHD won't crash.
Meantime I found a bug on DTS HD side, not really a bug but a misunderstanding of arcsoft extrabytes. That may explain unexpected results with some Bluray DTS HD tracks
I am about to post a new build
SamuriHL
5th December 2009, 19:40
Please wait on the new build for just a few minutes. I'm about to narrow down the line for you. Maybe you can get that fix in there, too. One sec.
SamuriHL
5th December 2009, 19:41
Got it. You're crashing on this:
audioParserData.frames.clear();
I hope this helps man! I've got some shows and movies to watch with my son now so I'll not be able to debug more til later.
albain
5th December 2009, 20:29
Weird, I don't understand why it would crash here
Here is a new build anyway
http://damienbt.free.fr/ffdshow_rev3140_20091205_dbt_bitstream_beta47.exe
SamuriHL
5th December 2009, 20:32
The only thing I can think of is if the vector isn't initialized properly in some cases, then attempting to call clear on it is blowing up.
bgibson8708
5th December 2009, 21:13
I have the new build installed, I have a 5770, a Sony DH-800, I have MPC-HC (a new version), and I have no internal filters checked and the following external filters checked:
MPC - Audio Renderer
MPC - Mpeg Splitter
MPC - Mpeg Source
FFDshow audio decoder
FFDshow video decoder
But only sometimes does FFdshow audio decoder show up in the task bar, and when it does sit shows stereo pcm. The splitter shows DTS-HD MA, the movie is transformers 2.
Can someone please help me with my setup, I'd love to get this working.
Sebastiii
5th December 2009, 21:28
Hi,
Good luck to find the bug lol, i can't help you on this side but i love to read the thread :)
So i must be here when i got news about my SAV (for my AVR).
Thx you :)
Seb.
albain
5th December 2009, 21:33
Here is an updated build (http://damienbt.free.fr/ffdshow_rev3140_20091205_dbt_bitstream_beta47.exe) with a check on size of the vector before clearing it
Hope that it will fix it but I have doubts
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.