Oracle interMedia User's Guide and Reference
Release 9.0.1

Part Number A88786-01
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback

Go to previous page Go to next page

10
interMedia Relational Interface Reference

Application developers, who created multimedia applications without using the interMedia object types to store and manage media data in relational tables, and who do not want to migrate their existing multimedia applications to use interMedia objects, can use the interMedia relational interface for managing their media data. The interMedia relational interface consists of a set of methods for:

The primary benefit of using the interMedia relational interface is to let application developers take advantage of interMedia functions with only minimal changes to their applications, and all without having to change their schemas to the interMedia objects to store their data.

The Oracle interMedia relational interface consists of a set of static methods (see Section 10.1) for the interMedia objects: ORDAudio, ORDDoc, ORDImage, and ORDVideo. Because these are static methods, no object is instantiated. Data is passed by method arguments rather than by object attributes.

The examples in this chapter assume that each of the media tables described in the respective sections of this chapter has been created and filled with data.

Methods related to the source of the media have ctx(RAW(4000)) as the first argument. Before calling any of these methods for the first time, the client must allocate the ctx structure and initialize it to NULL.

ORDAudio, ORDDoc, and ORDVideo methods related to media parsing have ctx (RAW(4000)) as the first argument. Before calling any of these methods for the first time, the client must allocate the ctx structure and initialize it to NULL.

10.1 Static Methods for the Relational Interface

This section presents reference information on the static methods for the relational interface. It is divided into subsections that describe those static methods (export( ), import( ), and importFrom( )) that are common to all object types and those static methods that are unique to a particular object type or implemented differently for the different object type.

10.1.1 Static Methods Common to All Object Types

The following static methods common to all object types for the relational interface are all associated with the source of the media.

export( ) -- copies data from a local source within an Oracle database to the specified external data source.

importFrom( ) -- transfers data from the specified external data source to the specified local source within an Oracle database.

importFrom( ) (all attributes) -- transfers data (all attributes) from the specified external data source to the specified local source within an Oracle database and returns format and mimeType if available.

10.1.2 Static Methods Uniquely Associated with Each Object Type

The following static methods (grouped by object type) for the relational interface are either unique to a particular object type or are implemented differently for each object type.

ORDAudio

getProperties( ) for BLOBs -- reads the BLOB data to get the values of the media attributes and then stores them in the input CLOB in XML form.

getProperties( ) for BLOBs (all attributes) -- reads the BLOB data to get the values of the media attributes and then stores them in the input CLOB in XML form and returns them as explicit parameters.

getProperties( ) for BFILES -- reads the BFILE data to get the values of the media attributes and then stores them in the input CLOB in XML form.

getProperties( ) for BFiles (all attributes) -- reads the BFILE data to get the values of the media attributes and then stores them in the input CLOB in XML form and returns them as explicit parameters.

ORDDoc

getProperties( ) for BLOBs -- reads the BLOB data to get the values of the media attributes and then stores them in the input CLOB in XML form.

getProperties( ) for BLOBs (all attributes) -- reads the BLOB data to get the values of the media attributes and then stores them in the input CLOB in XML form and returns them as explicit parameters.

getProperties( ) for BFILES -- reads the BFILE data to get the values of the media attributes and then stores them in the input CLOB in XML form.

getProperties( ) for BFILES (all attributes) -- reads the BFILE data to get the values of the media attributes and then stores them in the input CLOB in XML form and returns them as explicit parameters.

ORDImage

getProperties( ) for BLOBs -- reads the BLOB data to get the values of the media attributes and then stores them in the input CLOB in XML form.

getProperties( ) for BLOBs (all attributes) -- reads the BLOB data to get the values of the media attributes and then stores them in the input CLOB in XML form and returns them as explicit parameters.

getProperties( ) for BFILES -- reads the BFILE data to get the values of the media attributes and then stores them in the input CLOB in XML form.

getProperties( ) for BFILES (all attributes) -- reads the BFILE data to get the values of the media attributes and then stores them in the input CLOB in XML form and returns them as explicit parameters.

process( ) -- performs in-place image processing on an image stored in a BLOB.

processCopy( ) for BLOBs -- copies an image from a BLOB to the destination BLOB while performing image processing on the destination BLOB.

processCopy( ) for BFILEs -- copies an image from a BFILE to the destination BLOB while performing image processing on the destination BLOB.

ORDVideo

getProperties( ) for BLOBs -- reads the BLOB data to get the values of the media attributes and then stores them in the input CLOB in XML form.

getProperties( ) for BLOBs (all attributes) -- reads the BLOB data to get the values of the media attributes and then stores them in the input CLOB in XML form and returns them as explicit parameters.

getProperties( ) for BFILES -- reads the BFILE data to get the values of the media attributes and then stores them in the input CLOB in XML form.

getProperties( ) for BFILES (all attributes) -- reads the BFILE data to get the values of the media attributes and then stores them in the input CLOB in XML form and returns them as explicit parameters.

10.2 Static Methods Common to All Object Types

The examples in this section assume that you have created the test tables as described in Section 10.3.1, Section 10.4.1, Section 10.5.1, and Section 10.6.1, respectively for each object type.

This section presents reference information on the Oracle interMedia common static methods used for the relational interface.


export( )

Format

export(

ctx IN OUT RAW,

local_data IN BLOB,

source_type IN VARCHAR2,

source_location IN VARCHAR2,

source_name IN VARCHAR2);

Description

Copies data from a local source (local_data) within an Oracle database to an external data source.


Note:

The export( ) method natively supports only sources of source type file. User-defined sources may support the export( ) method. 


Parameters

ctx

The source plug-in context information.

local_data

The BLOB location that is being exported.

source_type

The source type of the location to where the data is to be exported.

source_location

The location where the data is to be exported.

source_name

The name of the object to where the data is to be exported.

Usage Notes

After calling the export( ) method, you can issue a SQL DELETE statement or call the DBMS_LOB.TRIM procedure to delete the content stored locally, if desired.

The export( ) method for a source type of 'file' is similar to a file copy operation in that the original data stored in the BLOB is not touched other than for reading purposes.

The export( ) method writes only to a directory object that the user has privilege to access. That is, you can access a directory that you have created using the SQL CREATE DIRECTORY statement, or one to which you have been granted READ access. To execute the CREATE DIRECTORY statement, you must have the CREATE ANY DIRECTORY privilege. In addition, you must use the DBMS_JAVA.GRANT_PERMISSION call to specify which files can be written.

For example, the following grants the user, MEDIAUSER, the permission to write to the file named filename.dat:

CALL DBMS_JAVA.GRANT_PERMISSION(
        'MEDIAUSER',
        'java.io.FilePermission',
        '/actual/server/directory/path/filename.dat',
        'write');

See the security and performance section in Oracle9i Java Developer's Guide for more information.

Pragmas

None.

Exceptions

ORDSourceExceptions.INCOMPLETE_SOURCE_INFORMATION

This exception is raised if you call the export( ) method and the value of srcType is NULL.

ORDSourceExceptions.METHOD_NOT_SUPPORTED

This exception is raised if you call the export( ) method and this method is not supported by the source plug-in being used.

ORDSourceExceptions.SOURCE_PLUGIN_EXCEPTION

This exception is raised if you call the export( ) method within a source plug-in when any other exception is raised.

ORDSourceExceptions.IO_ERROR

This exception is raised if the export( ) method encounters an error writing the BLOB data to the file specified.

See Appendix H for more information about these exceptions.

Examples

Export data from a local source to an external audio data source:


Note:

<ORACLE_HOME> must be replaced with your Oracle home and <system-password> with the system password. 


CONNECT SYSTEM/<system-password>;
CREATE OR REPLACE DIRECTORY AUDIODIR AS 'e:\<ORACLE_HOME>\ord\aud\demo';
GRANT READ ON DIRECTORY AUDIODIR TO PUBLIC WITH GRANT OPTION;

CALL DBMS_JAVA.GRANT_PERMISSION(
    'MEDIAUSER',
    'java.io.FilePermission',
    'e:\<ORACLE_HOME>\ord\aud\demo\testaud.dat',
    'write');
CONNECT MEDIAUSER/MEDIAUSER;
DECLARE
  audio_data BLOB;
  ctx RAW(4000) :=NULL;
BEGIN
  SELECT aud INTO audio_data FROM taud WHERE N = 1;
  ORDSYS.ORDAudio.export(ctx,audio_data,'file','AUDIODIR','testaud.dat');
EXCEPTION
  WHEN OTHERS THEN
  RAISE;
END;
/

importFrom( )

Format

importFrom(ctx IN OUT RAW,

local_data IN OUT NOCOPY BLOB,

source_type IN VARCHAR2,

source_location IN VARCHAR2,

source_name IN VARCHAR2);

Description

Transfers data from the specified external data source to a local source (local_data) within an Oracle database.

Parameters

ctx

The source plug-in context information.

local_data

The BLOB location to receive the data.

source_type

The source type of the data.

source_location

The location from where the data is to be imported.

source_name

The name of the data.

Usage Notes

You must ensure that the directory exists or is created before you use this method for file sources.

Pragmas

None.

Exceptions

ORDSourceExceptions.NULL_SOURCE

This exception is raised if you call the importFrom( ) method and the value of local_data is NULL or has not been initialized.

ORDSourceExceptions.METHOD_NOT_SUPPORTED

This exception is raised if you call the importFrom( ) method and this method is not supported by the source plug-in being used.

ORDSourceExceptions.SOURCE_PLUGIN_EXCEPTION

This exception is raised if you call the importFrom( ) method within a source plug-in when any other exception is raised.

See Appendix H for more information about these exceptions.

Examples

Import document data from the specified external data source into the local source:


Note:

<ORACLE_HOME> must be replaced with your Oracle home. 


CONNECT system/<system-password>;
CREATE OR REPLACE DIRECTORY DOCDIR AS 'e:\<ORACLE_HOME>\ord\doc\demo';
GRANT READ ON DIRECTORY DOCDIR TO PUBLIC WITH GRANT OPTION;

CONNECT MEDIAUSER/MEDIAUSER;

DECLARE
  document_data BLOB;
  ctx RAW(4000) :=NULL;
BEGIN
   SELECT document INTO document_data FROM tdoc WHERE N = 1 FOR UPDATE;
   ORDSYS.ORDDoc.importFrom(ctx,document_data,'file','DOCDIR','testimg.dat');
   UPDATE tdoc SET document = document_data WHERE N = 1;
   COMMIT;
   SELECT document INTO document_data FROM tdoc WHERE N = 2 FOR UPDATE;
   ORDSYS.ORDDoc.importFrom(ctx,document_data,'file','DOCDIR','testaud.dat');
   UPDATE tdoc SET document = document_data WHERE N = 2;
   COMMIT;
   SELECT document INTO document_data FROM tdoc WHERE N = 3 FOR UPDATE;
   ORDSYS.ORDDoc.importFrom(ctx,document_data,'file','DOCDIR','testvid.dat');
   UPDATE tdoc SET document = document_data WHERE N = 3;
   COMMIT;
EXCEPTION
   WHEN OTHERS THEN
   RAISE;
END;
/

importFrom( ) (all attributes)

Format

importFrom(ctx IN OUT RAW,

local_data IN OUT NOCOPY BLOB,

source_type IN VARCHAR2,

source_location IN VARCHAR2,

source_name IN VARCHAR2,

format OUT VARCHAR2,

mime_type OUT VARCHAR2);

Description

Transfers data from the specified external data source to a local source (local_data) within an Oracle database.

Parameters

ctx

The source plug-in context information.

local_data

The BLOB location to receive the data.

source_type

The source type of the data.

source_location

The location from where the data is to be imported.

source_name

The name of the data.

format

The format of the data. The value is returned if it is available (from HTTP sources).

mime_type

The MIME type of the data. The value is returned if it is available (from HTTP sources).

Usage Notes

You must ensure that the directory exists or is created before you use this method for file sources.

Pragmas

None.

Exceptions

ORDSourceExceptions.NULL_SOURCE

This exception is raised if you call the importFrom( ) method and the value local_data is NULL or has not been initialized.

ORDSourceExceptions.METHOD_NOT_SUPPORTED

This exception is raised if you call the importFrom( ) method and this method is not supported by the source plug-in being used.

ORDSourceExceptions.SOURCE_PLUGIN_EXCEPTION

This exception is raised if you call the importFrom( ) method within a source plug-in when any other exception is raised.

See Appendix H for more information about these exceptions.

Examples

Import image data from the specified external data source into the local source:


Note:

<ORACLE_HOME> must be replaced with your Oracle home. 


CONNECT system/<system-password>;
CREATE OR REPLACE DIRECTORY IMAGEDIR AS 'e:\<ORACLE_HOME>\ord\img\demo';
GRANT READ ON DIRECTORY IMAGEDIR TO PUBLIC WITH GRANT OPTION;

DECLARE
  image_data BLOB;
  ctx RAW(4000) :=NULL;
  img_format     VARCHAR2(32)  := NULL;
  img_mime_type  VARCHAR2(80);
BEGIN
   SELECT img INTO image_data FROM timg WHERE N = 1 FOR UPDATE;
   ORDSYS.ORDImage.importFrom(ctx,image_data,'file','IMAGEDIR','testimg.dat',img_format,img_mime_type);
   UPDATE timg SET img = image_data WHERE N = 1;
   COMMIT;
EXCEPTION
   WHEN OTHERS THEN
   RAISE;
END;
/

10.3 Static Methods Unique to the ORDAudio Object Type Relational Interface

This section presents reference information on the Oracle interMedia static methods unique to the ORDAudio relational interface.

The relational interface adds interMedia support to audio data stored in BLOBs and BFILEs rather than in the ORDAudio type. The following interface is defined in the ordaspec.sql file:

.
.
.
  -- Static Methods for the relational interface
  STATIC PROCEDURE export(ctx             IN OUT RAW,
                          local_data      IN BLOB,
                          source_type     IN VARCHAR2,
                          source_location IN VARCHAR2,
                          source_name     IN VARCHAR2),
  --
  STATIC PROCEDURE importFrom(ctx             IN OUT RAW,
                              local_data      IN OUT NOCOPY BLOB,
                              source_type     IN VARCHAR2,
                              source_location IN VARCHAR2,
                              source_name     IN VARCHAR2),
  --
  STATIC PROCEDURE importFrom(ctx             IN OUT RAW,
                              local_data      IN OUT NOCOPY BLOB,
                              source_type     IN VARCHAR2,
                              source_location IN VARCHAR2,
                              source_name     IN VARCHAR2,
                              format          OUT VARCHAR2,
                              mime_type       OUT VARCHAR2),
  --
  STATIC PROCEDURE getProperties(ctx            IN OUT RAW,
                                 audioBlob      IN BLOB,
                                 attributes     IN OUT NOCOPY CLOB,
                                 format         IN VARCHAR2),
  --
  STATIC PROCEDURE getProperties(ctx              IN OUT RAW,
                                 audioBlob        IN BLOB,
                                 attributes       IN OUT NOCOPY CLOB,
                                 mimeType         OUT VARCHAR2,
                                 format           IN OUT VARCHAR2,
                                 encoding         OUT VARCHAR2,
                                 numberOfChannels OUT INTEGER,
                                 samplingRate     OUT INTEGER,
                                 sampleSize       OUT INTEGER,
                                 compressionType  OUT VARCHAR2,
                                 audioDuration    OUT INTEGER),
  --
  STATIC PROCEDURE getProperties(ctx            IN OUT RAW,
                                 audioBfile     IN OUT NOCOPY BFILE,
                                 attributes     IN OUT NOCOPY CLOB,
                                 format         IN VARCHAR2),
  --
  STATIC PROCEDURE getProperties(ctx              IN OUT RAW,
                                 audioBfile       IN OUT NOCOPY BFILE,
                                 attributes       IN OUT NOCOPY CLOB,
                                 mimeType         OUT VARCHAR2,
                                 format           IN OUT VARCHAR2,
                                 encoding         OUT VARCHAR2,
                                 numberOfChannels OUT INTEGER,
                                 samplingRate     OUT INTEGER,
                                 sampleSize       OUT INTEGER,
                                 compressionType  OUT VARCHAR2,
                                 audioDuration    OUT INTEGER),
.
.
.

10.3.1 Example Table Definitions

The methods described in this section show examples based on a test audio table TAUD. Refer to the TAUD table definition that follows when reading through the examples:

TAUD Table Definition

CREATE TABLE taud(n                NUMBER, 
                  aud              BLOB,
                  attributes       CLOB,
                  mimetype         VARCHAR2(4000),
                  format           VARCHAR2(31),
                  encoding         VARCHAR2(256),
                  numberofchannels INTEGER,
                  samplingrate     INTEGER,
                  samplesize       INTEGER,
                  compressiontype  VARCHAR2(4000),
                  audioduration    INTEGER)
STORAGE (INITIAL 100K NEXT 100K PCTINCREASE 0);

INSERT INTO taud VALUES(1,EMPTY_BLOB(),EMPTY_CLOB(), NULL, NULL, NULL, NULL, 
NULL, NULL, NULL, NULL);
INSERT INTO taud VALUES(2,EMPTY_BLOB(),EMPTY_CLOB(), NULL, NULL, NULL, NULL, 
NULL, NULL, NULL, NULL);
COMMIT;

getProperties( ) for BLOBs

Format

getProperties(ctx IN OUT RAW,

audioBlob IN BLOB,

attributes IN OUT NOCOPY CLOB,

format IN VARCHAR2);

Description

Reads the audio BLOB data to get the values of the media attributes for supported formats and then stores them in the input CLOB. This method populates the CLOB with an extensive set of format and application properties in XML form.

Parameters

ctx

The format plug-in context information.

audioBlob

The audio data represented as a BLOB.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with an extensive set of format and application properties of the audio BLOB data in XML form.

format

The optional format of the audio data. If this parameter is specified, then the format plug-in for this format type is invoked.

Usage Notes

None.

Pragmas

None.

Exceptions

AUDIO_PLUGIN_EXCEPTION

This exception is raised if you call the getProperties( ) method and the audio plug-in raises an exception.

ORDSourceExceptions.EMPTY_SOURCE

This exception is raised when the source is local but the source is NULL.

Examples

Get the property information for known audio attributes:

DECLARE
  aud_attrib CLOB;
  ctx RAW(4000) :=NULL;
  aud_data BLOB;
  aud_format VARCHAR2(160) := NULL;
BEGIN
  SELECT aud,attributes INTO aud_data,aud_attrib FROM taud WHERE N =1 FOR UPDATE;
  ORDSYS.ORDAudio.getProperties(ctx,aud_data,aud_attrib,aud_format);
  DBMS_OUTPUT.put_line('Size of XML Annotations: ' || 
                  TO_CHAR(DBMS_LOB.GETLENGTH(aud_attrib)));
  UPDATE taud SET aud=aud_data, attributes=aud_attrib WHERE N=1;
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
  RAISE;
END;
/

getProperties( ) (all attributes) for BLOBs

Format

getProperties(ctx IN OUT RAW,

audioBlob IN BLOB,

attributes IN OUT NOCOPY CLOB,

mimeType OUT VARCHAR2,

format IN OUT VARCHAR2

encoding OUT VARCHAR2,

numberOfChannels OUT INTEGER,

samplingRate OUT INTEGER,

sampleSize OUT INTEGER,

compressionType OUT VARCHAR2,

audioDuration OUT INTEGER);

Description

Reads the audio BLOB data to get the values of the media attributes for supported formats and then stores them in the input CLOB as explicit parameters. This method gets the properties for the following attributes of the audio data: duration, MIME type, compression type, format, encoding type, number of channels, sampling rate, and sample size. It populates the CLOB with an extensive set of format and application properties in XML form.

Parameters

ctx

The format plug-in context information.

audioBlob

The audio data represented as a BLOB.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with an extensive set of format and application properties of the audio BLOB data in XML form.

mimeType

The MIME type of the audio data.

format

The optional format of the audio data. If this parameter is specified, then the format plug-in for this format type is invoked. If not specified, the derived format value is returned.

encoding

The encoding type of the audio data.

numberOfChannels

The number of channels in the audio data.

samplingRate

The sampling rate in samples per second at which the audio data was recorded.

sampleSize

The sample width or number of samples of audio in the data.

compressionType

The compression type of the audio data.

audioDuration

The total time required to play the audio data.

Usage Notes

If the property cannot be extracted from the media source, then the respective parameter is set to NULL.

Pragmas

None.

Exceptions

AUDIO_PLUGIN_EXCEPTION

This exception is raised if you call the getProperties( ) method and the audio plug-in raises an exception.

ORDSourceExceptions.EMPTY_SOURCE

This exception is raised when the source is local but the source is NULL.

Examples

Get the property information for known audio attributes:

DECLARE
  aud_attrib        CLOB;
  ctx               RAW(4000) :=NULL;
  aud_data          BLOB;
  mimeType          VARCHAR2(80);
  format            VARCHAR2(32);
  encoding          VARCHAR2(160);
  numberOfChannels  NUMBER;
  samplingRate      NUMBER;
  sampleSize        NUMBER;
  compressionType   VARCHAR2(160);
  audioDuration     NUMBER;
BEGIN
  SELECT aud, attributes, mimetype, format, encoding, numberofchannels, samplingrate, 
samplesize, compressiontype, audioduration INTO aud_data, aud_attrib, mimeType, format, 
encoding, numberOfChannels, samplingRate, sampleSize, compressionType, audioDuration FROM 
taud WHERE N = 1 FOR UPDATE;

  ORDSYS.ORDAudio.getProperties(ctx, aud_data, aud_attrib, mimeType, format, encoding, 
              numberOfChannels, samplingRate, sampleSize, compressionType, audioDuration);

  DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(aud_attrib)));
  DBMS_OUTPUT.put_line('mimeType: ' || mimeType );
  DBMS_OUTPUT.put_line('format: ' || format );
  DBMS_OUTPUT.put_line('encoding: ' || encoding );
  DBMS_OUTPUT.put_line('numberOfChannels: ' || numberOfChannels );
  DBMS_OUTPUT.put_line('samplingRate: ' || samplingRate );
  DBMS_OUTPUT.put_line('sampleSize: ' || sampleSize );
  DBMS_OUTPUT.put_line('compressionType: ' || compressionType );
  DBMS_OUTPUT.put_line('audioDuration: ' || audioDuration );
  UPDATE taud SET 
               aud=aud_data, 
               attributes=aud_attrib, 
               mimetype=mimeType,
               format=format, 
               encoding=encoding, 
               numberofchannels=numberOfChannels, 
               samplingrate=samplingRate, 
               samplesize=sampleSize, 
               compressiontype=compressionType, 
               audioduration=audioDuration 
             WHERE n=1;
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
  RAISE;
END;
/


getProperties( ) for BFILEs

Format

getProperties(ctx IN OUT RAW,

audioBfile IN OUT NOCOPY BFILE,

attributes IN OUT NOCOPY CLOB,

format IN VARCHAR2);

Description

Reads the audio BFILE data to get the values of the media attributes for supported formats and then stores them in the input CLOB. This method populates the CLOB with an extensive set of format and application properties in XML form.

Parameters

ctx

The format plug-in context information.

audioBfile

The audio data represented as a BFILE.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with an extensive set of format and application properties of the audio BFILE data in XML form.

format

The optional format of the audio data. If this parameter is specified, then the format plug-in for this format type is invoked.

Usage Notes

None.

Pragmas

None.

Exceptions

AUDIO_PLUGIN_EXCEPTION

This exception is raised if you call the getProperties( ) method and the audio plug-in raises an exception.

ORDSourceExceptions.EMPTY_SOURCE

This exception is raised when the source is local but the source is NULL.

Examples

Get the property information for known audio attributes:

DECLARE
  aud_attrib CLOB;
  ctx RAW(4000) :=NULL;
  aud_data BFILE := BFILENAME('AUDIODIR','testaud.dat');
  aud_format VARCHAR2(160) := NULL;
BEGIN
  DBMS_LOB.CREATETEMPORARY(aud_attrib, FALSE, DBMS_LOB.CALL);
  ORDSYS.ORDAudio.getProperties(ctx, aud_data, aud_attrib, aud_format);

  DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(aud_attrib)));
EXCEPTION
  WHEN OTHERS THEN
  RAISE;
END;
/


getProperties( ) (all attributes) for BFILEs

Format

getProperties(ctx IN OUT RAW,

audioBfile IN OUT NOCOPY BFILE,

attributes IN OUT NOCOPY CLOB,

mimeType OUT VARCHAR2,

format IN OUT VARCHAR2

encoding OUT VARCHAR2,

numberOfChannels OUT INTEGER,

samplingRate OUT INTEGER,

sampleSize OUT INTEGER,

compressionType OUT VARCHAR2,

audioDuration OUT INTEGER);

Description

Reads the audio BFILE data to get the values of the media attributes for supported formats and then stores them in the input CLOB as explicit parameters. This method gets the properties for the following attributes of the audio data: duration, MIME type, compression type, format, encoding type, number of channels, sampling rate, and sample size. It populates the CLOB with an extensive set of format and application properties in XML form.

Parameters

ctx

The format plug-in context information.

audioBfile

The audio data represented as a BFILE.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with an extensive set of format and application properties of the audio BFILE data in XML form, identical to what is provided by the interMedia Annotator utility.

mimeType

The MIME type of the audio data.

format

The optional format of the audio data. If this parameter is specified, then the format plug-in for this format type is invoked. If not specified, the derived format value is returned.

encoding

The encoding type of the audio data.

numberOfChannels

The number of channels in the audio data.

samplingRate

The sampling rate in samples per second at which the audio data was recorded.

sampleSize

The sample width or number of samples of audio in the data.

compressionType

The compression type of the audio data.

audioDuration

The total time required to play the audio data.

Usage Notes

If the property cannot be extracted from the media source, then the respective parameter is set to NULL.

Pragmas

None.

Exceptions

AUDIO_PLUGIN_EXCEPTION

This exception is raised if you call the getProperties( ) method and the audio plug-in raises an exception.

ORDSourceExceptions.EMPTY_SOURCE

This exception is raised when the source is local but the source is NULL.

Examples

Get the property information for known audio attributes:

DECLARE
  aud_attrib        CLOB;
  ctx               RAW(4000) :=NULL;
  data              BFILE := BFILENAME('AUDIODIR','testaud.dat');
  mimeType          VARCHAR2(80);
  format            VARCHAR2(32);
  encoding          VARCHAR2(160);
  numberOfChannels  NUMBER;
  samplingRate      NUMBER;
  sampleSize        NUMBER;
  compressionType   VARCHAR2(160);
  audioDuration     NUMBER;
BEGIN
  DBMS_LOB.CREATETEMPORARY(aud_attrib, FALSE, DBMS_LOB.CALL);

  ORDSYS.ORDAudio.getProperties(ctx, data, aud_attrib, mimeType, format, encoding, 
              numberOfChannels, samplingRate, sampleSize, compressionType, audioDuration);

  DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(aud_attrib)));
  DBMS_OUTPUT.put_line('mimeType: ' || mimeType );
  DBMS_OUTPUT.put_line('format: ' || format );
  DBMS_OUTPUT.put_line('encoding: ' || encoding );
  DBMS_OUTPUT.put_line('numberOfChannels: ' || numberOfChannels );
  DBMS_OUTPUT.put_line('samplingRate: ' || samplingRate );
  DBMS_OUTPUT.put_line('sampleSize: ' || sampleSize );
  DBMS_OUTPUT.put_line('compressionType: ' || compressionType );
  DBMS_OUTPUT.put_line('audioDuration: ' || audioDuration );
EXCEPTION
  WHEN OTHERS THEN
  RAISE;
END;
/

10.4 Static Methods Unique to the ORDDoc Object Type Relational Interface

This section presents reference information on the Oracle interMedia static methods unique to the ORDDoc relational interface.

The relational interface adds interMedia support to audio, document, image, and video data stored in BLOBs and BFILEs rather than in the ORDDoc type. The following interface is defined in the orddspec.sql file:

.
.
.
  -- Static Methods for the relational interface
  STATIC PROCEDURE export(ctx             IN OUT RAW,
                          local_data      IN BLOB,
                          source_type     IN VARCHAR2,
                          source_location IN VARCHAR2,
                          source_name     IN VARCHAR2),
  --
  STATIC PROCEDURE importFrom(ctx             IN OUT RAW,
                              local_data      IN OUT NOCOPY BLOB,
                              source_type     IN VARCHAR2,
                              source_location IN VARCHAR2,
                              source_name     IN VARCHAR2),
  --
  STATIC PROCEDURE importFrom(ctx             IN OUT RAW,
                              local_data      IN OUT NOCOPY BLOB,
                              source_type     IN VARCHAR2,
                              source_location IN VARCHAR2,
                              source_name     IN VARCHAR2,
                              format          OUT VARCHAR2,
                              mime_type       OUT VARCHAR2),
  --
  STATIC PROCEDURE getProperties(ctx            IN OUT RAW,
                                 docBlob        IN BLOB,
                                 attributes     IN OUT NOCOPY CLOB,
                                 format         IN VARCHAR2),
  --
  STATIC PROCEDURE getProperties(ctx              IN OUT RAW,
                                 docBlob          IN BLOB,
                                 attributes       IN OUT NOCOPY CLOB,
                                 mimeType         OUT VARCHAR2,
                                 format           IN OUT VARCHAR2,
                                 contentLength    OUT INTEGER),
 --
  STATIC PROCEDURE getProperties(ctx            IN OUT RAW,
                                 docBfile       IN OUT NOCOPY BFILE,
                                 attributes     IN OUT NOCOPY CLOB,
                                 format         IN VARCHAR2),
  --
  STATIC PROCEDURE getProperties(ctx                IN OUT RAW,
                                 docBfile           IN OUT NOCOPY BFILE,
                                 attributes         IN OUT NOCOPY CLOB,
                                 mimeType           OUT VARCHAR2,
                                 format             IN OUT VARCHAR2,
                                 contentLength      OUT INTEGER),
.
.
.

10.4.1 Example Table Definitions

The methods described in this section show examples based on a test document table TDOC. Refer to the TDOC table definition that follows when reading through the examples:

TDOC Table Definition

CREATE TABLE tdoc(n             NUMBER, 
                  document      BLOB, 
                  attributes    CLOB,
                  mimetype      VARCHAR2(80),
                  format        VARCHAR2(80),
                  contentlength INTEGER)
STORAGE (INITIAL 100K NEXT 100K PCTINCREASE 0);

INSERT INTO tdoc VALUES(1, EMPTY_BLOB(), EMPTY_CLOB(), NULL, NULL, NULL);
INSERT INTO tdoc VALUES(2, EMPTY_BLOB(), EMPTY_CLOB(), NULL, NULL, NULL);
INSERT INTO tdoc VALUES(3, EMPTY_BLOB(), EMPTY_CLOB(), NULL, NULL, NULL);
INSERT INTO tdoc VALUES(4, EMPTY_BLOB(), EMPTY_CLOB(), NULL, NULL, NULL);
COMMIT;

getProperties( ) for BLOBs

Format

getProperties(ctx IN OUT RAW,

docBlob IN BLOB,

attributes IN OUT NOCOPY CLOB,

format IN VARCHAR2);

Description

Reads the document BLOB data to get the values of the media attributes and then stores them in the input CLOB. This method populates the CLOB with an extensive set of format and application properties in XML form.

Parameters

ctx

The format plug-in context information.

docBlob

The document data represented as a BLOB.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with an extensive set of format and application properties of the document BLOB data in XML form.

format

The optional format of the document data. If this parameter is specified, then the format plug-in for this format type is invoked.

Usage Notes

None.

Pragmas

None.

Exceptions

DOC_PLUGIN_EXCEPTION

This exception is raised if you call the getProperties( ) method and the document plug-in raises an exception.

ORDSourceExceptions.EMPTY_SOURCE

This exception is raised when the source is local but the source is NULL.

Examples

Get the property information for known document attributes:

DECLARE
  doc_attrib CLOB;
  ctx RAW(4000) :=NULL;
  doc_data BLOB;
  doc_format VARCHAR2(160) := NULL;

BEGIN
    SELECT document,attributes INTO doc_data,doc_attrib FROM tdoc WHERE N = 1 FOR UPDATE;
   ORDSYS.ORDDoc.getProperties(ctx, doc_data, doc_attrib, doc_format);

   DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(doc_attrib)));
   UPDATE tdoc SET document=doc_data, attributes=doc_attrib WHERE N=1;
   COMMIT;
   EXCEPTION
      WHEN OTHERS THEN
      RAISE;
END;
/


getProperties( ) (all attributes) for BLOBs

Format

getProperties(ctx IN OUT RAW,

docBlob IN BLOB,

attributes IN OUT NOCOPY CLOB,

mimeType OUT VARCHAR2,

format IN OUT VARCHAR2,

contentLength OUT INTEGER);

Description

Reads the document BLOB data to get the values of the media attributes and then stores them in the input CLOB as explicit parameters. This method gets the properties for the following attributes of the document data: MIME type, content length, and format. It populates the CLOB with an extensive set of format and application properties in XML form.

Parameters

ctx

The format plug-in context information.

docBlob

The document data represented as a BLOB.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with an extensive set of format and application properties of the document BLOB data in XML form.

mimeType

The MIME type of the document data.

format

The optional format of the document data. If this parameter is specified, then the format plug-in for this format type is invoked.

contentLength

The length in bytes of the content.

Usage Notes

If the property cannot be extracted from the media source, then the respective parameter is set to NULL.

Pragmas

None.

Exceptions

DOC_PLUGIN_EXCEPTION

This exception is raised if you call the getProperties( ) method and the document plug-in raises an exception.

ORDSourceExceptions.EMPTY_SOURCE

This exception is raised when the source is local but the source is NULL.

Examples

Get the property information for known document attributes:

DECLARE
  doc_attrib        CLOB;
  ctx               RAW(4000) :=NULL;
  doc_data          BLOB;
  doc_mimeType      VARCHAR2(80);
  doc_format        VARCHAR2(32);
  doc_contentLength NUMBER;
BEGIN
   SELECT document, attributes, mimetype, format, contentlength INTO doc_data, doc_attrib, 
doc_mimeType, doc_format, doc_contentLength FROM tdoc WHERE N = 1 FOR UPDATE;

   ORDSYS.ORDDoc.getProperties(ctx, doc_data, doc_attrib, 
                  doc_mimeType, doc_format, doc_contentLength);

   DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(doc_attrib)));
   DBMS_OUTPUT.put_line('mimeType: ' || doc_mimeType );
   DBMS_OUTPUT.put_line('format: ' || doc_format );
   DBMS_OUTPUT.put_line('contentLength: ' || doc_contentLength );
   UPDATE tdoc SET 
     document=doc_data, 
     attributes=doc_attrib, 
     mimetype=doc_mimeType, 
     format=doc_format, 
     contentlength=doc_contentLength 
    WHERE N=1;
   COMMIT;
EXCEPTION
   WHEN OTHERS THEN
   RAISE;
END;
/

getProperties( ) for BFILEs

Format

getProperties(ctx IN OUT RAW,

docBfile IN OUT NOCOPY BFILE,

attributes IN OUT NOCOPY CLOB,

format IN VARCHAR2);

Description

Reads the document BFILE data to get the values of the media attributes and then stores them in the input CLOB. It populates the CLOB with an extensive set of format and application properties in XML form.

Parameters

ctx

The format plug-in context information.

docBfile

The document data represented as a BFILE.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with an extensive set of format and application properties of the document BFILE data in XML form.

format

The optional format of the document data. If this parameter is specified, then the format plug-in for this format type is invoked.

Usage Notes

None.

Pragmas

None.

Exceptions

DOC_PLUGIN_EXCEPTION

This exception is raised if you call the getProperties( ) method and the document plug-in raises an exception.

ORDSourceExceptions.EMPTY_SOURCE

This exception is raised when the source is local but the source is NULL.

Examples

Get the property information for known document attributes:

DECLARE
  doc_attrib CLOB;
  ctx RAW(4000) :=NULL;
  doc_data BFILE := BFILENAME('DOCDIR','testvid.dat');
  doc_format VARCHAR2(160) := NULL;
BEGIN
   DBMS_LOB.CREATETEMPORARY(doc_attrib, FALSE, DBMS_LOB.CALL);
   ORDSYS.ORDDoc.getProperties(ctx, doc_data, doc_attrib, doc_format);

   DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(doc_attrib)));
EXCEPTION
   WHEN OTHERS THEN
   RAISE;
END;
/


getProperties( ) (all attributes) for BFILEs

Format

getProperties(ctx IN OUT RAW,

docBfile IN OUT NOCOPY BFILE,

attributes IN OUT NOCOPY CLOB,

mimeType OUT VARCHAR2,

format IN OUT VARCHAR2,

contentLength OUT INTEGER);

Description

Reads the document BFILE data to get the values of the media attributes for supported formats and then stores them in the input CLOB as explicit parameters. This method gets the properties for the following attributes of the document data: MIME type, content length, and format. It populates the CLOB with an extensive set of format and application properties in XML form.

Parameters

ctx

The format plug-in context information.

docBfile

The document data represented as a BFILE.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with an extensive set of format and application properties of the document BFILE data in XML form.

mimeType

The MIME type of the document data.

format

The optional format of the document data. If this parameter is specified, then the format plug-in for this format type is invoked. If not specified, the derived format is returned.

contentLength

The length in bytes of the content.

Usage Notes

If the property cannot be extracted from the media source, then the respective parameter is set to NULL.

Pragmas

None.

Exceptions

DOC_PLUGIN_EXCEPTION

This exception is raised if you call the getProperties( ) method and the document plug-in raises an exception.

ORDSourceExceptions.EMPTY_SOURCE

This exception is raised when the source is local but the source is NULL.

Examples

Get the property information for known document attributes:

DECLARE
  doc_attrib        CLOB;
  ctx               RAW(4000) :=NULL;
  doc_data          BFILE := BFILENAME('DOCDIR','testimg.dat');
  doc_mimeType      VARCHAR2(80);
  doc_format        VARCHAR2(32);
  doc_contentLength NUMBER;
BEGIN
   DBMS_LOB.CREATETEMPORARY(doc_attrib, FALSE, DBMS_LOB.CALL);
   ORDSYS.ORDDoc.getProperties(ctx, doc_data, doc_attrib, 
                  doc_mimeType, doc_format, doc_contentLength);
   DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(doc_attrib)));
   DBMS_OUTPUT.put_line('mimeType: ' || doc_mimeType );
   DBMS_OUTPUT.put_line('format: ' || doc_format );
   DBMS_OUTPUT.put_line('contentLength: ' || doc_contentLength );
EXCEPTION
   WHEN OTHERS THEN
   RAISE;
END;
/

10.5 Static Methods Unique to the ORDImage Object Type Relational Interface

This section presents reference information on the Oracle interMedia static methods unique to the ORDImage relational interface.

The relational interface adds interMedia support to image data stored in BLOBs and BFILEs rather than in the ORDImage type. The following interface is defined in the ordispec.sql file:

.
.
.
  -- Static Methods for the relational interface
  STATIC PROCEDURE export(ctx             IN OUT RAW,
                          local_data      IN BLOB,
                          source_type     IN VARCHAR2,
                          source_location IN VARCHAR2,
                          source_name     IN VARCHAR2),
  --
  STATIC PROCEDURE importFrom(ctx             IN OUT RAW,
                              local_data      IN OUT NOCOPY BLOB,
                              source_type     IN VARCHAR2,
                              source_location IN VARCHAR2,
                              source_name     IN VARCHAR2),
  --
  STATIC PROCEDURE importFrom(ctx             IN OUT RAW,
                              local_data      IN OUT NOCOPY BLOB,
                              source_type     IN VARCHAR2,
                              source_location IN VARCHAR2,
                              source_name     IN VARCHAR2,
                              format          OUT VARCHAR2,
                              mime_type       OUT VARCHAR2),
  --
  STATIC PROCEDURE getProperties(imageBlob         IN BLOB,
                                 attributes        IN OUT NOCOPY CLOB,
                                 mimeType          OUT VARCHAR2,
                                 width             OUT INTEGER,
                                 height            OUT INTEGER,
                                 fileFormat        OUT VARCHAR2,
                                 contentFormat     OUT VARCHAR2,
                                 compressionFormat OUT VARCHAR2,
                                 contentLength     OUT INTEGER),
  --
  STATIC PROCEDURE getProperties(imageBlob         IN BLOB,
                                 attributes        IN OUT NOCOPY CLOB),
  --
  STATIC PROCEDURE getProperties(imageBfile       IN OUT NOCOPY BFILE,
                                 attributes        IN OUT NOCOPY CLOB,
                                 mimeType          OUT VARCHAR2,
                                 width             OUT INTEGER,
                                 height            OUT INTEGER,
                                 fileFormat        OUT VARCHAR2,
                                 contentFormat     OUT VARCHAR2,
                                 compressionFormat OUT VARCHAR2,
                                 contentLength     OUT INTEGER),
  --
  STATIC PROCEDURE getProperties(imageBfile IN OUT NOCOPY BFILE,
                                 attributes IN OUT NOCOPY CLOB),
  --
  STATIC PROCEDURE process(imageBlob IN OUT NOCOPY BLOB,
                           command   IN VARCHAR2),
  --
  STATIC PROCEDURE processCopy(imageBlob IN OUT NOCOPY BLOB,
                               command   IN VARCHAR2, 
                               dest      IN OUT NOCOPY BLOB),
  --
  STATIC PROCEDURE processCopy(imageBfile IN OUT BFILE,
                               command    IN VARCHAR2, 
                               dest       IN OUT NOCOPY BLOB),
.
.
.

10.5.1 Example Table Definitions

The methods described in this section show examples based on a test image table TIMG. Refer to the TIMG table definition that follows when reading through the examples:

TIMG Table Definition

CREATE TABLE timg(n NUMBER, 
                  img BLOB,
                  attributes CLOB,
                  mimetype VARCHAR2(4000),
                  width INTEGER,
                  height INTEGER,
                  fileformat VARCHAR2(4000),
                  contentformat VARCHAR2(4000),
                  compressionformat VARCHAR2(4000),
                  contentlength INTEGER)
STORAGE (INITIAL 100K NEXT 100K PCTINCREASE 0);

INSERT INTO timg VALUES(1, EMPTY_BLOB(), EMPTY_CLOB(), NULL, 
                        NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO timg VALUES(2, EMPTY_BLOB(), EMPTY_CLOB(), NULL, 
                        NULL, NULL, NULL, NULL, NULL, NULL);
COMMIT;

getProperties( ) for BLOBs

Format

getProperties(imageBlob IN BLOB,

attributes IN OUT NOCOPY CLOB);

Description

Reads the image BLOB data to get the values of the media attributes for supported formats and then stores them in the input CLOB. This method populates the CLOB with a set of format properties in XML form.

Parameters

imageBlob

The image data represented as a BLOB.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with a set of format properties of the image BLOB data in XML form.

Usage Notes

None.

Pragmas

None.

Exceptions

ORDImageExceptions.NULL_CONTENT

This exception is raised when the content attribute is NULL.

Examples

Get the property information for known image attributes:

DECLARE
  img_attrib CLOB;
  img_data BLOB;
BEGIN
   SELECT img, attributes INTO img_data, img_attrib FROM timg WHERE N = 1 FOR UPDATE;
   ORDSYS.ORDImage.getProperties(img_data, img_attrib);

   DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(img_attrib)));
   UPDATE timg SET img=img_data, attributes=img_attrib WHERE N=1;
   COMMIT;
EXCEPTION
   WHEN OTHERS THEN
   RAISE;
END;
/


getProperties( ) (all attributes) for BLOBs

Format

getProperties(imageBlob IN BLOB,

attributes IN OUT NOCOPY CLOB,

mimeType OUT VARCHAR2,

width OUT INTEGER,

height OUT INTEGER,

fileFormat OUT VARCHAR2,

contentFormat OUT VARCHAR2,

compressionFormat OUT VARCHAR2,

contentLength OUT INTEGER);

Description

Reads the image BLOB data to get the values of the media attributes for supported formats and then stores them in the input CLOB as explicit parameters. This method gets the properties for the following attributes of the image data: MIME type, width, height, file format, content format, compression format, and content length. It populates the CLOB with a set of format properties in XML form.

Parameters

imageBlob

The image data represented as a BLOB.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with a set of format properties of the image BLOB data in XML form.

mimeType

The MIME type of the image data.

width

The width of the image in pixels.

height

The height of the image in pixels.

fileFormat

The format of the image data.

contentFormat

The type of image (monochrome, and so forth).

compressionFormat

The compression algorithm used on the image data.

contentLength

The size of the on-disk image file in bytes.

Usage Notes

If the property cannot be extracted from the media source, then the respective parameter is set to NULL.

Pragmas

None.

Exceptions

ORDImageExceptions.NULL_CONTENT

This exception is raised when the content attribute is NULL.

Examples

Get the property information for known image attributes:

DECLARE
  img_data              BLOB;
  img_attrib        CLOB;
  mimeType          VARCHAR2(4000);
  width             NUMBER;
  height            NUMBER;
  fileFormat        VARCHAR2(32);
  contentFormat     VARCHAR2(4000);
  compressionFormat VARCHAR2(4000);
  contentLength     NUMBER;
BEGIN
   SELECT img, attributes, mimetype, width, height, fileformat, contentformat, 
compressionformat, contentlength INTO img_data, img_attrib, mimeType, width, height, 
fileFormat, contentFormat, compressionFormat, contentLength FROM timg WHERE N = 1 FOR 
UPDATE;

  ORDSYS.ORDImage.getProperties(img_data, img_attrib, 
         mimeType, width, height, fileFormat,
         contentFormat, compressionFormat, contentLength);

   DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(img_attrib)));
   DBMS_OUTPUT.put_line('mimeType: ' || mimeType );
   DBMS_OUTPUT.put_line('width: ' || width );
   DBMS_OUTPUT.put_line('height: ' || height );
   DBMS_OUTPUT.put_line('fileFormat: ' || fileFormat );
   DBMS_OUTPUT.put_line('contentFormat: ' || contentFormat );
   DBMS_OUTPUT.put_line('compressionFormat: ' || compressionFormat );
   DBMS_OUTPUT.put_line('contentLength: ' || contentLength );
   UPDATE timg SET 
       img=img_data, 
       attributes=img_attrib, 
       mimetype=mimeType, 
       width=width, 
       height=height, 
       fileformat=fileFormat, 
       contentformat=contentFormat, 
       compressionformat=compressionFormat, 
       contentlength=contentLength 
    WHERE N=1;
   COMMIT;
EXCEPTION
   WHEN OTHERS THEN
   RAISE;
END;
/


getProperties( ) for BFILEs

Format

getProperties(imageBfile IN OUT NOCOPY BFILE,

attributes IN OUT NOCOPY CLOB);

Description

Reads the image BFILE data to get the values of the media attributes for supported formats and then stores them in the input CLOB. This method populates the CLOB with a set of format properties in XML form.

Parameters

imageBfile

The image data represented as a BFILE.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with a set of format properties of the image BFILE data in XML form.

Usage Notes

None.

Pragmas

None.

Exceptions

ORDImageExceptions.NULL_CONTENT

This exception is raised when the content attribute is NULL.

Examples

Get the property information for known image attributes:

DECLARE
  img_attrib CLOB;
  data BFILE := BFILENAME('IMAGEDIR','testimg.dat');
BEGIN
   DBMS_LOB.CREATETEMPORARY(img_attrib, FALSE, DBMS_LOB.CALL);
   ORDSYS.ORDImage.getProperties(data, img_attrib);

   DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(img_attrib)));
EXCEPTION
   WHEN OTHERS THEN
   RAISE;
END;
/


getProperties( ) (all attributes) for BFILEs

Format

getProperties(imageBfile IN OUT NOCOPY BFILE,

attributes IN OUT NOCOPY CLOB,

mimeType OUT VARCHAR2,

width OUT INTEGER,

height OUT INTEGER,

fileFormat OUT VARCHAR2,

contentFormat OUT VARCHAR2,

compressionFormat OUT VARCHAR2,

contentLength OUT INTEGER);

Description

Reads the image BFILE data to get the values of the media attributes for supported formats and then stores them in the input CLOB as explicit parameters. This method gets the properties for the following attributes of the image data: MIME type, width, height, file format, content format, compression format, and content length. It populates the CLOB with a set of format properties in XML form.

Parameters

imageBfile

The image data represented as a BFILE.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with a set of format properties of the image BFILE data in XML form.

mimeType

The MIME type of the image data.

width

The width of the image in pixels.

height

The height of the image in pixels.

fileFormat

The format of the image data.

contentFormat

The type of image (monochrome, and so forth).

compressionFormat

The compression algorithm used on the image data.

contentLength

The size of the on-disk image file in bytes.

Usage Notes

If the property cannot be extracted from the media source, then the respective parameter is set to NULL.

Pragmas

None.

Exceptions

ORDImageExceptions.NULL_CONTENT

This exception is raised when the content attribute is NULL.

Examples

Get the property information for known image attributes:

DECLARE
  img_data          BFILE := BFILENAME('IMAGEDIR','testimg.dat');
  img_attrib        CLOB;
  mimeType          VARCHAR2(80);
  width             NUMBER;
  height            NUMBER;
  fileFormat        VARCHAR2(32);
  contentFormat     VARCHAR2(4000);
  compressionFormat VARCHAR2(4000);
  contentLength     NUMBER;
BEGIN
   DBMS_LOB.CREATETEMPORARY(img_attrib, FALSE, DBMS_LOB.CALL);

  ORDSYS.ORDImage.getProperties(img_data, img_attrib, 
         mimeType, width, height, fileFormat, 
         contentFormat, compressionFormat, contentLength);

   DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(img_attrib)));
   DBMS_OUTPUT.put_line('mimeType: ' || mimeType );
   DBMS_OUTPUT.put_line('width: ' || width );
   DBMS_OUTPUT.put_line('height: ' || height );
   DBMS_OUTPUT.put_line('fileFormat: ' || fileFormat );
   DBMS_OUTPUT.put_line('contentFormat: ' || contentFormat );
   DBMS_OUTPUT.put_line('compressionFormat: ' || compressionFormat );
   DBMS_OUTPUT.put_line('contentLength: ' || contentLength );
EXCEPTION
   WHEN OTHERS THEN
   RAISE;
END;
/


process( )

Format

process(imageBlob IN OUT NOCOPY BLOB,

command IN VARCHAR2);

Description

Performs one or more image processing operations on a BLOB, writing the image back onto itself.

Parameters

imageBlob

The image data represented as a BLOB.

command

A list of image processing operations to perform on the image.

Usage Notes

You can change one or more of the image attributes shown in Table 8-1. Table 8-2 shows additional changes that can be made only to raw pixel and foreign images. See Appendix D for more information on process( ) method operators.

The process( ) method changes image attributes, therefore if you are storing image attributes, you should call the getProperties( ) method after calling the process( ) method.

Pragmas

None.

Exceptions

DATA_NOT_LOCAL

This exception is raised if you call the process( ) method and the imageBlob parameter is not initialized.

Examples

Example 1: Change the file format of an image in the image_data BLOB to GIF:

ORDSYS.ORDImage.process(image_data, 'fileFormat=GIFF');

Example 2: Change the image in the image_data BLOB to use higher quality JPEG compression and double the length of the image along the X-axis:

ORDSYS.ORDImage.process(image_data, 'compressionFormat=JPEG, 
           compressionQuality=MAXCOMPRATIO, xScale="2.0"');

Note that changing the length on only one axis (for example, xScale=2.0) does not affect the length on the other axis, and would result in image distortion. Also, only the xScale and yScale parameters can be combined in a single scale operation. Any other combinations of scale operators result in an error.

Example 3: The maxScale and fixedScale operators are especially useful for creating thumbnail images from various-sized originals. The following line creates at most a 32-by-32 pixel thumbnail image, preserving the original aspect ratio:

ORDSYS.ORDImage.process(image_data, 'maxScale=32 32');

Example 4: Convert the image to TIFF:

DECLARE
img_attrib CLOB;  
image_data BLOB;
BEGIN
   SELECT img, attributes INTO image_data, img_attrib FROM timg WHERE N = 1 FOR 
UPDATE;
   ORDSYS.ORDImage.process(image_data, 'fileFormat=TIFF');
   ORDSYS.ORDImage.getProp(image_data, img_attrib);
   UPDATE timg SET img = image_data, attributes=img_attrib WHERE N = 1;
   COMMIT;
EXCEPTION
   WHEN OTHERS THEN
   RAISE;
END;
/


processCopy( ) for BLOBs

Format

processCopy(imageBlob IN BLOB,

command IN VARCHAR2,

dest IN OUT NOCOPY BLOB);

Description

Copies an image stored internally to another image stored internally in a BLOB and processes the destination image.

Parameters

imageBlob

The source image data represented as a BLOB.

command

A list of image processing changes to make for the image in the new copy.

dest

The destination of the new image.

Usage Notes

See Table 8-1, "Image Processing Operators" and Table 8-2, "Additional Image Processing Operators for Raw Pixel and Foreign Images".

You cannot specify the same BLOB as both the source and destination.

Calling this method processes the image into the destination BLOB from any source BLOB.

The processCopy( ) method changes image attributes, therefore if you are storing image attributes, you should call the getProperties( ) method after calling the processCopy( ) method.

See Appendix D for more information on processCopy operators.

Pragmas

None.

Exceptions

DATA_NOT_LOCAL

This exception is raised if you call the processCopy( ) method and the imageBlob parameter is not initialized.

Examples

Copy an image, changing the file format, compression format, and content format in the destination image:

DECLARE
  dest_attrib      CLOB;
  image_data       BLOB;
  destination_data BLOB;
  the_Command      VARCHAR2(4000);
BEGIN
   SELECT img INTO image_data FROM timg WHERE N = 1;
   SELECT img, attributes INTO destination_data, dest_attrib FROM timg 
      WHERE N = 2 FOR UPDATE;

   the_Command := 'fileFormat=tiff, compressionFormat=packbits,
            contentFormat=8bitlut';
   ORDSYS.ORDImage.processCopy(image_data, the_Command, destination_data);
   ORDSYS.ORDImage.getProperties(destination_data, dest_attrib);
   UPDATE timg SET img = destination_data, attributes=dest_attrib WHERE N = 2;
   COMMIT;
EXCEPTION
   WHEN OTHERS THEN
   RAISE;
END;
/


processCopy( ) for BFILEs

Format

processCopy(imageBfile IN OUT NOCOPY BFILE,

command IN VARCHAR2,

dest IN OUT NOCOPY BLOB);

Description

Copies an image stored externally to another image stored internally in a BLOB and processes the destination image.

Parameters

imageBfile

The image data represented as a BFILE.

command

A list of image processing changes to make for the image in the new copy.

dest

The destination of the new image.

Usage Notes

See Table 8-1, "Image Processing Operators" and Table 8-2, "Additional Image Processing Operators for Raw Pixel and Foreign Images".

Calling this method processes the image into the destination BLOB from any source BFILE.

The processCopy( ) method changes image attributes, therefore if you are storing image attributes, you should call the getProperties( ) method after calling the processCopy( ) method.

See Appendix D for more information on processCopy operators.

Pragmas

None.

Exceptions

NULL_DESTINATION

This exception is raised if you call the processCopy( ) method and the value of dest is NULL.

NULL_LOCAL_DATA

This exception is raised when source.localData is NULL.

Examples

Copy an image, generating a thumbnail of, at most, 32 x 32 pixels in the destination image:

DECLARE
  dest_attrib      CLOB;
  image_data       BFILE := BFILENAME('IMAGEDIR','testimg.dat');
  destination_data BLOB;
  the_Command      VARCHAR2(4000);
BEGIN
   SELECT img, attributes INTO destination_data, dest_attrib FROM timg 
       WHERE N = 2 FOR UPDATE;

   the_Command := 'maxScale=32 32';
   ORDSYS.ORDImage.processCopy(image_data, the_Command, destination_data);
   ORDSYS.ORDImage.getProperties(destination_data, dest_attrib);
   UPDATE timg SET img = destination_data, attributes=dest_attrib WHERE N = 2;
   COMMIT;
EXCEPTION
   WHEN OTHERS THEN
   RAISE;
END;
/

10.6 Static Methods Unique to the ORDVideo Object Type Relational Interface

This section presents reference information on the Oracle interMedia static methods unique to the ORDVideo relational interface.

The relational interface adds interMedia support to video data stored in BLOBs and BFILEs rather than in the ORDVideo type. The following interface is defined in the ordvspec.sql file:

.
.
.
  -- Static Methods for the relational interface
  STATIC PROCEDURE export(ctx             IN OUT RAW,
                          local_data      IN BLOB,
                          source_type     IN VARCHAR2,
                          source_location IN VARCHAR2,
                          source_name     IN VARCHAR2),
  --
  STATIC PROCEDURE importFrom(ctx             IN OUT RAW,
                              local_data      IN OUT NOCOPY BLOB,
                              source_type     IN VARCHAR2,
                              source_location IN VARCHAR2,
                              source_name     IN VARCHAR2),
 --
  STATIC PROCEDURE importFrom(ctx             IN OUT RAW,
                              local_data      IN OUT NOCOPY BLOB,
                              source_type     IN VARCHAR2,
                              source_location IN VARCHAR2,
                              source_name     IN VARCHAR2,
                              format          OUT VARCHAR2,
                              mime_type       OUT VARCHAR2),
  --
  STATIC PROCEDURE getProperties(ctx            IN OUT RAW,
                                 videoBlob      IN BLOB,
                                 attributes     IN OUT NOCOPY CLOB,
                                 format         IN VARCHAR2),
  --
  STATIC PROCEDURE getProperties(ctx              IN OUT RAW,
                                 videoBlob        IN BLOB,
                                 attributes       IN OUT NOCOPY CLOB,
                                 mimeType         OUT VARCHAR2,
                                 format           IN OUT VARCHAR2,
                                 width            OUT INTEGER,
                                 height           OUT INTEGER,
                                 frameResolution  OUT INTEGER,
                                 frameRate        OUT INTEGER,
                                 videoDuration    OUT INTEGER,
                                 numberOfFrames   OUT INTEGER,
                                 compressionType  OUT VARCHAR2,
                                 numberOfColors   OUT INTEGER,
                                 bitRate          OUT INTEGER),

 --
  STATIC PROCEDURE getProperties(ctx            IN OUT RAW,
                                 videoBfile     IN OUT NOCOPY BFILE,
                                 attributes     IN OUT NOCOPY CLOB,
                                 format         IN VARCHAR2),
  --
  STATIC PROCEDURE getProperties(ctx              IN OUT RAW,
                                 videoBfile       IN OUT NOCOPY BFILE,
                                 attributes       IN OUT NOCOPY CLOB,
                                 mimeType         OUT VARCHAR2,
                                 format           IN OUT VARCHAR2,
                                 width            OUT INTEGER,
                                 height           OUT INTEGER,
                                 frameResolution  OUT INTEGER,
                                 frameRate        OUT INTEGER,
                                 videoDuration    OUT INTEGER,
                                 numberOfFrames   OUT INTEGER,
                                 compressionType  OUT VARCHAR2,
                                 numberOfColors   OUT INTEGER,
                                 bitRate          OUT INTEGER),
.
.
.

10.6.1 Example Table Definitions

The methods described in this section show examples based on a test video table TVID. Refer to the TVID table definition that follows when reading through the examples:

TVID Table Definition

CREATE TABLE tvid(n NUMBER, 
                  vid BLOB,
                  attributes CLOB,
                  mimetype VARCHAR2(4000),
                  format VARCHAR2(31),
                  width INTEGER,
                  height INTEGER,
                  frameresolution INTEGER,
                  framerate INTEGER,
                  videoduration INTEGER,
                  numberofframes INTEGER,
                  compressiontype VARCHAR2(4000),
                  numberofcolors INTEGER,
                  bitrate INTEGER)
STORAGE (INITIAL 100K NEXT 100K PCTINCREASE 0);

INSERT INTO tvid VALUES(1, EMPTY_BLOB(), EMPTY_CLOB(), NULL, NULL, 
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
INSERT INTO tvid VALUES(2, EMPTY_BLOB(), EMPTY_CLOB(), NULL, NULL, 
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
COMMIT;

getProperties( ) for BLOBs

Format

getProperties(ctx IN OUT RAW,

videoBlob IN BLOB,

attributes IN OUT NOCOPY CLOB,

format IN VARCHAR2);

Description

Reads the video BLOB data to get the values of the media attributes for supported formats and then stores them in the input CLOB. This method populates the CLOB with an extensive set of format and application properties in XML form.

Parameters

ctx

The format plug-in context information.

videoBlob

The video data represented as a BLOB.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with an extensive set of format and application properties of the video BLOB data in XML form.

format

The optional format of the video data. If this parameter is specified, then the format plug-in for this format type is invoked.

Usage Notes

None.

Pragmas

None.

Exceptions

VIDEO_PLUGIN_EXCEPTION

This exception is raised if you call the getProperties( ) method and the video plug-in raises an exception.

ORDSourceExceptions.EMPTY_SOURCE

This exception is raised when the source is local but the source is NULL.

Examples

Get the property information for known video attributes:


DECLARE
  vid_attrib CLOB;
  ctx RAW(4000) :=NULL;
  vid_data BLOB;
  vid_format VARCHAR2(31) := NULL;
BEGIN
  SELECT vid, attributes INTO vid_data, vid_attrib FROM tvid WHERE N = 1 FOR UPDATE;
  ORDSYS.ORDVideo.getProperties(ctx, vid_data, vid_attrib, vid_format);

  DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(vid_attrib)));
  UPDATE tvid SET vid=vid_data, attributes=vid_attrib WHERE N=1;
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
  RAISE;
END;
/


getProperties( ) (all attributes) for BLOBs

Format

getProperties(ctx IN OUT RAW,

videoBlob IN BLOB,

attributes IN OUT NOCOPY CLOB,

mimeType OUT VARCHAR2,

format IN OUT VARCHAR2

width OUT INTEGER,

height OUT INTEGER,

frameResolution OUT INTEGER,

frameRate OUT INTEGER,

videoDuration OUT INTEGER,

numberOfFrames OUT INTEGER,

compressionType OUT VARCHAR2,

numberOfColors OUT INTEGER,

bitRate OUT INTEGER);

Description

Reads the video BLOB data to get the values of the media attributes for supported formats and then stores them in the input CLOB as explicit parameters. This method gets the properties for the following attributes of the video data: MIME type, format, frame size, frame resolution, frame rate, video duration, number of frames, compression type, number of colors, and bit rate. It populates the CLOB with an extensive set of format and application properties in XML form.

Parameters

ctx

The format plug-in context information.

videoBlob

The video data represented as a BLOB.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with an extensive set of format and application properties of the video BLOB data in XML form.

mimeType

The MIME type of the video data.

format

The optional format of the video data. If this parameter is specified, then the format plug-in for this format type is invoked. If specified as NULL, the format of the video data is returned.

width

The width of the frame in pixels of the video data.

height

The height of the frame in pixels of the video data.

frameResolution

The number of pixels per inch of frames in the video data.

frameRate

The number of frames per second at which the video data was recorded.

videoDuration

The total time required to play the video data.

numberOfFrames

The total number of frames in the video data.

compressionType

The compression type of the video data.

numberOfColors

The number of colors in the video data.

bitRate

The bit rate in the video data.

Usage Notes

If the property cannot be extracted from the media source, then the respective parameter is set to NULL.

Pragmas

None.

Exceptions

VIDEO_PLUGIN_EXCEPTION

This exception is raised if you call the getProperties( ) method and the video plug-in raises an exception.

ORDSourceExceptions.EMPTY_SOURCE

This exception is raised when the source is local but the source is NULL.

Examples

Get the property information for known video attributes:

DECLARE
  vid_attrib        CLOB;
  ctx               RAW(4000) :=NULL;
  vid_data          BLOB;
  mimeType          VARCHAR2(80);
  format            VARCHAR2(32);
  width             NUMBER;
  height            NUMBER;
  frameResolution   NUMBER;
  frameRate         NUMBER;
  videoDuration     NUMBER;
  numberOfFrames    NUMBER;
  compressionType   VARCHAR2(160);
  numberOfColors    NUMBER;
  bitRate           NUMBER;
BEGIN
  SELECT vid, attributes, mimetype, format, width, height, frameresolution, framerate, 
videoduration, numberofframes, compressiontype, numberofcolors, bitrate INTO vid_data, 
vid_attrib, mimeType, format, width, height, frameResolution, frameRate, videoDuration, 
numberOfFrames, compressionType, numberOfColors, bitRate FROM tvid WHERE N = 1;

  ORDSYS.ORDVideo.getProperties(ctx, vid_data, vid_attrib, mimeType, format, 
          width, height, frameResolution, frameRate,
          videoDuration, numberOfFrames, compressionType, numberOfColors, bitRate);

  DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(vid_attrib)));
  DBMS_OUTPUT.put_line('mimeType: ' || mimeType );
  DBMS_OUTPUT.put_line('format: ' || format );
  DBMS_OUTPUT.put_line('width: ' || width );
  DBMS_OUTPUT.put_line('height: ' || height );
  DBMS_OUTPUT.put_line('frameResolution: ' || frameResolution );
  DBMS_OUTPUT.put_line('frameRate: ' || frameRate );
  DBMS_OUTPUT.put_line('videoDuration: ' || videoDuration );
  DBMS_OUTPUT.put_line('numberOfFrames: ' || numberOfFrames );
  DBMS_OUTPUT.put_line('compressionType: ' || compressionType );
  DBMS_OUTPUT.put_line('numberOfColors: ' || numberOfColors );
  DBMS_OUTPUT.put_line('bitRate: ' || bitRate );
  UPDATE tvid SET 
        vid=vid_data, 
        attributes=vid_attrib, 
        mimetype=mimeType, 
        format=format, 
        width=width, 
        height=height, 
        frameresolution=frameResolution, 
        framerate=frameRate, 
        videoduration=videoDuration, 
        numberofframes=numberOfFrames, 
        compressiontype=compressionType, 
        numberofcolors=numberOfColors, 
        bitrate=bitRate 
     WHERE N=1;
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
  RAISE;
END;
/


getProperties( ) for BFILEs

Format

getProperties(ctx IN OUT RAW,

videoBfile IN OUT NOCOPY BFILE,

attributes IN OUT NOCOPY CLOB,

format IN VARCHAR2);

Description

Reads the video BFILE data to get the values of the media attributes for supported formats and then stores them in the input CLOB. This method populates the CLOB with an extensive set of format and application properties in XML form.

Parameters

ctx

The format plug-in context information.

videoBfile

The video data represented as a BFILE.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with an extensive set of format and application properties of the video BFILE data in XML form.

format

The optional format of the video data. If this parameter is specified, then the format plug-in for this format type is invoked.

Usage Notes

None.

Pragmas

None.

Exceptions

VIDEO_PLUGIN_EXCEPTION

This exception is raised if you call the getProperties( ) method and the video plug-in raises an exception.

ORDSourceExceptions.EMPTY_SOURCE

This exception is raised when the source is local but the source is NULL.

Examples

Get the property information for known video attributes:

DECLARE
  vid_attrib CLOB;
  ctx RAW(4000) :=NULL;
  vid_data BFILE := BFILENAME('VIDEODIR','testvid.dat');
  vid_format VARCHAR2(160) := NULL;
BEGIN
  DBMS_LOB.CREATETEMPORARY(vid_attrib, FALSE, DBMS_LOB.CALL);
  ORDSYS.ORDVideo.getProperties(ctx, vid_data, vid_attrib, vid_format);

  DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(vid_attrib)));
EXCEPTION
  WHEN OTHERS THEN
  RAISE;
END;
/

getProperties( ) (all attributes) for BFILEs

Format

getProperties(ctx IN OUT RAW,

videoBfile IN OUT NOCOPY BFILE,

attributes IN OUT NOCOPY CLOB,

mimeType OUT VARCHAR2,

format IN OUT VARCHAR2,

width OUT INRTEGER,

height OUT INTEGER,

frameResolution OUT INTEGER,

frameRate OUT INTEGER,

videoDuration OUT INTEGER,

numberOfFrames OUT INTEGER,

compressionType OUT VARCHAR2,

numberOfColors OUT INTEGER,

bitRate OUT INTEGER);

Description

Reads the video BFILE data to get the values of the media attributes for supported formats and then stores them in the input CLOB as explicit parameters. This method gets the properties for the following attributes of the video data: MIME type, format, frame size, frame resolution, frame rate, video duration, number of frames, compression type, number of colors, and bit rate. It populates the CLOB with an extensive set of format and application properties in XML form.

Parameters

ctx

The format plug-in context information.

videoBfile

The video data represented as a BFILE.

attributes

The CLOB to hold the XML attribute information generated by the getProperties( ) method. This CLOB is populated with an extensive set of format and application properties of the video BFILE data in XML form.

mimeType

The MIME type of the video data.

format

The optional format of the video data. If this parameter is specified, then the format plug-in for this format type is invoked. If specified as NULL, the format of the video data is returned.

width

The width of the frame in pixels of the video data.

height

The height of the frame in pixels of the video data.

frameResolution

The number of pixels per inch of frames in the video data.

frameRate

The number of frames per second at which the video data was recorded.

videoDuration

The total time required to play the video data.

numberOfFrames

The total number of frames in the video data.

compressionType

The compression type of the video data.

numberOfColors

The number of colors in the video data.

bitRate

The bit rate in the video data.

Usage Notes

If the property cannot be extracted from the media source, then the respective parameter is set to NULL.

Pragmas

None.

Exceptions

VIDEO_PLUGIN_EXCEPTION

This exception is raised if you call the getProperties( ) method and the video plug-in raises an exception.

ORDSourceExceptions.EMPTY_SOURCE

This exception is raised when the source is local but the source is NULL.

Examples

Get the property information for known video attributes:

DECLARE
  vid_attrib        CLOB;
  ctx               RAW(4000) :=NULL;
  vid_data          BFILE := BFILENAME('VIDEODIR','testvid.dat');
  mimeType          VARCHAR2(80);
  format            VARCHAR2(32);
  width             NUMBER;
  height            NUMBER;
  frameResolution   NUMBER;
  frameRate         NUMBER;
  videoDuration     NUMBER;
  numberOfFrames    NUMBER;
  compressionType   VARCHAR2(160);
  numberOfColors    NUMBER;
  bitRate           NUMBER;
BEGIN
  DBMS_LOB.CREATETEMPORARY(vid_attrib, FALSE, DBMS_LOB.CALL);

  ORDSYS.ORDVideo.getProperties(ctx, vid_data, vid_attrib, mimeType, format, 
          width, height, frameResolution, frameRate,
          videoDuration, numberOfFrames, compressionType, numberOfColors, bitRate);

  DBMS_OUTPUT.put_line('Size of XML Annotations ' ||
                   TO_CHAR(DBMS_LOB.GETLENGTH(vid_attrib)));
  DBMS_OUTPUT.put_line('mimeType: ' || mimeType );
  DBMS_OUTPUT.put_line('format: ' || format );
  DBMS_OUTPUT.put_line('width: ' || width );
  DBMS_OUTPUT.put_line('height: ' || height );
  DBMS_OUTPUT.put_line('frameResolution: ' || frameResolution );
  DBMS_OUTPUT.put_line('frameRate: ' || frameRate );
  DBMS_OUTPUT.put_line('videoDuration: ' || videoDuration );
  DBMS_OUTPUT.put_line('numberOfFrames: ' || numberOfFrames );
  DBMS_OUTPUT.put_line('compressionType: ' || compressionType );
  DBMS_OUTPUT.put_line('numberOfColors: ' || numberOfColors );
  DBMS_OUTPUT.put_line('bitRate: ' || bitRate );
EXCEPTION
  WHEN OTHERS THEN
  RAISE;
END;
/


Go to previous page Go to next page
Oracle
Copyright © 1996-2001, Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents
Go To Index
Index

Master Index

Feedback