mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-08-13 17:38:59 +00:00
make a way to get the jitter buffer down to the codecs
This commit is contained in:
@@ -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
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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
|
||||
|
@@ -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 */
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user