> The reason is destructor "fParserForInitialization" before its Init complete,
> If "MatroskaFile" is not exist.
OK, thanks. This is the explanation that I was looking for.
The next release of the software (in a few hours) should fix this bug. Thanks
again.
Ross Finlayson
Live Networks, In
>
> > but, In void MatroskaFileParser::continueParsing() call, the "if
> > (fOnEndFunc != NULL) (*fOnEndFunc)(fOnEndClientData);" will call, then will
> > call "void MatroskaFile::handleEndOfTrackHeaderParsing()", and this time
> > the "fParserForInitialization" is a invalid pointer, delete t
> but, In void MatroskaFileParser::continueParsing() call, the "if (fOnEndFunc
> != NULL) (*fOnEndFunc)(fOnEndClientData);" will call, then will call "void
> MatroskaFile::handleEndOfTrackHeaderParsing()", and this time the
> "fParserForInitialization" is a invalid pointer, delete the invalid po
> > > If Matroska if is not exist the program will crash.> > > > 1. In
> > > MatroskaFile.cpp > > > > fParserForInitialization> > = new
> > > MatroskaFileParser(*this, ByteStreamFileSource::createNew(envir(),
> > > fileName),> > handleEndOfTrackHeaderParsing, this, NULL); > [...]> > //
> > > i
> If Matroska if is not exist the program will crash.
>
> 1. In MatroskaFile.cpp
>
> fParserForInitialization
> = new MatroskaFileParser(*this,
> ByteStreamFileSource::createNew(envir(), fileName),
> handleEndOfTrackHeaderParsing, this, NULL);
[...]
> // if Matros
Hi,
If Matroska if is not exist the program will crash.
1. In MatroskaFile.cpp
fParserForInitialization= new MatroskaFileParser(*this,
ByteStreamFileSource::createNew(envir(), fileName),
handleEndOfTrackHeaderParsing, this, NULL);
2. In MatroskaFileParser.cpp
if