Re: DirectShow Insanity

From: Phil Taylor (phil_at_private-citizen.com)
Date: 01/20/05


Date: Thu, 20 Jan 2005 15:34:33 -0800

its a strange one, but since it only fails in this little test app, it must
be something that is being done differently.

does it vary based on the file chosen? is "test.wma" really being found?
what about other formats?

is there a non-error return code other than S_OK returned from Run()?

what if you turn debug level on high ( 5 ) is more information returned?
somewhere there is a null pointer...

"Roulette" <Roulette@Roulette.com> wrote in message
news:%234W$cA0$EHA.2600@TK2MSFTNGP09.phx.gbl...
> The exception happens immediately upon executing the
> "pMediaControl->Run()" line...hence, waiting for completion of the program
> would not affect it. (In addition, as mentioned, the normal application
> that executes this code does not terminate...it later receives a callback
> when it's time to reset the pointer to loop the music, etc..)
>
> No error is returned from pMediaControl->Run().
>
> The specific debug message seen is: "First-chance exception at
> 0x086c9324 in Test.exe 0xC0000005: Access violation writing location
> 0x00000000." Four of these messages are displayed - all at once when
> pMediaControl->Run() is called - with different addresses (the first
> hexadecimal value.) The other information remains the same in each
> message.
>
> - Roulette
>
> "Phil Taylor" <phil@private-citizen.com> wrote in message
> news:usbUC3x$EHA.3120@TK2MSFTNGP12.phx.gbl...
>> and what exactly is shown in the debug output window?
>>
>> what is the return value from MediaControl->Run?
>>
>> what happens if you wait for completion befor exiting the program?
>>
>> some operations require the thread that started to remain alive until the
>> operation completes. the sample code does this, so perhaps thats the
>> issue.
>>
>> "Roulette" <Roulette@Roulette.com> wrote in message
>> news:%23UoVy5p$EHA.1408@TK2MSFTNGP10.phx.gbl...
>>> Can someone tell me why the following small snippet of DirectShow
>>> code causes a number of "First-chance exception"s to occur? The code
>>> actually seems to work fine - the music plays for a couple of seconds
>>> before exiting. In the full application, the music plays fine, I receive
>>> a callback (after setting it up) and reset the music to loop when its
>>> finished, etc..
>>>
>>> In other words...as far as I can tell on my machine, the code works
>>> exactly like it should, but those exceptions (that you can see in the
>>> Debug window when running the program from MSDEV) are making me worry
>>> that there might be a problem on some other machine.
>>>
>>> Thanks in advance for any help....
>>>
>>> - Roulette
>>>
>>>
>>>
>>> int WINAPI WinMain(HINSTANCE hinstance,HINSTANCE hprevinstance,LPSTR
>>> lpcmdline,int ncmdshow)
>>> {
>>> // No clean-up is done since this code is just demonstrating a problem.
>>>
>>> CoInitialize(NULL);
>>> IGraphBuilder *pGraph=NULL;
>>> IMediaControl *pMediaControl=NULL;
>>> const char *filename="Test.wma";
>>>
>>> HRESULT
>>> returnValue=CoCreateInstance(CLSID_FilterGraph,NULL,CLSCTX_INPROC_SERVER,IID_IGraphBuilder,(void
>>> **)&pGraph);
>>>
>>> if (FAILED(returnValue))
>>> return 0;
>>>
>>> if (pGraph)
>>> {
>>> pGraph->QueryInterface(IID_IMediaControl,(void **)&pMediaControl);
>>>
>>> if (pMediaControl)
>>> {
>>> WCHAR *wfile;
>>> int length;
>>> length=strlen(filename)+1;
>>> wfile=new WCHAR[length];
>>> MultiByteToWideChar(CP_ACP,0,filename,-1,wfile,length);
>>>
>>> returnValue=pGraph->RenderFile(wfile,NULL);
>>>
>>> if (FAILED(returnValue))
>>> return 0;
>>>
>>> pMediaControl->Run(); // This line causes several exceptions to
>>> occur - you can see the debug output when running in MSDEV.
>>>
>>> Sleep(2000); // Give the music a chance to play for a couple of
>>> seconds before exiting the program.
>>> }
>>> }
>>>
>>> return 0;
>>> }
>>>
>>>
>>
>>
>
>



Relevant Pages

  • Re: DirectShow Insanity
    ... finishes (at which point I reset the pointer to loop the music), ... it is not "only failin this little test app." ... generates a number of identical error messages for different sample media ... >> The exception happens immediately upon executing the ...
    (microsoft.public.win32.programmer.directx.audio)
  • Re: Oracle 9 TIMESTAMP ORA-03115 on SELECT
    ... OK, I re-ran the test app, having modified it to use getTimestamp. ... Unfortunately it now fails on executing the select * from test ...
    (comp.lang.java.databases)
  • Re: nested functions
    ... pointer to a structure which includes the local environment [pointer] ... you want to implement web services, trampolines may be unacceptable. ... attack and fools the service into executing it. ...
    (comp.compilers)
  • Re: ofstream fails
    ... must be some messy bug. ... > the given pointer was bogus, ... If this fails, ... so it's not a general problem. ...
    (microsoft.public.vc.stl)
  • Errors in the OLAP storage engine
    ... I'm working on a plugin clustering algorithm, and trying to train it through a DMX INSERT, but the insert fails with the following message: ... Executing the query ... ... I can train the model successfully from the business studio's GUI, only the DMX seems to fail. ...
    (microsoft.public.sqlserver.datamining)