[Live-devel] MPEG2 to TS Conversion Problems

Andrew Umlauf andrew_umlauf at yahoo.com
Thu Jul 23 13:26:41 PDT 2009


I am having issues with the testMPEG1or2ProgramToTransportStream file.
 
Here is what I have done.
 
1. At first, when I ran the program I would get the following error:
 
    Beginning to read...
    BasicTaskScheduler::SingleStep(): select() fails: No error
 
I found that this error comes from line 89 in BasicTaskScheduler.cpp and is originated by the call to select() on line 70. To remedy (work around) I commented out exit(0) on line 91.
 
2. Now the program will run all the way through. Here is my output:
 
    Beginning to read...
    BasicTaskScheduler::SingleStep(): select() fails: No error
    Done reading.
    Wrote output file: "out.ts"
 
Although this runs, my output file (out.ts) is 0 bytes. 
 
3. Finally, to try an isolate the problem a little more, I edited testMPEG1or2ProgramToTransportStream.cpp to read the following
 
int main(int argc, char** argv) {
------------------------------
// Open the input file as a 'byte-stream file source':
FramedSource* inputSource = ByteStreamFileSource::createNew(*env, inputFileName);
if (inputSource == NULL) {
*env << "Unable to open file \"" << inputFileName
<< "\" as a byte-stream file source\n";
exit(1);
}
/*// Create a MPEG demultiplexor that reads from that source.
MPEG1or2Demux* baseDemultiplexor = MPEG1or2Demux::createNew(*env, inputSource);
// Create, from this, a source that returns raw PES packets:
MPEG1or2DemuxedElementaryStream* pesSource = baseDemultiplexor->newRawPESStream();
// And, from this, a filter that converts to MPEG-2 Transport Stream frames:
FramedSource* tsFrames
= MPEG2TransportStreamFromPESSource::createNew(*env, pesSource);
*/
FramedSource* tsFrames = inputSource;

// Open the output file as a 'file sink':
MediaSink* outputSink = FileSink::createNew(*env, outputFileName);
-----------------------------------------
}

In the above code, the part that translates the mpg stream into a ts stream was commented out and "short circuited". The result was a out.ts file that was the same size as the in.mpg file. 

This implies that there is a problem with the translation code. I am new to live-555 however so I have no idea where to begin.

Has anybody else has these issues. If so, how to fix?

P.S. I had the same output as #1 when I try to run MPEG2TransportStreamIndexer.exe and other test files.

-Andrew U
 


      


More information about the live-devel mailing list