|
>>There is some crap being posted here.
And you're validating the posted crap with your long winded diatribe
Yours Truly, The One and Only!
|
|
|
|
|
I wrote a program to convert mpeg file to avi in directshow, now the conversion is OK, but I can't find out a method to seek the source media, I want to seek to a given point in source media before the conversion begin. In other words, I want to convert a segment of mpeg file to avi file. The structure of my program is following: 1. Read source mpeg file by using pGraph->AddSourceFilter(...); 2. Init IMediaSeeking, IMediaControl, etc by query pGraph; 3. Setup output avi file and init pMux by using pBuilder->SetOutputFileName(...); 4. Create Mpeg splitter and Mpeg Decoder then add them to pGraph; 5. Connect all filters by using pBuilder->RenderStream(....); 6. Start conversion by using pMediaControl->run(). now the conversion of whole mpeg file is OK, but I can't seek the source media, the pMediaSeeking->SetPositions(...) and GetDuration() function always return fail. I also tried to seek media by pMux but failed. someone can give me instruction to resolve it? thanks in advance.
|
|
|
|
|
Did you get my response to your email (maybe your email filter ate it or i didn't help you
any )?
It was something like:
I’m not sure if you can seek in that type of graph.
If you follow the guidelines at Seeking the Filter Graph[^] you’ll find out if it works or not
Mark
Mark Salsbery
Microsoft MVP - Visual C++
This episode brought to you by the number 3
|
|
|
|
|
Thank you very much. I checked my mailbox and not found your mail.(maybe the antivirus software ate it ), however after I follow your instruction to read the "Seeking the Filter Graph" in MSDN, I still can't find out the answer, It only tell me how to seek the media for rendering the media on screen, I also use pMediaSeeking->GetCapabilities(...) to check if it supports seeking, it return S_OK.
|
|
|
|
|
Can any one solve this issue of mine
I am getting this error
fatal error C1083: Cannot open include file: 'dshow.h': No such file or directory
but I have installed directx 9.0
S.Yamini
|
|
|
|
|
check under
tools -> Options->projects and solutions, VC++ Directories
that the include directory in present.
if it is... copy the dir path, go to explorer check that the file you need is in that directory.
hope that fix's it
|
|
|
|
|
I went to tools->options but i dont find projects and solutions tab but i find directories where I have entered the include files.But still the error occurs
S.Yamini
|
|
|
|
|
oh my fault, assumed you were using VS 2005
...i cant remember VS6 errm
you could try a direct include
eg
#include "C:\program files\dx\inc\file.h"
something like that might help
hope someone else can give a better solution
i'll check VS6 when i get home, no longer supported at work
sorry about that.
|
|
|
|
|
go to menu Tools->options, click "Directories" tab in option dialog, input "c:\dxsdk\include" (your directx installation directory), then move it to top.
|
|
|
|
|
open the menu options, go to the directories tab and add the directx include paths on top of all include paths in the IDE directories.
k_dehairy
|
|
|
|
|
yaminisridaran wrote: but I have installed directx 9.0
So have you checked to see if dshow.h actually exists on your machine?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Sorry for the late reply. I have install the directX SDK june2007 but still I am taking same 46 errors. I have included the directories.Please help me to solve this issue
S.YAmini
|
|
|
|
|
the dshow.h does not exist in my machine. CAn u help me in this.
S.Yamini
|
|
|
|
|
See here[^] you can download it or other files and see this[^] thread if helpfuls.
|
|
|
|
|
yaminisridaran wrote: but I have installed directx 9.0
If you can't answer yes to DavidCrow's question, you should maybe download the latest Platform SDK
from Microsoft, which is the home of the DirectShow SDK.
Once you install the SDK, set the build paths as others have explained (if the install didn't do
it for you).
Mark
Mark Salsbery
Microsoft MVP - Visual C++
This episode brought to you by the number 3
|
|
|
|
|
Sorry for the late reply.I am trying to install directx sdk.
Thanks a lot. I will reply again when it does not work
S.yamini
|
|
|
|
|
I've got a Wizard Form where i create controls in runtime.
I need to attach the reference of a String/double variable to a control. This variables exists in another class. so when the Wizard finishes, i iterate through all the controls and each control updates it's own referenced varaible. In .NET i used the Control.Tag property (is of type Object - that was easy). Want to do the same in C++ but the Control->Tag is of int type.
Im missing something. Help me to convert the parameter Value:
<br />
void ExcuteWizard(..., AnsiString &Value)<br />
{<br />
TTextbox ctrl = new ....;<br />
<br />
ctrl->Tag = Value;
<br />
}<br />
void FinnishWizard()<br />
{<br />
for each control{<br />
((&AnsiString)Control->Tag) = Control->Text;
}<br />
}<br />
Have someone a theory or explanation with regards to pointer and reference conversions?
Thanks.
|
|
|
|
|
Please guys!
Ok at least how do i translate a integer that is a address e.g. 1247075 to the original AnsiString variable refrence?
|
|
|
|
|
you may use a pointer instead of a reference, provided you Tag property ha a compatible size.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
Compile Error:
Cannot convert 'AnsiString*' to 'int'
I don't understand :
CPallini wrote: Tag property ha a compatible size.
It's a int-type - one size.
|
|
|
|
|
InOut.NET wrote: Compile Error:
Cannot convert 'AnsiString*' to 'int'
What compiler are you using?
InOut.NET wrote: I don't understand :
CPallini wrote:
Tag property ha a compatible size.
It's a int-type - one size.
if sizeof(int) is the same of sizeof(AnsiString*) then conversion should be possible (and allowed). If the condition above doesn't hold you can use the int value as index of a array of pointers (i.e. adding a level of indirection).
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
Builder C++ 2006
Yeah i used Tag = (int)AnsiString*
I could not get the int address from the Tag back to AnsiString*.
I decided to ditch AnsiString* and go for a struct* with a few AnsiSting in it.
All work so much easier. I think theres something about the AnsiString type that I don;t understand.
Thanks for your help.
|
|
|
|
|
InOut.NET wrote: I decided to ditch AnsiString* and go for a struct* with a few AnsiSting in it.
Probably the struct * will give you the same sort of problem the AnsiString * gave (I hope the countrary, of course).
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
How to set unicode build in VS.net 2005?
|
|
|
|
|
project-> properties -> configuration properties -> character Set
(3rd option from the bottom)
|
|
|
|