Home | History | Annotate | Download | only in include
      1 /* ------------------------------------------------------------------
      2  * Copyright (C) 1998-2009 PacketVideo
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     13  * express or implied.
     14  * See the License for the specific language governing permissions
     15  * and limitations under the License.
     16  * -------------------------------------------------------------------
     17  */
     18 #ifndef PV_PLAYER_EVENTS_H_INCLUDED
     19 #define PV_PLAYER_EVENTS_H_INCLUDED
     20 
     21 /** C++ defintion of UUID for pvPlayer error and information event type codes */
     22 #define PVPlayerErrorInfoEventTypesUUID PVUuid(0x46fca5ac,0x5b57,0x4cc2,0x82,0xc3,0x03,0x10,0x60,0xb7,0xb5,0x98)
     23 /** C defintion of UUID for pvPlayer error and information event type coddes */
     24 #define PVPlayerErrorInfoEventTypesUUID_C PVUuid_Construct(0x46fca5ac,0x5b57,0x4cc2,0x82,0xc3,0x03,0x10,0x60,0xb7,0xb5,0x98)
     25 
     26 /**
     27  * An enumeration of error types from pvPlayer
     28  **/
     29 typedef enum
     30 {
     31     /**
     32      pvPlayer sends this error event when the user
     33      provides an invalid data source for multimedia playback
     34     **/
     35     PVPlayerErrSourceInvalid = 1024,
     36 
     37     /**
     38      pvPlayer sends this error event when an error occurs
     39      during initialization of data source
     40     **/
     41     PVPlayerErrSourceInit,
     42 
     43     /**
     44      pvPlayer sends this error event for general non-fatal error
     45      from the data source
     46     **/
     47     PVPlayerErrSource,
     48 
     49     /**
     50      pvPlayer sends this error event for general fatal error from
     51      the data source
     52     **/
     53     PVPlayerErrSourceFatal,
     54 
     55     /**
     56      pvPlayer sends this error event when the data source contains
     57      no media track for playback
     58     **/
     59     PVPlayerErrSourceNoMediaTrack,
     60 
     61     /**
     62      pvPlayer sends this error event when the user provides an invalid
     63      data sink for multimedia playback
     64     **/
     65     PVPlayerErrSinkInvalid,
     66 
     67     /**
     68      pvPlayer sends this error event when an error occurs
     69      during initialization of data sink
     70     **/
     71     PVPlayerErrSinkInit,
     72 
     73     /**
     74      pvPlayer sends this error event for general non-fatal error
     75      from the data sink
     76     **/
     77     PVPlayerErrSink,
     78 
     79     /**
     80      pvPlayer sends this error event for general fatal error from
     81      the data sink
     82     **/
     83     PVPlayerErrSinkFatal,
     84 
     85     /**
     86      pvPlayer sends this error event when no supported media track
     87      for playback was found
     88     **/
     89     PVPlayerErrNoSupportedTrack,
     90 
     91     /**
     92      pvPlayer sends this error event when an error occurs while
     93      initializing the datapath or its nodes
     94     **/
     95     PVPlayerErrDatapathInit,
     96 
     97     /**
     98      pvPlayer sends this error event for general non-fatal error from
     99      the datapath or its nodes
    100     **/
    101     PVPlayerErrDatapath,
    102 
    103     /**
    104      pvPlayer sends this error event for general fatal error from
    105      the datapath or its nodes
    106     **/
    107     PVPlayerErrDatapathFatal,
    108 
    109     /**
    110      pvPlayer sends this error event when the data source runs out of
    111      media data
    112     **/
    113     PVPlayerErrSourceMediaDataUnavailable,
    114 
    115     /**
    116      pvPlayer sends this error event when the data source encounters a
    117      general error in the media data
    118     **/
    119     PVPlayerErrSourceMediaData,
    120 
    121     /**
    122      pvPlayer sends this error event when the data sink encounters a
    123      general error in the media data
    124     **/
    125     PVPlayerErrSinkMediaData,
    126 
    127     /**
    128      pvPlayer sends this error event when the datapath or its node encounters a
    129      general error in the media data
    130     **/
    131     PVPlayerErrDatapathMediaData,
    132 
    133     /**
    134      pvPlayer sends this error event when an error occurs during shutdown
    135      of data source
    136     **/
    137     PVPlayerErrSourceShutdown,
    138 
    139     /**
    140      pvPlayer sends this error event when an error occurs during shutdown
    141      of data sink
    142     **/
    143     PVPlayerErrSinkShutdown,
    144 
    145     /**
    146      pvPlayer sends this error event when an error occurs during shutdown
    147      of datapath or its nodes
    148     **/
    149     PVPlayerErrDatapathShutdown,
    150 
    151     /**
    152      pvPlayer sends this error event when an error occurs during interaction
    153      with CPM plug-in
    154     **/
    155     PVPlayerErrCPMPlugin,
    156 
    157     /**
    158      Placeholder for the last pvPlayer error event
    159      **/
    160     PVPlayerErrLast = 8191
    161 } PVPlayerErrorEventType;
    162 
    163 /**
    164  * An enumeration of informational event types from pvPlayer
    165  **/
    166 typedef enum
    167 {
    168     /**
    169      pvPlayer sends this event when the playback has reached
    170      the specified end time and playback has been paused.
    171      **/
    172     PVPlayerInfoEndTimeReached  = 8192,
    173 
    174     /**
    175      pvPlayer sends this event when reporting periodic playback
    176      position status
    177      This event will be sent with general event code PVMFInfoPositionStatus and the event's local
    178      buffer contains the playback position in milliseconds, seconds, or minutes. The format of local buffer is as follows:
    179      Byte 1: 0x01
    180      Byte 2: 0x00
    181      Byte 3: 0x00
    182      Byte 4: 0x00
    183      Byte 5-8: uint32 (playback position value in milliseconds, seconds, or minutes depending on the
    184      current settings for playback position status units)
    185      **/
    186     PVPlayerInfoPlaybackPositionStatus,
    187 
    188     /**
    189      pvPlayer sends this event when the playback has reached
    190      the end of clip (all sink nodes reported PVMFInfoEndOfData)
    191      and playback has been paused.
    192      **/
    193     PVPlayerInfoEndOfClipReached,
    194 
    195     /**
    196      pvPlayer sends this event when playback has started
    197      from the new specified begin time after SetPlaybackRange() call
    198      **/
    199     PVPlayerInfoPlaybackFromBeginTime,
    200 
    201     /**
    202      pvPlayer sends this event when it recvs any info event from
    203      the source
    204      **/
    205     PVPlayerInfoSourceMediaData,
    206 
    207     /**
    208      pvPlayer sends this event when it is doing a source rollover,
    209      or in other words attempting alternate sources.
    210      This event's local buffer contains the format type for the new source.
    211      The format of local buffer is as follows:
    212      Byte 1: 0x01
    213      Byte 2: 0x00
    214      Byte 3: 0x00
    215      Byte 4: 0x00
    216      Byte 5-8: uint32 (format type for the new source)
    217      **/
    218     PVPlayerInfoAttemptingSourceRollOver,
    219 
    220     /**
    221      pvPlayer sends this event when it is doing SFR,
    222      or in other words a repos requested is satisfied by skipping to the requested point
    223      from the current playback position ASAP.
    224      **/
    225     PVPlayerInfoAttemptingSFRAsPartOfSetPlayBackRange,
    226 
    227     /**
    228      pvPlayer sends this event when engine is changing position and
    229      Source node sends NotSupported to Change Position request.
    230      **/
    231     PVPlayerInfoChangePlaybackPositionNotSupported,
    232 
    233     /**
    234      Placeholder for the last pvPlayer informational event
    235      **/
    236     PVPlayerInfoLast = 10000
    237 
    238 } PVPlayerInformationalEventType;
    239 
    240 
    241 #endif // PV_PLAYER_EVENTS_H_INCLUDED
    242 
    243 
    244