View Full Version : WMP+avisynth vVs. VirtualDub+Avisynth
vcmohan
26th September 2004, 04:18
I have Windows Media Player version 8, Virtualdub version 1.5.3 and Avisynth 2.5.5. I am working on some Avisynth transition plugins. I found some diverse behaviour between these two combinations.
1. If I use WMP then I am getting a Access Exception some where in the transition area and the display shows the message and stops. The audio produces a tinkling sound from that point. Possibly error indication.
2.In case I use Virtualdub to open the same avs file, the video and Audio goes thru, without any error message or interruption. Ofcourse the audio during the transition is a whoosh.The video of transition is good.
I strongly suspect that the problem is in the audio handling in my Plugin, which I will trace and correct. But why this different behaviour?
Does Avisynth and or Virtual dub handle Exceptions during audio processing differently? I expect that once an exception is raised further processing to stop as seen when I use WMP. But with virtualdub why processing continues?
Cyberia
26th September 2004, 06:49
It's probably because WMP and VDub handle audio differently. WMP goes through DirectShow while VDub handles it natively, I believe.
So your plugin apparently is crashing DirectShow. maybe.
vcmohan
27th September 2004, 04:02
Originally posted by Cyberia
WMP goes through DirectShow while VDub handles it natively, I believe.
My input clip is DirectShowSource. WMP reports that Avisynth access error.
sh0dan
27th September 2004, 09:45
I could help you if I had the filter or, even better, the source. You are welcome to PM me.
stephanV
27th September 2004, 09:50
Originally posted by Cyberia
WMP goes through DirectShow while VDub handles it natively, I believe.
VirtualDub handles audio and video through VFW.
vcmohan
28th September 2004, 03:48
Originally posted by sh0dan
I could help you if I had the filter or, even better, the source. You are welcome to PM me.
Many thanks for the offer. I critically examined my source and realised that there are 4 types of conditions. 1. audio fade start >start 2. Audio fade start < start 3. Audio fade end > start+count and audio fade end < start+count. In my plugin these are treated differently. I think that depending upon the requirement of the player Avisynth supplies the audio data and not on its own. Therefore the portions of my code executed can be different for different players.So errors can present in one and not others.
I could trace the error in my code. It was due to confusion in the name BytesPerAudioSample. I thought it is for each sample but it turned out to be for for both the channels together and I need to use BytesPer AudioChannel Sample.
While on the subject, why does Dissolve use integer for start, count, audiofadestart audiofadeend etc while the definition is __int64 for these values?
sh0dan
28th September 2004, 17:16
Originally posted by vcmohan
While on the subject, why does Dissolve use integer for start, count, audiofadestart audiofadeend etc while the definition is __int64 for these values?
It shouldn't!
Thanks for noticing!
vcmohan
5th November 2004, 04:04
While working with one of my plugins which recursively generates a number of copies of a function with varying parameters, I ran into a curious problem. With Virtualdub if I open the script then if I click the arrow that generates frames continuously, the plugin runs fine. So also with wmp. However if I step frame by frame arrow, on the very first click it reports access error as trying to read from 0000000
Suspecting that audio processing may be the problem I modified audio to just return back the child audio. child->GetAudio(buf,start,count,env); Still the access error persists. In either mode the video processing of plugin should function same. So I am unable to find the cause of this problem.
Is there any other issue I need to take care for circumventing this behavioiur of virtualdub?
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.