Changeset 3467 for pjproject


Ignore:
Timestamp:
Mar 19, 2011 5:33:21 AM (13 years ago)
Author:
ming
Message:

Re #1213 (video devices):
Modified ios_dev and qt_dev to use pjmedia_vid_dev_stream

Location:
pjproject/branches/projects/2.0-dev/pjmedia/src/pjmedia-videodev
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/2.0-dev/pjmedia/src/pjmedia-videodev/ios_dev.m

    r3459 r3467  
    7474struct ios_stream 
    7575{ 
    76     pjmedia_vid_stream   base;              /**< Base stream           */ 
    77     pjmedia_vid_param    param;             /**< Settings              */ 
    78     pj_pool_t           *pool;              /**< Memory pool.          */ 
    79  
    80     pjmedia_vid_cb       vid_cb;            /**< Stream callback.      */ 
    81     void                *user_data;         /**< Application data.     */ 
    82  
    83     pjmedia_rect_size    size; 
    84     pj_uint8_t           bpp; 
    85     unsigned             bytes_per_row; 
    86     unsigned             frame_size; 
     76    pjmedia_vid_dev_stream  base;               /**< Base stream       */ 
     77    pjmedia_vid_param       param;              /**< Settings          */ 
     78    pj_pool_t              *pool;               /**< Memory pool       */ 
     79 
     80    pjmedia_vid_cb          vid_cb;             /**< Stream callback   */ 
     81    void                   *user_data;          /**< Application data  */ 
     82 
     83    pjmedia_rect_size       size; 
     84    pj_uint8_t              bpp; 
     85    unsigned                bytes_per_row; 
     86    unsigned                frame_size; 
    8787     
    8888    AVCaptureSession            *cap_session; 
     
    110110                                             unsigned index, 
    111111                                             pjmedia_vid_param *param); 
    112 static pj_status_t ios_factory_create_stream(pjmedia_vid_dev_factory *f, 
    113                                              const pjmedia_vid_param *param, 
    114                                              const pjmedia_vid_cb *cb, 
    115                                              void *user_data, 
    116                                              pjmedia_vid_stream **p_vid_strm); 
    117  
    118 static pj_status_t ios_stream_get_param(pjmedia_vid_stream *strm, 
     112static pj_status_t ios_factory_create_stream( 
     113                                        pjmedia_vid_dev_factory *f, 
     114                                        const pjmedia_vid_param *param, 
     115                                        const pjmedia_vid_cb *cb, 
     116                                        void *user_data, 
     117                                        pjmedia_vid_dev_stream **p_vid_strm); 
     118 
     119static pj_status_t ios_stream_get_param(pjmedia_vid_dev_stream *strm, 
    119120                                        pjmedia_vid_param *param); 
    120 static pj_status_t ios_stream_get_cap(pjmedia_vid_stream *strm, 
     121static pj_status_t ios_stream_get_cap(pjmedia_vid_dev_stream *strm, 
    121122                                      pjmedia_vid_dev_cap cap, 
    122123                                      void *value); 
    123 static pj_status_t ios_stream_set_cap(pjmedia_vid_stream *strm, 
     124static pj_status_t ios_stream_set_cap(pjmedia_vid_dev_stream *strm, 
    124125                                      pjmedia_vid_dev_cap cap, 
    125126                                      const void *value); 
    126 static pj_status_t ios_stream_start(pjmedia_vid_stream *strm); 
    127 static pj_status_t ios_stream_put_frame(pjmedia_vid_stream *strm, 
     127static pj_status_t ios_stream_start(pjmedia_vid_dev_stream *strm); 
     128static pj_status_t ios_stream_put_frame(pjmedia_vid_dev_stream *strm, 
    128129                                        const pjmedia_frame *frame); 
    129 static pj_status_t ios_stream_stop(pjmedia_vid_stream *strm); 
    130 static pj_status_t ios_stream_destroy(pjmedia_vid_stream *strm); 
     130static pj_status_t ios_stream_stop(pjmedia_vid_dev_stream *strm); 
     131static pj_status_t ios_stream_destroy(pjmedia_vid_dev_stream *strm); 
    131132 
    132133/* Operations */ 
     
    141142}; 
    142143 
    143 static pjmedia_vid_stream_op stream_op = 
     144static pjmedia_vid_dev_stream_op stream_op = 
    144145{ 
    145146    &ios_stream_get_param, 
     
    294295    param->flags = PJMEDIA_VID_DEV_CAP_FORMAT; 
    295296    param->clock_rate = DEFAULT_CLOCK_RATE; 
    296     param->frame_rate.num = DEFAULT_FPS; 
    297     param->frame_rate.denum = 1; 
    298297    pj_memcpy(&param->fmt, &di->info.fmt[0], sizeof(param->fmt)); 
    299298 
     
    384383 
    385384/* API: create stream */ 
    386 static pj_status_t ios_factory_create_stream(pjmedia_vid_dev_factory *f, 
    387                                              const pjmedia_vid_param *param, 
    388                                              const pjmedia_vid_cb *cb, 
    389                                              void *user_data, 
    390                                              pjmedia_vid_stream **p_vid_strm) 
     385static pj_status_t ios_factory_create_stream( 
     386                                        pjmedia_vid_dev_factory *f, 
     387                                        const pjmedia_vid_param *param, 
     388                                        const pjmedia_vid_cb *cb, 
     389                                        void *user_data, 
     390                                        pjmedia_vid_dev_stream **p_vid_strm) 
    391391{ 
    392392    struct ios_factory *qf = (struct ios_factory*)f; 
     
    489489         
    490490        if (param->flags & PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW && param->window) 
    491             window = param->window; 
     491            window = (UIWindow *)param->window; 
    492492         
    493493        pj_assert(window); 
     
    522522     
    523523on_error: 
    524     ios_stream_destroy((pjmedia_vid_stream *)strm); 
     524    ios_stream_destroy((pjmedia_vid_dev_stream *)strm); 
    525525     
    526526    return status; 
     
    528528 
    529529/* API: Get stream info. */ 
    530 static pj_status_t ios_stream_get_param(pjmedia_vid_stream *s, 
     530static pj_status_t ios_stream_get_param(pjmedia_vid_dev_stream *s, 
    531531                                        pjmedia_vid_param *pi) 
    532532{ 
     
    547547 
    548548/* API: get capability */ 
    549 static pj_status_t ios_stream_get_cap(pjmedia_vid_stream *s, 
     549static pj_status_t ios_stream_get_cap(pjmedia_vid_dev_stream *s, 
    550550                                      pjmedia_vid_dev_cap cap, 
    551551                                      void *pval) 
     
    567567 
    568568/* API: set capability */ 
    569 static pj_status_t ios_stream_set_cap(pjmedia_vid_stream *s, 
     569static pj_status_t ios_stream_set_cap(pjmedia_vid_dev_stream *s, 
    570570                                      pjmedia_vid_dev_cap cap, 
    571571                                      const void *pval) 
     
    586586 
    587587/* API: Start stream. */ 
    588 static pj_status_t ios_stream_start(pjmedia_vid_stream *strm) 
     588static pj_status_t ios_stream_start(pjmedia_vid_dev_stream *strm) 
    589589{ 
    590590    struct ios_stream *stream = (struct ios_stream*)strm; 
     
    606606 
    607607/* API: Put frame from stream */ 
    608 static pj_status_t ios_stream_put_frame(pjmedia_vid_stream *strm, 
     608static pj_status_t ios_stream_put_frame(pjmedia_vid_dev_stream *strm, 
    609609                                        const pjmedia_frame *frame) 
    610610{ 
     
    625625 
    626626/* API: Stop stream. */ 
    627 static pj_status_t ios_stream_stop(pjmedia_vid_stream *strm) 
     627static pj_status_t ios_stream_stop(pjmedia_vid_dev_stream *strm) 
    628628{ 
    629629    struct ios_stream *stream = (struct ios_stream*)strm; 
     
    641641 
    642642/* API: Destroy stream. */ 
    643 static pj_status_t ios_stream_destroy(pjmedia_vid_stream *strm) 
     643static pj_status_t ios_stream_destroy(pjmedia_vid_dev_stream *strm) 
    644644{ 
    645645    struct ios_stream *stream = (struct ios_stream*)strm; 
  • pjproject/branches/projects/2.0-dev/pjmedia/src/pjmedia-videodev/qt_dev.m

    r3459 r3467  
    7373struct qt_stream 
    7474{ 
    75     pjmedia_vid_stream   base;              /**< Base stream           */ 
    76     pjmedia_vid_param    param;             /**< Settings              */ 
    77     pj_pool_t           *pool;              /**< Memory pool.          */ 
    78  
    79     pj_timestamp         cap_frame_ts;      /**< Captured frame tstamp */ 
    80     unsigned             cap_ts_inc;        /**< Increment             */ 
    81      
    82     pjmedia_vid_cb       vid_cb;            /**< Stream callback.      */ 
    83     void                *user_data;         /**< Application data.     */ 
     75    pjmedia_vid_dev_stream  base;           /**< Base stream           */ 
     76    pjmedia_vid_param       param;          /**< Settings              */ 
     77    pj_pool_t              *pool;           /**< Memory pool.          */ 
     78 
     79    pj_timestamp            cap_frame_ts;   /**< Captured frame tstamp */ 
     80    unsigned                cap_ts_inc;     /**< Increment             */ 
     81     
     82    pjmedia_vid_cb          vid_cb;         /**< Stream callback.      */ 
     83    void                   *user_data;      /**< Application data.     */ 
    8484 
    8585    QTCaptureSession                    *cap_session; 
     
    101101                                            unsigned index, 
    102102                                            pjmedia_vid_param *param); 
    103 static pj_status_t qt_factory_create_stream(pjmedia_vid_dev_factory *f, 
    104                                             const pjmedia_vid_param *param, 
    105                                             const pjmedia_vid_cb *cb, 
    106                                             void *user_data, 
    107                                             pjmedia_vid_stream **p_vid_strm); 
    108  
    109 static pj_status_t qt_stream_get_param(pjmedia_vid_stream *strm, 
     103static pj_status_t qt_factory_create_stream( 
     104                                        pjmedia_vid_dev_factory *f, 
     105                                        const pjmedia_vid_param *param, 
     106                                        const pjmedia_vid_cb *cb, 
     107                                        void *user_data, 
     108                                        pjmedia_vid_dev_stream **p_vid_strm); 
     109 
     110static pj_status_t qt_stream_get_param(pjmedia_vid_dev_stream *strm, 
    110111                                       pjmedia_vid_param *param); 
    111 static pj_status_t qt_stream_get_cap(pjmedia_vid_stream *strm, 
     112static pj_status_t qt_stream_get_cap(pjmedia_vid_dev_stream *strm, 
    112113                                     pjmedia_vid_dev_cap cap, 
    113114                                     void *value); 
    114 static pj_status_t qt_stream_set_cap(pjmedia_vid_stream *strm, 
     115static pj_status_t qt_stream_set_cap(pjmedia_vid_dev_stream *strm, 
    115116                                     pjmedia_vid_dev_cap cap, 
    116117                                     const void *value); 
    117 static pj_status_t qt_stream_start(pjmedia_vid_stream *strm); 
    118 static pj_status_t qt_stream_stop(pjmedia_vid_stream *strm); 
    119 static pj_status_t qt_stream_destroy(pjmedia_vid_stream *strm); 
     118static pj_status_t qt_stream_start(pjmedia_vid_dev_stream *strm); 
     119static pj_status_t qt_stream_stop(pjmedia_vid_dev_stream *strm); 
     120static pj_status_t qt_stream_destroy(pjmedia_vid_dev_stream *strm); 
    120121 
    121122/* Operations */ 
     
    130131}; 
    131132 
    132 static pjmedia_vid_stream_op stream_op = 
     133static pjmedia_vid_dev_stream_op stream_op = 
    133134{ 
    134135    &qt_stream_get_param, 
     
    302303    param->flags = PJMEDIA_VID_DEV_CAP_FORMAT; 
    303304    param->clock_rate = DEFAULT_CLOCK_RATE; 
    304     param->frame_rate.num = DEFAULT_FPS; 
    305     param->frame_rate.denum = 1; 
    306305    pj_memcpy(&param->fmt, &di->info.fmt[0], sizeof(param->fmt)); 
    307306 
     
    348347 
    349348/* API: create stream */ 
    350 static pj_status_t qt_factory_create_stream(pjmedia_vid_dev_factory *f, 
    351                                             const pjmedia_vid_param *param, 
    352                                             const pjmedia_vid_cb *cb, 
    353                                             void *user_data, 
    354                                             pjmedia_vid_stream **p_vid_strm) 
     349static pj_status_t qt_factory_create_stream( 
     350                                        pjmedia_vid_dev_factory *f, 
     351                                        const pjmedia_vid_param *param, 
     352                                        const pjmedia_vid_cb *cb, 
     353                                        void *user_data, 
     354                                        pjmedia_vid_dev_stream **p_vid_strm) 
    355355{ 
    356356    struct qt_factory *qf = (struct qt_factory*)f; 
     
    445445 
    446446        pj_assert(vfd->fps.num); 
    447         strm->cap_ts_inc = PJMEDIA_SPF2(&strm->param.clock_rate, &vfd->fps, 1); 
     447        strm->cap_ts_inc = PJMEDIA_SPF2(strm->param.clock_rate, &vfd->fps, 1); 
    448448         
    449449        [strm->video_output setMinimumVideoFrameInterval: 
     
    470470     
    471471on_error: 
    472     qt_stream_destroy((pjmedia_vid_stream *)strm); 
     472    qt_stream_destroy((pjmedia_vid_dev_stream *)strm); 
    473473     
    474474    return status; 
     
    476476 
    477477/* API: Get stream info. */ 
    478 static pj_status_t qt_stream_get_param(pjmedia_vid_stream *s, 
     478static pj_status_t qt_stream_get_param(pjmedia_vid_dev_stream *s, 
    479479                                       pjmedia_vid_param *pi) 
    480480{ 
     
    495495 
    496496/* API: get capability */ 
    497 static pj_status_t qt_stream_get_cap(pjmedia_vid_stream *s, 
     497static pj_status_t qt_stream_get_cap(pjmedia_vid_dev_stream *s, 
    498498                                     pjmedia_vid_dev_cap cap, 
    499499                                     void *pval) 
     
    515515 
    516516/* API: set capability */ 
    517 static pj_status_t qt_stream_set_cap(pjmedia_vid_stream *s, 
     517static pj_status_t qt_stream_set_cap(pjmedia_vid_dev_stream *s, 
    518518                                     pjmedia_vid_dev_cap cap, 
    519519                                     const void *pval) 
     
    534534 
    535535/* API: Start stream. */ 
    536 static pj_status_t qt_stream_start(pjmedia_vid_stream *strm) 
     536static pj_status_t qt_stream_start(pjmedia_vid_dev_stream *strm) 
    537537{ 
    538538    struct qt_stream *stream = (struct qt_stream*)strm; 
     
    553553 
    554554/* API: Stop stream. */ 
    555 static pj_status_t qt_stream_stop(pjmedia_vid_stream *strm) 
     555static pj_status_t qt_stream_stop(pjmedia_vid_dev_stream *strm) 
    556556{ 
    557557    struct qt_stream *stream = (struct qt_stream*)strm; 
     
    569569 
    570570/* API: Destroy stream. */ 
    571 static pj_status_t qt_stream_destroy(pjmedia_vid_stream *strm) 
     571static pj_status_t qt_stream_destroy(pjmedia_vid_dev_stream *strm) 
    572572{ 
    573573    struct qt_stream *stream = (struct qt_stream*)strm; 
Note: See TracChangeset for help on using the changeset viewer.