clQueryMaxHeaderSize man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



clQueryScheme(3dm)					    clQueryScheme(3dm)

NAME
     clQueryScheme, clQueryMaxHeaderSize, clReadHeader - Determine the scheme
     and read the stream header

SYNOPSIS
     #include <dmedia/cl.h>

     int clQueryScheme(void *header)
     int clQueryMaxHeaderSize(int scheme)
     int clReadHeader(CLhandle handle, int headerSize, void *header)

ARGUMENTS
     header	    A pointer to a buffer containing at least 16 bytes of the
		    header.

     scheme	    The decompression scheme to use.

     handle	    A handle to the decompressor.

     headerSize	    The maximum size of the header in bytes.

     header	    A pointer to a buffer containing the header.

     clQueryScheme attempts to determine the appropriate decompression scheme
     from 16 bytes of the stream header.  It can be called before
     clOpenDecompressor to determine which scheme to use.

     Once the scheme has been determined, the handle can be opened and then
     the header can be read using clReadHeader.	 The size of the header
     information is obtained from clQueryMaxHeaderSize.

     clReadHeader uses only the data in header and does not depend on any
     implicitly defined buffers.  This call will set up state parameters for
     handle based on information available in the header.  The format of the
     header is scheme-dependent and should not be accessed directly by the
     application.

RETURN VALUES
     On success, clQueryScheme returns the scheme identifier,
     clQueryMaxHeaderSize returns the maximum size of the header, and
     clReadHeader returns the number of header bytes read for all cases except
     for MPEG1, in which case it returns a value of 1. This is becuase many
     different types of headers and much non-header information may need to be
     read enroute to reading the relevant MPEG1 headers.  On failure, these
     calls return negative error codes.

									Page 1

clQueryScheme(3dm)					    clQueryScheme(3dm)

EXAMPLE
	  #include <dmedia/cl.h>

	  int decompressionScheme;
	   ...
	  /* Determine the scheme from the first 16 bytes of the header */
	  header = malloc(16);
	  read(inFile, header, 16);
	  decompressionScheme = clQueryScheme(header);
	  if(decompressionScheme < 0) {
	      fprintf(stderr, "Unknown scheme in stream header.");
	      exit(0);
	  }
	  free(header);

	  /* Open the appropriate decompressor */
	  clOpenDecompressor(decompressionScheme, &decompressorHdl);

	  /* Find out how much header information to provide */
	  headerSize = clQueryMaxHeaderSize(decompressionScheme);

	  if(headerSize > 0) {

	      /* Get the header data */
	      header = malloc(headerSize);
	      lseek(inFile, 0, SEEK_SET);
	      read(inFile, header, headerSize);

	      /* Read the header */
	      clReadHeader(decompressorHdl, headerSize, header);
	      free(header);

	      /* Reset the stream */
	      lseek(inFile, 0, SEEK_SET);
	  }
	   ...

SEE ALSO
     CLintro(3dm), clOpenDecompressor(3dm)

									Page 2

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net