Hi.

I am trying to implement H263VideoFileSink. But I can't really figure what is really needed at H263VideoFileSink::afterGettingFrame.

I try to refer from H264or5VideoFileSink::afterGettingFrame.
However, it is different from H263 as H263 doesn't have SPropRecord or SPS.
There is H263plusVideoRTPSink which I may be able to refer to. However, H263plusVideoRTPSink::doSpecialFrameHandling() is different from H264or5VideoRTPSink::doSpecialFrameHandling(). So can't really figure out what is need to be done.

Below is my H263VideoFileSink.cpp file code. H263VideoFileSink is derived from FileSink

H263VideoFileSink::H263VideoFileSink(UsageEnvironment& env, FILE* fid,
        unsigned bufferSize, const char* perFrameFileNamePrefix)
        : FileSink(env, fid, bufferSize, perFrameFileNamePrefix)
{

}

H263VideoFileSink* H263VideoFileSink::createNew(UsageEnvironment& env,
        const char* fileName, unsigned bufferSize, Boolean oneFilePerFrame)
{
  do {
    FILE* fid;
    char const* perFrameFileNamePrefix;
    if (oneFilePerFrame) {
      // Create the fid for each frame
      fid = NULL;
      perFrameFileNamePrefix = fileName;
    } else {
      // Normal case: create the fid once
      fid = OpenOutputFile(env, fileName);
      if (fid == NULL)
      {
          printf("H263VideoFileSink::createNew fid = NULL\n");
    //      envir() << "test";
          break;
      }
      perFrameFileNamePrefix = NULL;
    }

    return new H263VideoFileSink(env, fid, bufferSize, perFrameFileNamePrefix);

  } while (0);

  return NULL;
}

H263VideoFileSink::~H263VideoFileSink()
{

}

void H263VideoFileSink::afterGettingFrame(unsigned frameSize,
        unsigned numTruncatedBytes, struct timeval presentationTime)
{
    envir() << "H263VideoFileSink::afterGettingFrame called\n";

     // Call the parent class to complete the normal file write with the input data:     FileSink::afterGettingFrame(frameSize, numTruncatedBytes, presentationTime);
}

--

Regards.

Halim

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to