Changeset 2037 for pjproject/trunk/pjmedia/include/pjmedia/port.h
- Timestamp:
- Jun 20, 2008 9:39:02 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/include/pjmedia/port.h
r1983 r2037 29 29 30 30 /** 31 @defgroup PJMEDIA_PORT_CONCEPT Media Ports Framework 32 @ingroup PJMEDIA 33 @brief Extensible framework for media terminations 34 31 @addtogroup PJMEDIA_PORT Media Ports Framework 32 @{ 33 35 34 @section media_port_intro Media Port Concepts 36 35 … … 166 165 among media ports. This concept is described in @ref PJMEDIA_PORT_CLOCK 167 166 section. 168 169 */ 170 171 172 /** 173 * @defgroup PJMEDIA_PORT_INTERFACE Media Port Interface 174 * @ingroup PJMEDIA_PORT_CONCEPT 175 * @brief Declares the media port interface. 176 */ 177 178 /** 179 * @defgroup PJMEDIA_PORT Ports 180 * @ingroup PJMEDIA_PORT_CONCEPT 181 * @brief Contains various types of media ports/terminations. 182 * @{ 183 * This page lists all types of media ports currently implemented 184 * in PJMEDIA. The media port concept is explained in @ref PJMEDIA_PORT_CONCEPT. 185 * @} 186 */ 187 188 /** 189 @defgroup PJMEDIA_PORT_CLOCK Clock/Timing 190 @ingroup PJMEDIA_PORT_CONCEPT 191 @brief Various types of classes that provide timing. 192 @{ 193 194 The media clock/timing extends the media port concept that is explained 195 in @ref PJMEDIA_PORT_CONCEPT. When clock is present in the ports 196 interconnection, media will flow automatically (and with correct timing too!) 197 from one media port to another. 198 199 There are few objects in PJMEDIA that are able to provide clock/timing 200 to media ports interconnection: 201 202 - @ref PJMED_SND_PORT\n 203 The sound device makes a good candidate as the clock source, and 204 PJMEDIA @ref PJMED_SND is designed so that it is able to invoke 205 operations according to timing driven by the sound hardware clock 206 (this may sound complicated, but actually it just means that 207 the sound device abstraction provides callbacks to be called when 208 it has/wants media frames).\n 209 See @ref PJMED_SND_PORT for more details. 210 211 - @ref PJMEDIA_MASTER_PORT\n 212 The master port uses @ref PJMEDIA_CLOCK as the clock source. By using 213 @ref PJMEDIA_MASTER_PORT, it is possible to interconnect passive 214 media ports and let the frames flow automatically in timely manner.\n 215 Please see @ref PJMEDIA_MASTER_PORT for more details. 216 217 @} 218 */ 219 220 /** 221 * @addtogroup PJMEDIA_PORT_INTERFACE 222 * @{ 223 * This page contains the media port interface declarations. The media port 224 * concept is explained in @ref PJMEDIA_PORT_CONCEPT. 225 */ 167 */ 226 168 227 169 PJ_BEGIN_DECL … … 231 173 * Port operation setting. 232 174 */ 233 enum pjmedia_port_op175 typedef enum pjmedia_port_op 234 176 { 235 177 /** … … 254 196 */ 255 197 PJMEDIA_PORT_ENABLE 256 }; 257 258 259 /** 260 * @see pjmedia_port_op 261 */ 262 typedef enum pjmedia_port_op pjmedia_port_op; 198 199 } pjmedia_port_op; 263 200 264 201 … … 297 234 * This structure describes a media frame. 298 235 */ 299 struct pjmedia_frame236 typedef struct pjmedia_frame 300 237 { 301 238 pjmedia_frame_type type; /**< Frame type. */ … … 308 245 may be used for specifying start & 309 246 end bit offset. */ 310 }; 311 312 313 /** 314 * @see pjmedia_frame 315 */ 316 typedef struct pjmedia_frame pjmedia_frame; 317 318 319 /** 320 * For future graph. 321 */ 322 typedef struct pjmedia_graph pjmedia_graph; 323 324 325 /** 326 * @see pjmedia_port 327 */ 328 typedef struct pjmedia_port pjmedia_port; 247 } pjmedia_frame; 248 329 249 330 250 /** 331 251 * Port interface. 332 252 */ 333 struct pjmedia_port253 typedef struct pjmedia_port 334 254 { 335 255 pjmedia_port_info info; /**< Port information. */ … … 347 267 * This should only be called by #pjmedia_port_put_frame(). 348 268 */ 349 pj_status_t (*put_frame)( pjmedia_port *this_port,269 pj_status_t (*put_frame)(struct pjmedia_port *this_port, 350 270 const pjmedia_frame *frame); 351 271 … … 354 274 * This should only be called by #pjmedia_port_get_frame(). 355 275 */ 356 pj_status_t (*get_frame)( pjmedia_port *this_port,276 pj_status_t (*get_frame)(struct pjmedia_port *this_port, 357 277 pjmedia_frame *frame); 358 278 … … 360 280 * Called to destroy this port. 361 281 */ 362 pj_status_t (*on_destroy)(pjmedia_port *this_port); 363 }; 282 pj_status_t (*on_destroy)(struct pjmedia_port *this_port); 283 284 } pjmedia_port; 364 285 365 286
Note: See TracChangeset
for help on using the changeset viewer.