Esempio n. 1
0
File: track.c Progetto: one-k/rmov
/*  returns the ImageDescriptionHandle for the track.
    If it's not a video track, return NULL
*/
static ImageDescriptionHandle track_image_description(VALUE obj)
{
  OSErr osErr;

	/* restrict reporting to video track */
  if (track_get_media_type(obj) != VideoMediaType)
    return NULL;
  
	SampleDescriptionHandle sample_description = NULL;
  sample_description = (SampleDescriptionHandle)NewHandle(sizeof(SampleDescription));
  if (LMGetMemErr() != noErr) {
    rb_raise(eQuickTime, "Memory Error %d when determining image description", LMGetMemErr());
    return NULL;
  }

	GetMediaSampleDescription(TRACK_MEDIA(obj), 1, sample_description);
	osErr = GetMoviesError();
  if (osErr != noErr) {
    rb_raise(eQuickTime, "Movie Error %d when determining image description", osErr);
    DisposeHandle((Handle)sample_description);
    return NULL;
  }
  
  return (ImageDescriptionHandle)sample_description;
}
Esempio n. 2
0
OSErr MemError(void)
{
	OSErr err = LMGetMemErr();
	LMSetMemErr(noErr);
	return err;
}