make a way to get the jitter buffer down to the codecs

This commit is contained in:
Anthony Minessale
2012-10-18 15:29:00 -04:00
parent 50cd5c28f5
commit 986fede6b0
14 changed files with 87 additions and 16 deletions

View File

@@ -106,6 +106,7 @@
#include <signal.h>
#include <errno.h>
#include "../../../libs/stfu/stfu.h"
#include "switch_platform.h"
#include "switch_types.h"
#include "switch_apr.h"
@@ -138,9 +139,9 @@
#include "switch_pgsql.h"
#include "switch_json.h"
#include "switch_limit.h"
#include <libteletone.h>
/** \mainpage FreeSWITCH
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application

View File

@@ -741,7 +741,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_set_loglevel(switch_core_ses
*/
SWITCH_DECLARE(switch_log_level_t) switch_core_session_get_loglevel(switch_core_session_t *session);
SWITCH_DECLARE(stfu_instance_t *) switch_core_session_get_jb(switch_core_session_t *session, switch_media_type_t type);
SWITCH_DECLARE(void) switch_core_session_soft_lock(switch_core_session_t *session, uint32_t sec);
SWITCH_DECLARE(void) switch_core_session_soft_unlock(switch_core_session_t *session);
SWITCH_DECLARE(void) switch_core_session_set_dmachine(switch_core_session_t *session, switch_ivr_dmachine_t *dmachine, switch_digit_action_target_t target);

View File

@@ -70,6 +70,7 @@ SWITCH_BEGIN_EXTERN_C
switch_bool_t m;
/*! frame flags */
switch_frame_flag_t flags;
void *user_data;
};
SWITCH_END_EXTERN_C

View File

@@ -118,6 +118,7 @@ typedef switch_status_t (*switch_io_state_change_t) (switch_core_session_t *);
typedef switch_status_t (*switch_io_state_run_t) (switch_core_session_t *);
typedef switch_status_t (*switch_io_read_video_frame_t) (switch_core_session_t *, switch_frame_t **, switch_io_flag_t, int);
typedef switch_status_t (*switch_io_write_video_frame_t) (switch_core_session_t *, switch_frame_t *, switch_io_flag_t, int);
typedef stfu_instance_t *(*switch_io_get_jb_t) (switch_core_session_t *, switch_media_type_t);
typedef enum {
SWITCH_IO_OUTGOING_CHANNEL,
@@ -130,6 +131,7 @@ typedef enum {
SWITCH_IO_STATE_CHANGE,
SWITCH_IO_READ_VIDEO_FRAME,
SWITCH_IO_WRITE_VIDEO_FRAME,
SWITCH_IO_GET_JB,
} switch_io_routine_name_t;
/*! \brief A table of i/o routines that an endpoint interface can implement */
@@ -156,6 +158,8 @@ struct switch_io_routines {
switch_io_write_video_frame_t write_video_frame;
/*! change a sessions channel run state */
switch_io_state_run_t state_run;
/*! get sessions jitterbuffer */
switch_io_get_jb_t get_jb;
void *padding[10];
};
@@ -613,6 +617,7 @@ struct switch_codec {
switch_payload_t agreed_pt;
switch_mutex_t *mutex;
struct switch_codec *next;
switch_core_session_t *session;
};
/*! \brief A table of settings and callbacks that define a paticular implementation of a codec */

View File

@@ -240,6 +240,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_debug_jitter_buffer(switch_rtp_t *rtp
SWITCH_DECLARE(switch_status_t) switch_rtp_deactivate_jitter_buffer(switch_rtp_t *rtp_session);
SWITCH_DECLARE(switch_status_t) switch_rtp_pause_jitter_buffer(switch_rtp_t *rtp_session, switch_bool_t pause);
SWITCH_DECLARE(stfu_instance_t *) switch_rtp_get_jitter_buffer(switch_rtp_t *rtp_session);
/*!
\brief Set an RTP Flag

View File

@@ -1427,6 +1427,11 @@ typedef enum {
SWITCH_CODEC_TYPE_APP
} switch_codec_type_t;
typedef enum {
SWITCH_MEDIA_TYPE_AUDIO,
SWITCH_MEDIA_TYPE_VIDEO
} switch_media_type_t;
/*!
\enum switch_timer_flag_t