Click here to Skip to main content
12,076,586 members (49,112 online)
Rate this:
 
Please Sign up or sign in to vote.
See more: C++ MFC VisualC++
I have a problem in adding "LAV Splitter Source" filter in the graph using directshow. If i give mp4 format file as a source file the "LAV Splitter Source" filter was created with 2 output pin(video and audio).
ex:
IGraphBuilder::AddSourceFilter(L"C:\\video.mp4",L"LAV Splitter Source",&pLAVSplitterSource);
But if i give avi file format as a source file the "LAV Splitter Source" filter was created with only 1 output pin(video).
ex:
IGraphBuilder::AddSourceFilter(L"C:\\video.avi",L"LAV Splitter Source",&pLAVSplitterSource);

What i need to do to get both output pin?
Posted 5-Feb-13 20:29pm
Edited 6-Feb-13 0:36am
v4

1 solution

Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

I have solved this myself by using the below code rather than using AddSourceFilter function.
hr = CoCreateInstance(CLSID_LAV_SPLITTER_SOURCE, NULL, CLSCTX_INPROC_SERVER,
                        IID_IBaseFilter, (void **)&pLAVSplitterSource);
     if (FAILED(hr))
    {
        MessageBox(hwnd,L"ERROR - Could not create the LAV.",L"Error",0);
    }
    hr = pLAVSplitterSource->QueryInterface(IID_IFileSourceFilter,(void **)&pLAV);
    hr = pLAV->Load(strFilename,NULL);
    hr = pGraph->AddFilter(pLAVSplitterSource,L"LAV");

Now its created in both the formats what i was expected.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Mobile
Web01 | 2.8.160208.1 | Last Updated 6 Feb 2013
Copyright © CodeProject, 1999-2016
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100