include/alp/media_session.h

Go to the documentation of this file.
00001 /*******************************************************************************
00002  * Copyright (c) 1999-2008 ACCESS CO., LTD. All rights reserved.
00003  * Copyright (c) 2006 Palmsource, Inc. (an Access company). All rights reserved.
00004  *******************************************************************************/  
00005 
00029 #ifndef MEDIA_SESSION_H
00030 #define MEDIA_SESSION_H 
00031 
00032 #include "media_defs.h"
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037         
00038 
00046 /****************************************************************************
00047 * Structures 
00048 *****************************************************************************/
00049 
00055 typedef struct _AlpMMSessionEvent {
00056         AlpMMSessionID  session_ref;    
00057         AlpMMEvent      event_code;     
00058         int32_t event_cause;    
00059         int64_t position;       
00060         int64_t duration;       
00061         int64_t total_estimated_time;   
00062         int64_t total_recorded_size;    
00063 } AlpMMSessionEvent;
00064 
00065 
00070 typedef struct _AlpMMSessionGrabEvent {
00071     void * buffer;      
00072     size_t buffersize;  
00073     int64_t timestamp;  
00074     int32_t   width;    
00075     int32_t   height;   
00076 } AlpMMSessionGrabEvent;
00077 
00087 /****************************************************************************
00088 * Typedefs 
00089 *****************************************************************************/
00090 
00102 typedef void (* AlpMMSessionCallbackFn) (const AlpMMSessionEvent *event, void * userdata);
00103 
00104 
00117 typedef void (*AlpMMSessionGrabCallbackFn) (const AlpMMSessionGrabEvent *grabevent, void *userdata);
00118 
00119 
00128 /****************************************************************************
00129 * Enums
00130 *****************************************************************************/
00131 
00133 
00135 typedef enum
00136 {
00138     ALP_MM_TYPE_FILE = (ALP_MM_FILE | 0x000001) ,
00139     
00141     ALP_MM_TYPE_FILELIST,
00142     
00144     ALP_MM_TYPE_NETSTREAM,
00145     
00147     ALP_MM_TYPE_MEMSTREAM,
00148     
00150     ALP_MM_TYPE_AUDIO_RENDER,
00151     
00153     ALP_MM_TYPE_VIDEO_RENDER,    
00154 } AlpMMSourceType;
00155 
00156 
00158 
00160 typedef enum
00161 {
00163         ALP_MM_FLASH_MODE_OFF           = (ALP_MM_SOURCE_CAMERA | 0x000001), 
00164 
00166         ALP_MM_FLASH_MODE_AUTO,
00167 
00169         ALP_MM_FLASH_MODE_FRONT, 
00170 
00172         ALP_MM_FLASH_MODE_SLOW,
00173         
00175         ALP_MM_FLASH_MODE_REAR,
00176 
00177 } AlpCameraFlashMode;
00178 
00180 
00181 typedef enum
00182 {
00184         ALP_MM_FOCUS_AUTO               = (ALP_MM_SOURCE_CAMERA | 0x000010), 
00185 
00187         ALP_MM_FOCUS_ONE,
00188         
00190         ALP_MM_FOCUS_TWO,
00191         
00193         ALP_MM_FOCUS_FOUR,
00194         
00196         ALP_MM_FOCUS_EIGHT,
00197         
00199         ALP_MM_FOCUS_INFINITY = 0xffffff,
00200                 
00201 } AlpCameraFocusMode;
00202 
00204 
00206 typedef enum 
00207 {
00209         ALP_MM_WHITE_BALANCE_AUTO = (ALP_MM_SOURCE_CAMERA | 0x000020),
00210 
00212         ALP_MM_WHITE_BALANCE_INCANDESCENT,
00213         
00215         ALP_MM_WHITE_BALANCE_FLUORESCENT,
00216         
00218         ALP_MM_WHITE_BALANCE_SUNSHINE,
00219         
00221         ALP_MM_WHITE_BALANCE_CLOUDS
00222                 
00223 } AlpCameraWhiteBalanceMode;
00224 
00226 
00227 typedef enum
00228 {
00230         ALP_MM_COLOR_EFFECT_OFF = (ALP_MM_SOURCE_CAMERA | 0x000030),
00231         
00233         ALP_MM_COLOR_EFFECT_NATURAL,
00234 
00236         ALP_MM_COLOR_EFFECT_VIVID,
00237 
00239         ALP_MM_COLOR_EFFECT_SEPIA,
00240 
00242         ALP_MM_COLOR_EFFECT_REVERSAL,
00243 
00245         ALP_MM_COLOR_EFFECT_COLD,
00246 
00248         ALP_MM_COLOR_EFFECT_BLACK_AND_WHITE
00249                 
00250 }AlpCameraColorEffect;
00251 
00253 
00254 typedef enum 
00255 {
00257         ALP_MM_SOURCE_CAMERA_APERTURE = (ALP_MM_SOURCE_CAMERA | 0x000040L),
00258 
00260         ALP_MM_SOURCE_CAMERA_EXPOSURE,
00261 
00263         ALP_MM_SOURCE_CAMERA_SCALE,
00264 
00266         ALP_MM_SOURCE_CAMERA_FLASH_MODE,
00267 
00269         ALP_MM_SOURCE_CAMERA_FOCUS,
00270 
00272         ALP_MM_SOURCE_CAMERA_RED_EYE_REDUCTION,
00273 
00275         ALP_MM_SOURCE_CAMERA_ISO_SENSITIVITY,
00276 
00278         ALP_MM_SOURCE_CAMERA_WHITE_BALANCER,
00279 
00281         ALP_MM_SOURCE_CAMERA_BRIGHTNESS,
00282 
00284         ALP_MM_SOURCE_CAMERA_ZOOM,
00285 
00287         ALP_MM_SOURCE_CAMERA_FRAME_RATE,
00288 
00291         ALP_MM_SOURCE_CAMERA_RESOLUTION,
00292 
00294         ALP_MM_SOURCE_CAMERA_COLOR_EFFECT,
00295 
00297         ALP_MM_SOURCE_CAMERA_WIDTH,
00298 
00300         ALP_MM_SOURCE_CAMERA_HEIGHT
00301 
00302 }AlpCameraPropertyKey;
00303 
00305 typedef enum 
00306 {
00308         ALP_MM_FORMATKEY_RAW_AUDIO_TYPE = (ALP_MM_FORMATKEY_RAW_AUDIO | 0x000001L),
00309 
00311         ALP_MM_FORMATKEY_RAW_AUDIO_BYTE_ORDER,
00312         
00314         ALP_MM_FORMATKEY_RAW_AUDIO_BITS,
00315 
00318         ALP_MM_FORMATKEY_RAW_AUDIO_CHANNELS,
00319 
00321         ALP_MM_FORMATKEY_RAW_AUDIO_SAMPLERATE,
00322 
00324         ALP_MM_FORMATKEY_RAW_AUDIO_BIT_RATE
00325 }AlpRawAudioPropertyKey;
00326 
00328 typedef enum 
00329 {
00331         ALP_MM_AUDIO_AMR_BITRATE_MR475 = 4750,
00332 
00334         ALP_MM_AUDIO_AMR_BITRATE_MR515 = 5150,
00335 
00337         ALP_MM_AUDIO_AMR_BITRATE_MR59 = 5900,
00338 
00340         ALP_MM_AUDIO_AMR_BITRATE_MR67 = 6700,
00341 
00343         ALP_MM_AUDIO_AMR_BITRATE_MR74 = 7400,
00344 
00346         ALP_MM_AUDIO_AMR_BITRATE_MR795 = 7950,
00347 
00349         ALP_MM_AUDIO_AMR_BITRATE_MR102 = 10200,
00350 
00352         ALP_MM_AUDIO_AMR_BITRATE_MR122 = 12200
00353 }AlpAmrBitRate;
00354 
00356 typedef enum 
00357 {
00359         ALP_MM_RAW_AUDIO_INT8 = 0x01,
00360 
00362         ALP_MM_RAW_AUDIO_UINT8,
00363 
00365         ALP_MM_RAW_AUDIO_INT16,
00366 
00368         ALP_MM_RAW_AUDIO_INT32,
00369         
00371         ALP_MM_RAW_AUDIO_FLOAT,
00372 
00374         ALP_MM_RAW_AUDIO_SIZE_MASK = 0x0f
00375 }AlpRawAudioTypes;
00376 
00378 typedef enum 
00379 {
00381         ALP_MM_RAW_AUDIO_STEREO = 0x02,
00382 
00384         ALP_MM_RAW_AUDIO_MONO = 0x01,
00385 
00387         ALP_MM_RAW_AUDIO_DOLBY_PRO_LOGIC_STEREO = 0x12,
00388 
00390         ALP_MM_RAW_AUDIO_DOLBY_5_1_SURROUND = 0x26,
00391 
00393         ALP_MM_RAW_AUDIO_DTS_SURROUND = 0x36,
00394 
00396         ALP_MM_RAW_AUDIO_CHANNEL_COUNT_MASK = 0x0f
00397 }AlpRawAudioChannel;
00398 
00400 typedef enum 
00401 {
00403         ALP_MM_FORMATKEY_RAW_VIDEO_COLOR_SPACE = (ALP_MM_FORMATKEY_RAW_VIDEO | 0x000001),
00404         
00406         ALP_MM_FORMATKEY_RAW_VIDEO_FRAME_RATE,
00407 
00409         ALP_MM_FORMATKEY_RAW_VIDEO_BIT_RATE,
00410         
00412         ALP_MM_FORMATKEY_RAW_VIDEO_RECT
00413 }AlpRawVideoPropertyKey;
00414 
00416 typedef enum 
00417 {
00419         ALP_MM_RAW_VIDEO_YCBCR420_PLANAR = 0x000010,
00420 
00422         ALP_MM_RAW_VIDEO_YCBCR422_PLANAR,
00423 
00425         ALP_MM_RAW_VIDEO_YCBCR420_PACKET,
00426 
00428         ALP_MM_RAW_VIDEO_YCBCR422_PACKET,
00429 
00431         ALP_MM_RAW_VIDEO_YCBCR444,
00432         
00434         ALP_MM_RAW_VIDEO_RGB888,
00435 
00437         ALP_MM_RAW_VIDEO_RGB565,
00438 
00440         ALP_MM_RAW_VIDEO_RGB555,
00441 
00443         ALP_MM_RAW_VIDEO_BGR888,
00444 
00446         ALP_MM_RAW_VIDEO_BGR565,
00447 
00449         ALP_MM_RAW_VIDEO_BGR555,
00450 
00452         ALP_MM_RAW_VIDEO_RAWRGB,
00453 
00455         ALP_MM_RAW_VIDEO_OTHER_FMT
00456 }AlpRawVideoColorSpace;
00457 
00459 typedef enum 
00460 {
00462         ALP_MM_VIDEO_RSL_SXGA = 0x000040,
00463 
00465         ALP_MM_VIDEO_RSL_VGA,
00466 
00468         ALP_MM_VIDEO_RSL_QVGA,
00469 
00471         ALP_MM_VIDEO_RSL_QQVGA,
00472 
00474         ALP_MM_VIDEO_RSL_CIF,
00475 
00477         ALP_MM_VIDEO_RSL_QCIF,
00478 
00480         ALP_MM_VIDEO_RSL_QQCIF
00481 }AlpVideoResolution;
00482 
00484 typedef enum  
00485 {
00487         ALP_MM_FILE_FORMAT_MP3 = (ALP_MM_FILE_FORMAT | 0x000001),
00488 
00490         ALP_MM_FILE_FORMAT_MP4,
00491 
00493         ALP_MM_FILE_FORMAT_3GPP,
00494 
00496         ALP_MM_FILE_FORMAT_AVI,
00497 
00499         ALP_MM_FILE_FORMAT_RM,
00500 
00502         ALP_MM_FILE_FORMAT_AMR,
00503 
00505         ALP_MM_FILE_FORMAT_ASF,
00506 
00508         ALP_MM_FILE_FORMAT_WAV,
00509 
00511         ALP_MM_FILE_FORMAT_MIDI_MTHd,
00512         
00514         ALP_MM_FILE_FORMAT_MIDI_XMF,
00515         
00517         ALP_MM_FILE_FORMAT_MIDI_IMY,
00518 
00520         ALP_MM_FILE_FORMAT_OGG,
00521 
00523         ALP_MM_FILE_FORMAT_JPEG,
00524 
00526         ALP_MM_FILE_FORMAT_BMP,
00527 
00529         ALP_MM_FILE_FORMAT_WBMP,
00530 
00532         ALP_MM_FILE_FORMAT_PNG,
00533 
00535         ALP_MM_FILE_FORMAT_GIF,
00536 
00538         ALP_MM_FILE_FORMAT_TIFF,
00539 
00541         ALP_MM_FILE_FORMAT_WMA,
00542 
00544         ALP_MM_FILE_FORMAT_WMV,
00545 
00547         ALP_MM_FILE_FORMAT_H263,
00548 
00550         ALP_MM_FILE_FORMAT_H264,
00551 
00553         ALP_MM_FILE_FORMAT_RAW_AUDIO,
00554 
00556         ALP_MM_FILE_FORMAT_RAW_VIDEO
00557 }AlpMediaFileFormatType;
00558 
00560 
00561 typedef enum 
00562 {
00564         ALP_MM_FILE_CONTENT_ALBUM = (ALP_MM_FILE_CONTENT | 0x000001),
00565 
00567         ALP_MM_FILE_CONTENT_ARTIST,
00568 
00570         ALP_MM_FILE_CONTENT_DURATION,
00571                 
00573         ALP_MM_FILE_CONTENT_GENRE,
00574 
00576         ALP_MM_FILE_CONTENT_TITLE,
00577 
00579         ALP_MM_FILE_CONTENT_TRACK_NUMBER,
00580 
00582         ALP_MM_FILE_CONTENT_REVISION,
00583 
00585         ALP_MM_FILE_CONTENT_REMARK
00586 }AlpMediaFileContentKeys;
00587 
00589 typedef enum {
00591         ALP_MM_AUDIO_CODEC_RAW = (ALP_MM_AUDIO_CODEC | 0x000001),
00592 
00594         ALP_MM_AUDIO_CODEC_MSADPCM,
00595         
00597         ALP_MM_AUDIO_CODEC_DVIADPCM,
00598         
00600         ALP_MM_AUDIO_CODEC_OGG_VORBIS,
00601 
00603         ALP_MM_AUDIO_CODEC_AMR_NB,
00604 
00606         ALP_MM_AUDIO_CODEC_AMR_WB,
00607 
00609         ALP_MM_AUDIO_CODEC_G711,
00610 
00612         ALP_MM_AUDIO_CODEC_G722,
00613 
00615         ALP_MM_AUDIO_CODEC_G723,
00616 
00618         ALP_MM_AUDIO_CODEC_G723_1,
00619 
00621         ALP_MM_AUDIO_CODEC_G726,
00622 
00624         ALP_MM_AUDIO_CODEC_G728,
00625 
00627         ALP_MM_AUDIO_CODEC_G729,
00628 
00630         ALP_MM_AUDIO_CODEC_AAC,
00631 
00633         ALP_MM_AUDIO_CODEC_MP3,
00634 
00636         ALP_MM_AUDIO_CODEC_MIDI 
00637 }AlpAudioCodecs;
00638 
00640 typedef enum {
00642         ALP_MM_VIDEO_CODEC_RAW = (ALP_MM_VIDEO_CODEC | 0x000001),
00643         
00645         ALP_MM_VIDEO_CODEC_MPEG4,
00646 
00648         ALP_MM_VIDEO_CODEC_3GPP,
00649   
00651         ALP_MM_VIDEO_CODEC_H263,
00652         
00653         //theora video format
00654         ALP_MM_VIDEO_CODEC_OGG_THEORA,
00655         
00657         ALP_MM_VIDEO_CODEC_REAL8,
00658 
00660         ALP_MM_VIDEO_CODEC_REAL9,
00661 
00663         ALP_MM_VIDEO_CODEC_REAL10,
00664 
00666         ALP_MM_VIDEO_CODEC_DIVX5,
00667         
00669         ALP_MM_VIDEO_CODEC_XVID
00670 }AlpVideoCodecs;
00671 
00673 typedef enum 
00674 {
00676         ALP_MM_STILL_CODEC_JPEG = (ALP_MM_STILL_CODEC | 0x000001),
00677 
00679         ALP_MM_STILL_CODEC_BMP,
00680 
00682         ALP_MM_STILL_CODEC_PNG,
00683 
00685         ALP_MM_STILL_CODEC_GIF
00686 }AlpStillImageCodecs;
00687 
00689 typedef enum 
00690 {
00692         ALP_MM_VIDEO_CODEC_TYPE = (ALP_MM_VIDEO_CODEC | 0x000040),
00693 
00695         ALP_MM_AUDIO_CODEC_TYPE,
00696 
00698         ALP_MM_STILL_CODEC_TYPE
00699 }AlpCodecProperyKey;
00700 
00701 
00703 typedef enum 
00704 {
00706         ALP_MM_SESSION_CLASS_RECORD = (ALP_MM_SESSION_CLASS | 0x000001),
00707 
00709         ALP_MM_SESSION_CLASS_PLAYBACK,
00710 }AlpMMSessionClassID;
00711 
00712 
00714 
00716 typedef enum
00717 {
00719         ALP_MM_SESSION_CTL_RUN = (ALP_MM_SESSION_CTL | 0x000001),
00720 
00722         ALP_MM_SESSION_CTL_PAUSE,
00723 
00725         ALP_MM_SESSION_CTL_STOP,
00726 
00728         ALP_MM_SESSION_CTL_PREFETCH,
00729 
00731         ALP_MM_SESSION_CTL_GRAB,
00732 
00734         ALP_MM_SESSION_CTL_REFRESH,
00735         
00737         ALP_MM_SESSION_CTL_NEXT,
00738 
00740         ALP_MM_SESSION_CTL_PRV,
00741         
00742         ALP_MM_SESSION_CTL_PREVIEW,
00743                 
00744         ALP_MM_SESSION_CTL_RECORD,
00745 
00747         ALP_MM_SESSION_CTL_CUSTOM_BASE = 0x1000
00748 } AlpMMSessionControlOpcode;
00749 
00751 typedef enum
00752 {
00754         ALP_MM_SESSION_NOT_INITIALIZED = 0x01,
00755 
00758         ALP_MM_SESSION_READY,
00759 
00761         ALP_MM_SESSION_PREFETCHING,
00762 
00764         ALP_MM_SESSION_PAUSED,
00765 
00767         ALP_MM_SESSION_STOPPED,
00768 
00770         ALP_MM_SESSION_FINISHED,
00771 
00773         ALP_MM_SESSION_RUNNING
00774                 
00775 } AlpMMSessionState;
00776 
00778 typedef enum 
00779 {
00781         ALP_MM_SOURCE_FILE_FORMAT = (ALP_MM_SOURCE_FILE | 0x000001),
00782 
00784         ALP_MM_SOURCE_FILE_HAS_AUDIO,
00785 
00787         ALP_MM_SOURCE_FILE_HAS_VIDEO,
00788         
00790         ALP_MM_SOURCE_URL,
00791 
00793         ALP_MM_SOURCE_SIZE          
00794 }AlpMMSourcePropertyKey;
00795 
00797 typedef enum 
00798 {
00800         ALP_MM_DESTINATION_FILE_FORMAT = (ALP_MM_DESTINATION_FILE | 0x000001),
00801 
00803         ALP_MM_DESTINATION_FILE_HAS_AUDIO,
00804 
00806         ALP_MM_DESTINATION_FILE_HAS_VIDEO,
00807         
00809         ALP_MM_DESTINATION_URL,
00810 
00812         ALP_MM_DISPLAY_ID,
00813 
00815         ALP_MM_DESTINATION_ROTATE 
00816 }AlpMMDestinationPropertyKey;
00817 
00819 typedef enum  
00820 {
00822         ALP_MM_DESTINATION_ROTATE_NONE = 0,
00823 
00825         ALP_MM_DESTINATION_ROTATE_90L = 1,
00826         
00828         ALP_MM_DESTINATION_ROTATE_90R = 2,      
00829 
00831         ALP_MM_DESTINATION_ROTATE_180 = 3               
00832 }AlpMMDestinationRotateType;
00833 
00835 typedef enum {
00836         ALP_MM_SESSION_MEDIAIN_TYPE      = 0,           
00837         ALP_MM_SESSION_MEDIAOUT_TYPE     = 1,           
00838         ALP_MM_SESSION_VOICEIN_TYPE      = 2,           
00839         ALP_MM_SESSION_VOICEOUT_TYPE     = 3,           
00840         ALP_MM_SESSION_RING_TYPE         = 4,           
00841         ALP_MM_SESSION_SYSSOUND_TYPE     = 5,           
00842         ALP_MM_SESSION_ALARM_TYPE        = 6            
00843 } AlpMMAudioAppType;
00844 
00846 typedef enum 
00847 {
00849         ALP_MM_SESSION_AUDIO_ENABLE = (ALP_MM_SESSION | 0x000001),
00850 
00852         ALP_MM_SESSION_AUDIO_VOLUME,
00853 
00855         ALP_MM_SESSION_AUDIO_APP_TYPE,
00856         
00858         ALP_MM_SESSION_VIDEO_ENABLE, 
00859         
00860 
00863         ALP_MM_SESSION_DEST_RECT, 
00864 
00867         ALP_MM_SESSION_DEST_ROTATE,
00868         
00871         ALP_MM_SESSION_SOURCE_RECT,
00872         
00875         ALP_MM_SESSION_CURRENT_TIME,
00876 
00879         ALP_MM_SESSION_END_TIME,
00880 
00882         ALP_MM_SESSION_PLAYBACK_RATE,
00883 
00885         ALP_MM_SESSION_PREFETCH_TIME,
00886 
00888         ALP_MM_SESSION_REPEAT_ENABLE,
00889 
00892         ALP_MM_SESSION_START_TIME,
00893 
00895         ALP_MM_SESSION_SESSION_CLASS,
00896 
00898         ALP_MM_SESSION_VIDEO_IS_BLANK,
00899 
00901         ALP_MM_SESSION_IS_PREVIEW,
00902 
00904         ALP_MM_SESSION_HANDLE_AUDIO_CONFLIC,
00905 
00909         ALP_MM_SESSION_VIDEO_SOURCE_ROTATE
00910         
00911 }AlpMMSessionPropertyKey;
00912 
00914 typedef enum 
00915 {
00917         ALP_MM_SESSION_SEEK_ORIGIN_BEGIN = 0x01,
00918 
00920         ALP_MM_SESSION_SEEK_ORIGIN_CURRENT,
00921 
00923         ALP_MM_SESSION_SEEK_ORIGIN_END
00924 }AlpMMSessionSeekOrigin;
00925 
00927 typedef enum 
00928 {
00930         ALP_MM_SESSION_EVENT_CAUSE_UNKNOWN = (ALP_MM_SESSION_EVENT | 0x000001),
00931 
00933         ALP_MM_SESSION_EVENT_CAUSE_REQUESTED_BY_APP,
00934 
00936         ALP_MM_SESSION_EVENT_CAUSE_INVALID_AUDIO_STREAM,
00937         
00939         ALP_MM_SESSION_EVENT_CAUSE_INVALID_VIDEO_STREAM,
00940 
00942         ALP_MM_SESSION_EVENT_CAUSE_END_OF_STREAM,
00943 
00945         ALP_MM_SESSION_EVENT_CAUSE_INVALID_STREAM,
00946 
00948         ALP_MM_SESSION_EVENT_CAUSE_STORAGE_FULL,
00949 
00951         ALP_MM_SESSION_EVENT_CAUSE_CUSTOM_BASE = 0x1000
00952 }AlpMMSessionEventCauses;
00953 
00956 typedef enum 
00957 {
00959         ALP_MM_SESSION_EVENT_STATE_CHANGED = (ALP_MM_SESSION_EVENT | 0x000020),
00960 
00962         ALP_MM_SESSION_EVENT_WARNING,
00963 
00965         ALP_MM_SESSION_EVENT_ERROR,
00966 
00968         ALP_MM_SESSION_EVENT_CURRENT_TIME,
00969 
00971         ALP_MM_SESSION_EVENT_DELETING,
00972 
00974         ALP_MM_SESSION_EVENT_AUDIO_CONFLICT_OCCUR,
00975 
00977         ALP_MM_SESSION_EVENT_AUDIO_CONFLICT_CANCEL,
00978         
00980         ALP_MM_SESSION_EVENT_CUSTOM_BASE
00981 }AlpMMSessionEventCode;
00982 
00984 typedef enum
00985 {
00987         ALP_MM_PROPERTY_TYPE_DEFAULT    =       (ALP_MM_PROPERTY_TYPE | 0x000010),    
00988         
00990         ALP_MM_PROPERTY_TYPE_MINIMUM,
00991 
00993         ALP_MM_PROPERTY_TYPE_MAXIMUM,
00994 
00995         // !return whether the value is readbable
00996         ALP_MM_PROPERTY_TYPE_READABLE,
00997 
00998         // !return whether the value is writable,
00999         ALP_MM_PROPERTY_TYPE_WRITABLE
01000 
01001 }AlpMMPropertyType;
01002 
01004 typedef enum
01005 {
01007         ALP_MM_PROPERTY_CODE_UNDEFINED = (ALP_MM_PROPERTY_CODE | 0x000020),
01008 
01010         ALP_MM_PROPERTY_CODE_RAW,
01011 
01013         ALP_MM_PROPERTY_CODE_INT8,
01014 
01016         ALP_MM_PROPERTY_CODE_INT16,
01017 
01019         ALP_MM_PROPERTY_CODE_INT32,
01020 
01022         ALP_MM_PROPERTY_CODE_INT64,
01023 
01025         ALP_MM_PROPERTY_CODE_BOOL,
01026 
01028         ALP_MM_PROPERTY_CODE_STRING             
01029                 
01030 }AlpMMPropertyCode;
01031 
01039 /****************************************************************************
01040 * Macros  (defined in header)
01041 *****************************************************************************/
01042 
01043 
01052 /****************************************************************************
01053 * Functions and Grouping Objects
01054 *****************************************************************************/
01055 
01056 
01077 alp_status_t    alp_media_session_create (AlpMMSessionClassID sessionClass, AlpMMSessionID * outSession);
01078 
01079 
01080 
01111 alp_status_t alp_media_session_add_source(AlpMMSessionID session, AlpMMSourceType type, const void *sourceURL, AlpMMSourceID *outSource);
01112 
01113 
01143 alp_status_t alp_media_session_add_dest(AlpMMSessionID session, const char *destURL, AlpMMDestID *outDest);
01144 
01145 
01146 
01175 alp_status_t alp_media_session_control(AlpMMSessionID session, AlpMMSessionControlOpcode sessionCtl);
01176 
01202 alp_status_t alp_media_session_finalize(AlpMMSessionID session);
01203 
01204  
01205 
01237 alp_status_t alp_media_session_seek(AlpMMSessionID session, AlpMMSessionSeekOrigin origin, int64_t position);
01238 
01273 alp_status_t alp_media_session_seek_full(AlpMMSessionID session, AlpMMSessionSeekOrigin origin, int64_t position, int64_t play_duration, double rate, int is_Accurate);
01274 
01296 alp_status_t alp_media_session_get_state(AlpMMSessionID session, AlpMMSessionState *outState);
01297 
01298 
01299 
01327 alp_status_t alp_media_session_register_callback(AlpMMSessionID session, AlpMMSessionCallbackFn callback, void * userdata);
01328 
01357 alp_status_t alp_media_session_register_grab_callback(AlpMMSessionID session, AlpMMSessionGrabCallbackFn callback, void * userdata);
01358 
01379 alp_status_t alp_media_session_remove_all(AlpMMSessionID session);
01380 
01381 
01402 alp_status_t alp_media_session_destroy(AlpMMSessionID session);
01403 
01404 
01405 
01406 
01407 
01437 alp_status_t alp_media_property_get(int32_t  id, AlpMMPropertyType  propertyType, int32_t  propertyKey, AlpMMPropertyCode  properytyCode, void  *outValue, int32_t  *ioLength);
01438 
01439 
01477 alp_status_t alp_media_property_set(int32_t id, int32_t propertyKey, AlpMMPropertyCode propertyCode, void *value, int32_t *length);
01478 
01498 alp_status_t alp_media_session_gst_init();
01499 
01519 alp_status_t alp_media_session_syssnd_init();
01520 
01540 alp_status_t alp_media_session_syssnd_play(const char * sound, const char * streamtype, int volume);
01541 
01561 alp_status_t alp_media_session_syssnd_play_file(char * filename, const char * streamtype, int volume);
01562 
01586 alp_status_t alp_media_session_play_tone(unsigned short amplitude, unsigned short duration, unsigned short freq, const char* streamtype);
01587 
01597 /****************************************************************************
01598 * Constants 
01599 *****************************************************************************/
01600  
01602 #define ALP_LONG_MAX 0xffffff
01603 
01605 #define ALP_MM_ISO_SENSITIVITY_AUTO     0
01606 
01608 #define ALP_MM_EXPOSURE_AUTO    0
01609 
01611 #define CAMERADEV "dev://camera"
01612 
01614 #define MICDEV          "dev://mic"
01615 
01617 #define LCDDEV          "dev://lcd"
01618 
01620 #define FILENAME        "dev://filename"
01621 
01623 
01624 #define DSPDEV  "dev://dsp"
01625 
01627 
01628 #define FAKEDEV "dev://null"
01629 
01631 
01632 #define VIDEOFAKEDEV    "dev://video"
01633 
01635 
01636 #define XWINDOWDEV      "dev://xwindow"
01637 
01639 
01640 #define AUDIOFAKEDEV    "dev://audio"
01641 
01644 #ifdef __cplusplus
01645 }
01646 #endif
01647 
01648 #endif
01649 
01650 

Generated on Wed Jul 30 07:06:39 2008 by Doxygen 1.4.6 for ALP SDK + Hiker Documentation

Copyright © 1999-2008 ACCESS CO., LTD. All rights reserved.