MME Media Copy and Ripping Events

MME events are like other QNX Neutrino events. They are signals or pulses used to notify a client application thread that a particular condition has occurred. Unlike signals and pulses, events can be used to carry data.

This chapter includes:

For other information about other types of MME events, see the following chapters in this reference:

For more information about events in general, see the QNX Neutrino Programmer's Guide.

Media copying and ripping events

The MME delivers media copying and ripping events (MME_EVENT_CLASS_COPY) to the client application to indicate the status or result of a media copying or ripping activity.

The MME media copying and ripping events are:

MME_EVENT_COPY_ERROR

The MME delivers the event MME_EVENT_COPY_ERROR when it encounters a copying or ripping error. The cause of the error is carried in the event data.

Event data

The copy error type mme_copy_error_type_t, inmme_copy_error_t.

Database tables updated

The MME updates different tables, depending on the error.

MME_EVENT_MEDIACOPIER_COPYFID

The MME delivers the event MME_EVENT_MEDIACOPIER_COPYFID when it has finished copying or ripping a file.

Event data

The structure mme_copy_info_t with the IDs of:

Database tables updated

The following tables are updated:

MME_EVENT_MEDIACOPIER_SKIPFID

The MME delivers the event MME_EVENT_MEDIACOPIER_SKIPFID when it skips copying or ripping of a specified file (fid) because the mediacopier is disabled, or because playback has priority access to the media source with the file.

Event data

The structure mme_copy_info_t with the IDs of:

Database tables updated

The following table is updated:

MME_EVENT_MEDIACOPIER_STARTFID

The MME delivers the event MME_EVENT_MEDIACOPIER_STARTFID when it starts a file copying or ripping operation.

Event data

The structure mme_copy_info_t with the IDs of:

Database tables updated

The following table is updated:

MME_EVENT_MEDIACOPIER_COMPLETE

The MME delivers the event MME_EVENT_MEDIACOPIER_COMPLETE when it has finished copying or ripping all files listed in the copy queue: the copy queue is empty.

Event data

No event data is delivered.

Database tables updated

The following table is updated:

MME_EVENT_MEDIACOPIER_DISABLED

The MME delivers the event MME_EVENT_MEDIACOPIER_DISABLED when its media copying and ripping capabilities have been disabled.

Event data

No event data is delivered.

Database tables updated

The following table is updated:

Media copying and ripping error events

The MME media copying and ripping error events are defined by the enumerated type mme_copy_error_type_t:

typedef enum mme_copy_error_type {
    ...
    MME_COPY_ERROR_*
    ...
} mme_copy_error_type_t;

The MME media copying and ripping error events are:

MME_COPY_ERROR_CORRUPTION

The MME delivers the event MME_COPY_ERROR_CORRUPTION when it has attempted to copy or rip a file from a mediastore and failed because the file is corrupt. When the MME media copy process encounters this condition, it advances to the next entry in the copy queue and attempts to copy or rip the file for that entry.

If the <DeleteOnNonRecoverableError> MME configuration option is enabled, the MME deletes the copy queue entry for the corrupt file and delivers the MME_EVENT_COPY_FATAL_ERROR event.

Event data

The ID of the copy queue entry (cqid) of the file that could not be copied or ripped, in mme_event_copy_error_t.cqid.

Database tables updated

No database tables are updated.

MME_COPY_ERROR_DEVICEREMOVED

The MME delivers the event MME_COPY_ERROR_DEVICEREMOVED when it has attempted to copy or rip a file from a mediastore or to a mediastore that has been removed from the system. When the MME media copy process encounters this condition, it moves to the next entry in the copy queue and attempts to copy or rip that file.

Event data

The ID of the copy queue entry (cqid) of the file that could not be copied or ripped, in mme_copy_error_t.cqid.

Database tables updated

No database tables are updated.

MME_EVENT_COPY_FATAL_ERROR

The MME delivers the event MME_EVENT_COPY_FATAL_ERROR when it has deleted an entry from the copy queue table because it has determined that the item cannot be copied or ripped.

This event is only delivered if the <DeleteOnNonRecoverableError> MME configuration option is enabled, configuring the MME to delete from the copy queue files that cannot be copied or ripped.

Event data

The code for the error that caused the copy or ripping to fail, in mme_copy_error_t.

Database tables updated

Tables are updated according to the error that causes the event to be delivered.

MME_COPY_ERROR_FILEEXISTS

The MME delivers the event MME_COPY_ERROR_FILEEXISTS when it has attempted to copy or rip a file that already exists in the destination mediastore. When the MME media copy process encounters a file that already exists in the destination mediastore, depending on the overwrite setting configured by the configuration element <FileOverwrite>, it either skips the requested file and moves to the next entry in the copy queue, or it overwrites the file.

Event data

The ID of the copy queue entry (cqid) of the file that could not be copied or ripped, in mme_copy_error_t.cqid.

Database tables updated

No database tables are updated.

MME_COPY_ERROR_MEDIABUSY

The MME delivers the event MME_COPY_ERROR_MEDIABUSY when it has attempted to copy or rip from a mediastore that was already in use. When the MME media copy process encounters a busy mediastore, it skips the requested file and moves to the next entry in the copy queue.

Event data

The ID of the copy queue entry (cqid) of the file that could not be copied or ripped, in mme_copy_error_t.cqid.

Database tables updated

No database tables are updated.

MME_COPY_ERROR_MEDIAFULL

The MME delivers the event MME_COPY_ERROR_MEDIAFULL when the destination mediastore does not have enough space to complete the requested media copying or ripping operation. The MME may deliver this event before starting a media copying or ripping operation, or during the operation.

Event data

The ID of the copy queue entry (cqid) of the file that could not be copied or ripped, in mme_copy_error_t.cqid.

Database tables updated

No database tables are updated.

MME_COPY_ERROR_NORIGHTS

The MME delivers the event MME_COPY_ERROR_NORIGHTS when it has attempted to copy or rip a file from a mediastore and failed because the source file is DRM protected and the system is not licensed to copy it. When the MME media copy process encounters this condition, it advances to the next entry in the copy queue and attempts to copy or rip the file for that entry.

If the <DeleteOnNonRecoverableError> MME configuration option is enabled, the MME deletes the copy queue entry for the protected file and delivers the MME_EVENT_COPY_FATAL_ERROR event.

Event data

The ID of the copy queue entry (cqid) of the file that could not be copied or ripped, in mme_copy_error_t.cqid.

Database tables updated

No database tables are updated.

MME_COPY_ERROR_NOTSPECIFIED

The MME delivers the event MME_COPY_ERROR_NOTSPECIFIED when a media copying or ripping operation fails for a reason not covered by the other media copying and ripping error events, or when the MME is unable to determine the cause of the failure.

The ID of the copy queue entry (cqid) of the file that could not be copied or ripped, in mme_copy_error_t.cqid.

Database tables updated

No database tables are updated.

MME_COPY_ERROR_READ

The MME delivers the event MME_COPY_ERROR_READ when it is copying or ripping a file and it encounters a read error.

Event data

The ID of the copy queue entry (cqid) of the file that could not be copied or ripped, in mme_copy_error_t.cqid.

Database tables updated

No database tables are updated.

MME_COPY_ERROR_UNSUPPORTED_MEDIA_TYPE

The MME delivers the event MME_COPY_ERROR_UNSUPPORTED_MEDIA_TYPE when it has attemptet to rip a file, but has failed because the output format is unsupported. If you receive this error, you should check your platform and its supported encoders, and ensure that you rip into a supported media format.

Event data

The ID of the copy queue entry (cqid) of the file that could not be ripped, in mme_copy_error_t.cqid.

Database tables updated

No database tables are updated.

MME_COPY_ERROR_WRITE

The MME delivers the event MME_COPY_ERROR_WRITE when it is copying or ripping a file and it encounters a write error.

Event data

The ID of the copy queue entry (cqid) of the file that could not be copied or ripped, in mme_copy_error_t.cqid.

Database tables updated

No database tables are updated.