| config.h | | config.h | |
| | | | |
| skipping to change at line 50 | | skipping to change at line 50 | |
| | | | |
| /* Define to 1 if you have the `getifaddrs' function. */ | | /* Define to 1 if you have the `getifaddrs' function. */ | |
| #define HAVE_GETIFADDRS 1 | | #define HAVE_GETIFADDRS 1 | |
| | | | |
| /* Tells wheter localisation is possible */ | | /* Tells wheter localisation is possible */ | |
| #define HAVE_GETTEXT 1 | | #define HAVE_GETTEXT 1 | |
| | | | |
| /* Define to 1 if you have the `get_current_dir_name' function. */ | | /* Define to 1 if you have the `get_current_dir_name' function. */ | |
| #define HAVE_GET_CURRENT_DIR_NAME 1 | | #define HAVE_GET_CURRENT_DIR_NAME 1 | |
| | | | |
|
| | | /* Defined when gtk osx is used */ | |
| | | /* #undef HAVE_GTK_OSX */ | |
| | | | |
| /* Define to 1 if you have the <history.h> header file. */ | | /* Define to 1 if you have the <history.h> header file. */ | |
| /* #undef HAVE_HISTORY_H */ | | /* #undef HAVE_HISTORY_H */ | |
| | | | |
| /* Define if you have the iconv() function. */ | | /* Define if you have the iconv() function. */ | |
| /* #undef HAVE_ICONV */ | | /* #undef HAVE_ICONV */ | |
| | | | |
| /* Define to 1 if you have the <inttypes.h> header file. */ | | /* Define to 1 if you have the <inttypes.h> header file. */ | |
| #define HAVE_INTTYPES_H 1 | | #define HAVE_INTTYPES_H 1 | |
| | | | |
| /* Define to 1 if you have the `eXosip2' library (-leXosip2). */ | | /* Define to 1 if you have the `eXosip2' library (-leXosip2). */ | |
| #define HAVE_LIBEXOSIP2 1 | | #define HAVE_LIBEXOSIP2 1 | |
| | | | |
|
| | | /* Define to 1 if you have the `osip2' library (-losip2). */ | |
| | | /* #undef HAVE_LIBOSIP2 */ | |
| | | | |
| | | /* Define to 1 if you have the `osipparser2' library (-losipparser2). */ | |
| | | /* #undef HAVE_LIBOSIPPARSER2 */ | |
| | | | |
| /* Define to 1 if you have the <memory.h> header file. */ | | /* Define to 1 if you have the <memory.h> header file. */ | |
| #define HAVE_MEMORY_H 1 | | #define HAVE_MEMORY_H 1 | |
| | | | |
|
| | | /* NOTIFY1 support */ | |
| | | /* #undef HAVE_NOTIFY1 */ | |
| | | | |
| | | /* NOTIFY4 support */ | |
| | | #define HAVE_NOTIFY4 1 | |
| | | | |
| /* Define to 1 if you have the <readline.h> header file. */ | | /* Define to 1 if you have the <readline.h> header file. */ | |
| /* #undef HAVE_READLINE_H */ | | /* #undef HAVE_READLINE_H */ | |
| | | | |
| /* Define to 1 if you have the <readline/history.h> header file. */ | | /* Define to 1 if you have the <readline/history.h> header file. */ | |
| #define HAVE_READLINE_HISTORY_H 1 | | #define HAVE_READLINE_HISTORY_H 1 | |
| | | | |
| /* Define to 1 if you have the <readline/readline.h> header file. */ | | /* Define to 1 if you have the <readline/readline.h> header file. */ | |
| #define HAVE_READLINE_READLINE_H 1 | | #define HAVE_READLINE_READLINE_H 1 | |
| | | | |
| /* Define if sighandler_t available */ | | /* Define if sighandler_t available */ | |
| | | | |
| skipping to change at line 108 | | skipping to change at line 123 | |
| /* Define to 1 if you have the <sys/types.h> header file. */ | | /* Define to 1 if you have the <sys/types.h> header file. */ | |
| #define HAVE_SYS_TYPES_H 1 | | #define HAVE_SYS_TYPES_H 1 | |
| | | | |
| /* Define to 1 if you have the <unistd.h> header file. */ | | /* Define to 1 if you have the <unistd.h> header file. */ | |
| #define HAVE_UNISTD_H 1 | | #define HAVE_UNISTD_H 1 | |
| | | | |
| /* Define to 1 if you have the <X11/Xlib.h> header file. */ | | /* Define to 1 if you have the <X11/Xlib.h> header file. */ | |
| #define HAVE_X11_XLIB_H 1 | | #define HAVE_X11_XLIB_H 1 | |
| | | | |
| /* All supported languages */ | | /* All supported languages */ | |
|
| #define LINPHONE_ALL_LANGS "fr it de ja es pl cs nl sv pt_BR hu ru zh_CN" | | #define LINPHONE_ALL_LANGS "fr it de ja es pl cs nl sv pt_BR hu ru zh_CN nb
_NO zh_TW" | |
| | | | |
| /* Windows appdata subdir where linphonerc can be found */ | | /* Windows appdata subdir where linphonerc can be found */ | |
| #define LINPHONE_CONFIG_DIR "Linphone" | | #define LINPHONE_CONFIG_DIR "Linphone" | |
| | | | |
| /* path of liblinphone plugins, not mediastreamer2 plugins */ | | /* path of liblinphone plugins, not mediastreamer2 plugins */ | |
|
| #define LINPHONE_PLUGINS_DIR "/home/ut/testing/linphone/3.4.3/lib/liblinpho
ne/plugins" | | #define LINPHONE_PLUGINS_DIR "/home/ut/testing/linphone/3.4.99.4/lib/liblin
phone/plugins" | |
| | | | |
| /* Linphone's version number */ | | /* Linphone's version number */ | |
|
| #define LINPHONE_VERSION "3.4.3" | | #define LINPHONE_VERSION "3.4.99.4" | |
| | | | |
| /* Define to the sub-directory in which libtool stores uninstalled librarie
s. | | /* Define to the sub-directory in which libtool stores uninstalled librarie
s. | |
| */ | | */ | |
| #define LT_OBJDIR ".libs/" | | #define LT_OBJDIR ".libs/" | |
| | | | |
| /* Define to 1 if your C compiler doesn't accept -c and -o together. */ | | /* Define to 1 if your C compiler doesn't accept -c and -o together. */ | |
| /* #undef NO_MINUS_C_MINUS_O */ | | /* #undef NO_MINUS_C_MINUS_O */ | |
| | | | |
| /* Name of package */ | | /* Name of package */ | |
| #define PACKAGE "linphone" | | #define PACKAGE "linphone" | |
| | | | |
| /* Define to the address where bug reports for this package should be sent.
*/ | | /* Define to the address where bug reports for this package should be sent.
*/ | |
| #define PACKAGE_BUGREPORT "linphone-developers@nongnu.org" | | #define PACKAGE_BUGREPORT "linphone-developers@nongnu.org" | |
| | | | |
| /* Defines the place where data are found */ | | /* Defines the place where data are found */ | |
|
| #define PACKAGE_DATA_DIR "/home/ut/testing/linphone/3.4.3/share" | | #define PACKAGE_DATA_DIR "/home/ut/testing/linphone/3.4.99.4/share" | |
| | | | |
| /* Defines the place where locales can be found */ | | /* Defines the place where locales can be found */ | |
|
| #define PACKAGE_LOCALE_DIR "/home/ut/testing/linphone/3.4.3/share/locale" | | #define PACKAGE_LOCALE_DIR "/home/ut/testing/linphone/3.4.99.4/share/locale
" | |
| | | | |
| /* Define to the full name of this package. */ | | /* Define to the full name of this package. */ | |
| #define PACKAGE_NAME "linphone" | | #define PACKAGE_NAME "linphone" | |
| | | | |
| /* Defines the place where linphone sounds are found */ | | /* Defines the place where linphone sounds are found */ | |
|
| #define PACKAGE_SOUND_DIR "/home/ut/testing/linphone/3.4.3/share/sounds/lin
phone" | | #define PACKAGE_SOUND_DIR "/home/ut/testing/linphone/3.4.99.4/share/sounds/
linphone" | |
| | | | |
| /* Define to the full name and version of this package. */ | | /* Define to the full name and version of this package. */ | |
|
| #define PACKAGE_STRING "linphone 3.4.3" | | #define PACKAGE_STRING "linphone 3.4.99.4" | |
| | | | |
| /* Define to the one symbol short name of this package. */ | | /* Define to the one symbol short name of this package. */ | |
| #define PACKAGE_TARNAME "linphone" | | #define PACKAGE_TARNAME "linphone" | |
| | | | |
| /* Define to the home page for this package. */ | | /* Define to the home page for this package. */ | |
| #define PACKAGE_URL "" | | #define PACKAGE_URL "" | |
| | | | |
| /* Define to the version of this package. */ | | /* Define to the version of this package. */ | |
|
| #define PACKAGE_VERSION "3.4.3" | | #define PACKAGE_VERSION "3.4.99.4" | |
| | | | |
| /* Define to 1 if you have the ANSI C header files. */ | | /* Define to 1 if you have the ANSI C header files. */ | |
| #define STDC_HEADERS 1 | | #define STDC_HEADERS 1 | |
| | | | |
| /* Tell whether date_version.h must be used */ | | /* Tell whether date_version.h must be used */ | |
| /* #undef USE_BUILDDATE_VERSION */ | | /* #undef USE_BUILDDATE_VERSION */ | |
| | | | |
| /* Version number of package */ | | /* Version number of package */ | |
|
| #define VERSION "3.4.3" | | #define VERSION "3.4.99.4" | |
| | | | |
| /* defined if video support is available */ | | /* defined if video support is available */ | |
| #define VIDEO_ENABLED 1 | | #define VIDEO_ENABLED 1 | |
| | | | |
| /* Tell whether RSVP support should be compiled. */ | | /* Tell whether RSVP support should be compiled. */ | |
| /* #undef VINCENT_MAURY_RSVP */ | | /* #undef VINCENT_MAURY_RSVP */ | |
| | | | |
| /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most | | /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most | |
| significant byte first (like Motorola and SPARC, unlike Intel). */ | | significant byte first (like Motorola and SPARC, unlike Intel). */ | |
| #if defined AC_APPLE_UNIVERSAL_BUILD | | #if defined AC_APPLE_UNIVERSAL_BUILD | |
| | | | |
End of changes. 12 change blocks. |
| 9 lines changed or deleted | | 24 lines changed or added | |
|
| linphonecore.h | | linphonecore.h | |
| | | | |
| skipping to change at line 153 | | skipping to change at line 153 | |
| LinphoneCallDir dir; /**< The direction of the call*/ | | LinphoneCallDir dir; /**< The direction of the call*/ | |
| LinphoneCallStatus status; /**< The status of the call*/ | | LinphoneCallStatus status; /**< The status of the call*/ | |
| LinphoneAddress *from; /**<Originator of the call as a LinphoneAddre
ss object*/ | | LinphoneAddress *from; /**<Originator of the call as a LinphoneAddre
ss object*/ | |
| LinphoneAddress *to; /**<Destination of the call as a LinphoneAddres
s object*/ | | LinphoneAddress *to; /**<Destination of the call as a LinphoneAddres
s object*/ | |
| char start_date[128]; /**<Human readable string containg the start d
ate*/ | | char start_date[128]; /**<Human readable string containg the start d
ate*/ | |
| int duration; /**<Duration of the call in seconds*/ | | int duration; /**<Duration of the call in seconds*/ | |
| char *refkey; | | char *refkey; | |
| void *user_pointer; | | void *user_pointer; | |
| rtp_stats_t local_stats; | | rtp_stats_t local_stats; | |
| rtp_stats_t remote_stats; | | rtp_stats_t remote_stats; | |
|
| | | float quality; | |
| struct _LinphoneCore *lc; | | struct _LinphoneCore *lc; | |
| } LinphoneCallLog; | | } LinphoneCallLog; | |
| | | | |
| /*public: */ | | /*public: */ | |
| void linphone_call_log_set_user_pointer(LinphoneCallLog *cl, void *up); | | void linphone_call_log_set_user_pointer(LinphoneCallLog *cl, void *up); | |
| void *linphone_call_log_get_user_pointer(const LinphoneCallLog *cl); | | void *linphone_call_log_get_user_pointer(const LinphoneCallLog *cl); | |
| void linphone_call_log_set_ref_key(LinphoneCallLog *cl, const char *refkey)
; | | void linphone_call_log_set_ref_key(LinphoneCallLog *cl, const char *refkey)
; | |
| const char *linphone_call_log_get_ref_key(const LinphoneCallLog *cl); | | const char *linphone_call_log_get_ref_key(const LinphoneCallLog *cl); | |
| const rtp_stats_t *linphone_call_log_get_local_stats(const LinphoneCallLog
*cl); | | const rtp_stats_t *linphone_call_log_get_local_stats(const LinphoneCallLog
*cl); | |
| const rtp_stats_t *linphone_call_log_get_remote_stats(const LinphoneCallLog
*cl); | | const rtp_stats_t *linphone_call_log_get_remote_stats(const LinphoneCallLog
*cl); | |
| | | | |
| skipping to change at line 178 | | skipping to change at line 179 | |
| * dynamically. | | * dynamically. | |
| **/ | | **/ | |
| struct _LinphoneCallParams; | | struct _LinphoneCallParams; | |
| typedef struct _LinphoneCallParams LinphoneCallParams; | | typedef struct _LinphoneCallParams LinphoneCallParams; | |
| | | | |
| LinphoneCallParams * linphone_call_params_copy(const LinphoneCallParams *cp
); | | LinphoneCallParams * linphone_call_params_copy(const LinphoneCallParams *cp
); | |
| void linphone_call_params_enable_video(LinphoneCallParams *cp, bool_t enabl
ed); | | void linphone_call_params_enable_video(LinphoneCallParams *cp, bool_t enabl
ed); | |
| bool_t linphone_call_params_video_enabled(const LinphoneCallParams *cp); | | bool_t linphone_call_params_video_enabled(const LinphoneCallParams *cp); | |
| void linphone_call_params_enable_early_media_sending(LinphoneCallParams *cp
, bool_t enabled); | | void linphone_call_params_enable_early_media_sending(LinphoneCallParams *cp
, bool_t enabled); | |
| bool_t linphone_call_params_early_media_sending_enabled(const LinphoneCallP
arams *cp); | | bool_t linphone_call_params_early_media_sending_enabled(const LinphoneCallP
arams *cp); | |
|
| | | bool_t linphone_call_params_local_conference_mode(const LinphoneCallParams
*cp); | |
| void linphone_call_params_set_audio_bandwidth_limit(LinphoneCallParams *cp,
int bw); | | void linphone_call_params_set_audio_bandwidth_limit(LinphoneCallParams *cp,
int bw); | |
| void linphone_call_params_destroy(LinphoneCallParams *cp); | | void linphone_call_params_destroy(LinphoneCallParams *cp); | |
| | | | |
| /** | | /** | |
| * Enum describing failure reasons. | | * Enum describing failure reasons. | |
| * @ingroup initializing | | * @ingroup initializing | |
| **/ | | **/ | |
| enum _LinphoneReason{ | | enum _LinphoneReason{ | |
| LinphoneReasonNone, | | LinphoneReasonNone, | |
| LinphoneReasonNoResponse, /**<No response received from remote*/ | | LinphoneReasonNoResponse, /**<No response received from remote*/ | |
| | | | |
| skipping to change at line 231 | | skipping to change at line 233 | |
| LinphoneCallEnd, /**<The call ended normally*/ | | LinphoneCallEnd, /**<The call ended normally*/ | |
| LinphoneCallPausedByRemote, /**<The call is paused by remote end*/ | | LinphoneCallPausedByRemote, /**<The call is paused by remote end*/ | |
| LinphoneCallUpdatedByRemote, /**<The call's parameters are updated,
used for example when video is asked by remote */ | | LinphoneCallUpdatedByRemote, /**<The call's parameters are updated,
used for example when video is asked by remote */ | |
| LinphoneCallIncomingEarlyMedia, /**<We are proposing early media to
an incoming call */ | | LinphoneCallIncomingEarlyMedia, /**<We are proposing early media to
an incoming call */ | |
| LinphoneCallUpdated, /**<The remote accepted the call update initiat
ed by us */ | | LinphoneCallUpdated, /**<The remote accepted the call update initiat
ed by us */ | |
| LinphoneCallReleased /**< The call object is no more retained by the
core */ | | LinphoneCallReleased /**< The call object is no more retained by the
core */ | |
| } LinphoneCallState; | | } LinphoneCallState; | |
| | | | |
| const char *linphone_call_state_to_string(LinphoneCallState cs); | | const char *linphone_call_state_to_string(LinphoneCallState cs); | |
| | | | |
|
| | | LinphoneCore *linphone_call_get_core(const LinphoneCall *call); | |
| LinphoneCallState linphone_call_get_state(const LinphoneCall *call); | | LinphoneCallState linphone_call_get_state(const LinphoneCall *call); | |
| bool_t linphone_call_asked_to_autoanswer(LinphoneCall *call); | | bool_t linphone_call_asked_to_autoanswer(LinphoneCall *call); | |
| const LinphoneAddress * linphone_core_get_current_call_remote_address(struc
t _LinphoneCore *lc); | | const LinphoneAddress * linphone_core_get_current_call_remote_address(struc
t _LinphoneCore *lc); | |
| const LinphoneAddress * linphone_call_get_remote_address(const LinphoneCall
*call); | | const LinphoneAddress * linphone_call_get_remote_address(const LinphoneCall
*call); | |
| char *linphone_call_get_remote_address_as_string(const LinphoneCall *call); | | char *linphone_call_get_remote_address_as_string(const LinphoneCall *call); | |
| LinphoneCallDir linphone_call_get_dir(const LinphoneCall *call); | | LinphoneCallDir linphone_call_get_dir(const LinphoneCall *call); | |
|
| void linphone_call_ref(LinphoneCall *call); | | LinphoneCall * linphone_call_ref(LinphoneCall *call); | |
| void linphone_call_unref(LinphoneCall *call); | | void linphone_call_unref(LinphoneCall *call); | |
| LinphoneCallLog *linphone_call_get_call_log(const LinphoneCall *call); | | LinphoneCallLog *linphone_call_get_call_log(const LinphoneCall *call); | |
| const char *linphone_call_get_refer_to(const LinphoneCall *call); | | const char *linphone_call_get_refer_to(const LinphoneCall *call); | |
| bool_t linphone_call_has_transfer_pending(const LinphoneCall *call); | | bool_t linphone_call_has_transfer_pending(const LinphoneCall *call); | |
| LinphoneCall *linphone_call_get_replaced_call(LinphoneCall *call); | | LinphoneCall *linphone_call_get_replaced_call(LinphoneCall *call); | |
| int linphone_call_get_duration(const LinphoneCall *call); | | int linphone_call_get_duration(const LinphoneCall *call); | |
| const LinphoneCallParams * linphone_call_get_current_params(const LinphoneC
all *call); | | const LinphoneCallParams * linphone_call_get_current_params(const LinphoneC
all *call); | |
| void linphone_call_enable_camera(LinphoneCall *lc, bool_t enabled); | | void linphone_call_enable_camera(LinphoneCall *lc, bool_t enabled); | |
| bool_t linphone_call_camera_enabled(const LinphoneCall *lc); | | bool_t linphone_call_camera_enabled(const LinphoneCall *lc); | |
| int linphone_call_take_video_snapshot(LinphoneCall *call, const char *file)
; | | int linphone_call_take_video_snapshot(LinphoneCall *call, const char *file)
; | |
| LinphoneReason linphone_call_get_reason(const LinphoneCall *call); | | LinphoneReason linphone_call_get_reason(const LinphoneCall *call); | |
| const char *linphone_call_get_remote_user_agent(LinphoneCall *call); | | const char *linphone_call_get_remote_user_agent(LinphoneCall *call); | |
| float linphone_call_get_play_volume(LinphoneCall *call); | | float linphone_call_get_play_volume(LinphoneCall *call); | |
| float linphone_call_get_record_volume(LinphoneCall *call); | | float linphone_call_get_record_volume(LinphoneCall *call); | |
|
| | | float linphone_call_get_current_quality(LinphoneCall *call); | |
| | | float linphone_call_get_average_quality(LinphoneCall *call); | |
| void *linphone_call_get_user_pointer(LinphoneCall *call); | | void *linphone_call_get_user_pointer(LinphoneCall *call); | |
| void linphone_call_set_user_pointer(LinphoneCall *call, void *user_pointer)
; | | void linphone_call_set_user_pointer(LinphoneCall *call, void *user_pointer)
; | |
| /** | | /** | |
| * Enables or disable echo cancellation for this call | | * Enables or disable echo cancellation for this call | |
| * @param call | | * @param call | |
| * @param val | | * @param val | |
| * | | * | |
| * @ingroup media_parameters | | * @ingroup media_parameters | |
| **/ | | **/ | |
| void linphone_call_enable_echo_cancellation(LinphoneCall *call, bool_t val)
; | | void linphone_call_enable_echo_cancellation(LinphoneCall *call, bool_t val)
; | |
| | | | |
| skipping to change at line 361 | | skipping to change at line 366 | |
| LinphoneRegistrationState linphone_proxy_config_get_state(const LinphonePro
xyConfig *obj); | | LinphoneRegistrationState linphone_proxy_config_get_state(const LinphonePro
xyConfig *obj); | |
| bool_t linphone_proxy_config_is_registered(const LinphoneProxyConfig *obj); | | bool_t linphone_proxy_config_is_registered(const LinphoneProxyConfig *obj); | |
| const char *linphone_proxy_config_get_domain(const LinphoneProxyConfig *cfg
); | | const char *linphone_proxy_config_get_domain(const LinphoneProxyConfig *cfg
); | |
| | | | |
| const char *linphone_proxy_config_get_route(const LinphoneProxyConfig *obj)
; | | const char *linphone_proxy_config_get_route(const LinphoneProxyConfig *obj)
; | |
| const char *linphone_proxy_config_get_identity(const LinphoneProxyConfig *o
bj); | | const char *linphone_proxy_config_get_identity(const LinphoneProxyConfig *o
bj); | |
| bool_t linphone_proxy_config_publish_enabled(const LinphoneProxyConfig *obj
); | | bool_t linphone_proxy_config_publish_enabled(const LinphoneProxyConfig *obj
); | |
| const char *linphone_proxy_config_get_addr(const LinphoneProxyConfig *obj); | | const char *linphone_proxy_config_get_addr(const LinphoneProxyConfig *obj); | |
| int linphone_proxy_config_get_expires(const LinphoneProxyConfig *obj); | | int linphone_proxy_config_get_expires(const LinphoneProxyConfig *obj); | |
| bool_t linphone_proxy_config_register_enabled(const LinphoneProxyConfig *ob
j); | | bool_t linphone_proxy_config_register_enabled(const LinphoneProxyConfig *ob
j); | |
|
| | | void linphone_proxy_config_refresh_register(LinphoneProxyConfig *obj); | |
| struct _LinphoneCore * linphone_proxy_config_get_core(const LinphoneProxyCo
nfig *obj); | | struct _LinphoneCore * linphone_proxy_config_get_core(const LinphoneProxyCo
nfig *obj); | |
| | | | |
| bool_t linphone_proxy_config_get_dial_escape_plus(const LinphoneProxyConfig
*cfg); | | bool_t linphone_proxy_config_get_dial_escape_plus(const LinphoneProxyConfig
*cfg); | |
| const char * linphone_proxy_config_get_dial_prefix(const LinphoneProxyConfi
g *cfg); | | const char * linphone_proxy_config_get_dial_prefix(const LinphoneProxyConfi
g *cfg); | |
| | | | |
| LinphoneReason linphone_proxy_config_get_error(const LinphoneProxyConfig *c
fg); | | LinphoneReason linphone_proxy_config_get_error(const LinphoneProxyConfig *c
fg); | |
| | | | |
| /* destruction is called automatically when removing the proxy config */ | | /* destruction is called automatically when removing the proxy config */ | |
| void linphone_proxy_config_destroy(LinphoneProxyConfig *cfg); | | void linphone_proxy_config_destroy(LinphoneProxyConfig *cfg); | |
| void linphone_proxy_config_set_sip_setup(LinphoneProxyConfig *cfg, const ch
ar *type); | | void linphone_proxy_config_set_sip_setup(LinphoneProxyConfig *cfg, const ch
ar *type); | |
| | | | |
| skipping to change at line 516 | | skipping to change at line 522 | |
| LinphoneGlobalOn, | | LinphoneGlobalOn, | |
| LinphoneGlobalShutdown | | LinphoneGlobalShutdown | |
| }LinphoneGlobalState; | | }LinphoneGlobalState; | |
| | | | |
| const char *linphone_global_state_to_string(LinphoneGlobalState gs); | | const char *linphone_global_state_to_string(LinphoneGlobalState gs); | |
| | | | |
| /**Call state notification callback prototype*/ | | /**Call state notification callback prototype*/ | |
| typedef void (*LinphoneGlobalStateCb)(struct _LinphoneCore *lc, LinphoneGlo
balState gstate, const char *message); | | typedef void (*LinphoneGlobalStateCb)(struct _LinphoneCore *lc, LinphoneGlo
balState gstate, const char *message); | |
| /**Call state notification callback prototype*/ | | /**Call state notification callback prototype*/ | |
| typedef void (*LinphoneCallStateCb)(struct _LinphoneCore *lc, LinphoneCall
*call, LinphoneCallState cstate, const char *message); | | typedef void (*LinphoneCallStateCb)(struct _LinphoneCore *lc, LinphoneCall
*call, LinphoneCallState cstate, const char *message); | |
|
| | | /**Call encryption changed callback prototype*/ | |
| | | typedef void (*CallEncryptionChangedCb)(struct _LinphoneCore *lc, LinphoneC | |
| | | all *call, bool_t on, const char *authentication_token); | |
| | | | |
| /** @ingroup Proxies | | /** @ingroup Proxies | |
| * Registration state notification callback prototype | | * Registration state notification callback prototype | |
| * */ | | * */ | |
| typedef void (*LinphoneRegistrationStateCb)(struct _LinphoneCore *lc, Linph
oneProxyConfig *cfg, LinphoneRegistrationState cstate, const char *message)
; | | typedef void (*LinphoneRegistrationStateCb)(struct _LinphoneCore *lc, Linph
oneProxyConfig *cfg, LinphoneRegistrationState cstate, const char *message)
; | |
| /** Callback prototype */ | | /** Callback prototype */ | |
| typedef void (*ShowInterfaceCb)(struct _LinphoneCore *lc); | | typedef void (*ShowInterfaceCb)(struct _LinphoneCore *lc); | |
| /** Callback prototype */ | | /** Callback prototype */ | |
| typedef void (*DisplayStatusCb)(struct _LinphoneCore *lc, const char *messa
ge); | | typedef void (*DisplayStatusCb)(struct _LinphoneCore *lc, const char *messa
ge); | |
| /** Callback prototype */ | | /** Callback prototype */ | |
| typedef void (*DisplayMessageCb)(struct _LinphoneCore *lc, const char *mess
age); | | typedef void (*DisplayMessageCb)(struct _LinphoneCore *lc, const char *mess
age); | |
| | | | |
| skipping to change at line 589 | | skipping to change at line 598 | |
| TextMessageReceived text_received; /**< A text message has been rece
ived */ | | TextMessageReceived text_received; /**< A text message has been rece
ived */ | |
| DtmfReceived dtmf_received; /**< A dtmf has been received received *
/ | | DtmfReceived dtmf_received; /**< A dtmf has been received received *
/ | |
| ReferReceived refer_received; /**< An out of call refer was received
*/ | | ReferReceived refer_received; /**< An out of call refer was received
*/ | |
| BuddyInfoUpdated buddy_info_updated; /**< a LinphoneFriend's BuddyIn
fo has changed*/ | | BuddyInfoUpdated buddy_info_updated; /**< a LinphoneFriend's BuddyIn
fo has changed*/ | |
| NotifyReceivedCb notify_recv; /**< Other notifications*/ | | NotifyReceivedCb notify_recv; /**< Other notifications*/ | |
| DisplayStatusCb display_status; /**< Callback that notifies various
events with human readable text.*/ | | DisplayStatusCb display_status; /**< Callback that notifies various
events with human readable text.*/ | |
| DisplayMessageCb display_message;/**< Callback to display a message
to the user */ | | DisplayMessageCb display_message;/**< Callback to display a message
to the user */ | |
| DisplayMessageCb display_warning;/** Callback to display a warning t
o the user */ | | DisplayMessageCb display_warning;/** Callback to display a warning t
o the user */ | |
| DisplayUrlCb display_url; | | DisplayUrlCb display_url; | |
| ShowInterfaceCb show; /**< Notifies the application that it should s
how up*/ | | ShowInterfaceCb show; /**< Notifies the application that it should s
how up*/ | |
|
| | | CallEncryptionChangedCb call_encryption_changed; /**<Notifies on cha
nge in the encryption of call streams */ | |
| } LinphoneCoreVTable; | | } LinphoneCoreVTable; | |
| | | | |
| /** | | /** | |
| * @} | | * @} | |
| **/ | | **/ | |
| | | | |
| typedef struct _LCCallbackObj | | typedef struct _LCCallbackObj | |
| { | | { | |
| LinphoneCoreCbFunc _func; | | LinphoneCoreCbFunc _func; | |
| void * _user_data; | | void * _user_data; | |
| | | | |
| skipping to change at line 653 | | skipping to change at line 663 | |
| bool_t linphone_core_inc_invite_pending(LinphoneCore*lc); | | bool_t linphone_core_inc_invite_pending(LinphoneCore*lc); | |
| | | | |
| bool_t linphone_core_in_call(const LinphoneCore *lc); | | bool_t linphone_core_in_call(const LinphoneCore *lc); | |
| | | | |
| LinphoneCall *linphone_core_get_current_call(const LinphoneCore *lc); | | LinphoneCall *linphone_core_get_current_call(const LinphoneCore *lc); | |
| | | | |
| int linphone_core_accept_call(LinphoneCore *lc, LinphoneCall *call); | | int linphone_core_accept_call(LinphoneCore *lc, LinphoneCall *call); | |
| | | | |
| int linphone_core_terminate_call(LinphoneCore *lc, LinphoneCall *call); | | int linphone_core_terminate_call(LinphoneCore *lc, LinphoneCall *call); | |
| | | | |
|
| | | int linphone_core_redirect_call(LinphoneCore *lc, LinphoneCall *call, const | |
| | | char *redirect_uri); | |
| | | | |
| int linphone_core_terminate_all_calls(LinphoneCore *lc); | | int linphone_core_terminate_all_calls(LinphoneCore *lc); | |
| | | | |
| int linphone_core_pause_call(LinphoneCore *lc, LinphoneCall *call); | | int linphone_core_pause_call(LinphoneCore *lc, LinphoneCall *call); | |
| | | | |
| int linphone_core_pause_all_calls(LinphoneCore *lc); | | int linphone_core_pause_all_calls(LinphoneCore *lc); | |
| | | | |
| int linphone_core_resume_call(LinphoneCore *lc, LinphoneCall *call); | | int linphone_core_resume_call(LinphoneCore *lc, LinphoneCall *call); | |
| | | | |
| int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const L
inphoneCallParams *params); | | int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const L
inphoneCallParams *params); | |
| | | | |
| | | | |
| skipping to change at line 689 | | skipping to change at line 701 | |
| void linphone_core_enable_ipv6(LinphoneCore *lc, bool_t val); | | void linphone_core_enable_ipv6(LinphoneCore *lc, bool_t val); | |
| | | | |
| LinphoneAddress *linphone_core_get_primary_contact_parsed(LinphoneCore *lc)
; | | LinphoneAddress *linphone_core_get_primary_contact_parsed(LinphoneCore *lc)
; | |
| const char * linphone_core_get_identity(LinphoneCore *lc); | | const char * linphone_core_get_identity(LinphoneCore *lc); | |
| /*0= no bandwidth limit*/ | | /*0= no bandwidth limit*/ | |
| void linphone_core_set_download_bandwidth(LinphoneCore *lc, int bw); | | void linphone_core_set_download_bandwidth(LinphoneCore *lc, int bw); | |
| void linphone_core_set_upload_bandwidth(LinphoneCore *lc, int bw); | | void linphone_core_set_upload_bandwidth(LinphoneCore *lc, int bw); | |
| | | | |
| int linphone_core_get_download_bandwidth(const LinphoneCore *lc); | | int linphone_core_get_download_bandwidth(const LinphoneCore *lc); | |
| int linphone_core_get_upload_bandwidth(const LinphoneCore *lc); | | int linphone_core_get_upload_bandwidth(const LinphoneCore *lc); | |
|
| | | | |
| | | void linphone_core_enable_adaptive_rate_control(LinphoneCore *lc, bool_t en | |
| | | abled); | |
| | | bool_t linphone_core_adaptive_rate_control_enabled(const LinphoneCore *lc); | |
| /** | | /** | |
|
| * set audio packetization time linphone expect to received from peer | | * set audio packetization time linphone expect to receive from peer | |
| * @ingroup media_parameters | | * @ingroup media_parameters | |
| * | | * | |
| */ | | */ | |
| void linphone_core_set_download_ptime(LinphoneCore *lc, int ptime); | | void linphone_core_set_download_ptime(LinphoneCore *lc, int ptime); | |
| /** | | /** | |
|
| * get audio packetization time linphone expect to received from peer, 0 me
ans unspecified | | * get audio packetization time linphone expect to receive from peer, 0 mea
ns unspecified | |
| * @ingroup media_parameters | | * @ingroup media_parameters | |
| */ | | */ | |
| int linphone_core_get_download_ptime(LinphoneCore *lc); | | int linphone_core_get_download_ptime(LinphoneCore *lc); | |
| | | | |
|
| | | void linphone_core_set_upload_ptime(LinphoneCore *lc, int ptime); | |
| | | | |
| | | int linphone_core_get_upload_ptime(LinphoneCore *lc); | |
| | | | |
| /* returns a MSList of PayloadType */ | | /* returns a MSList of PayloadType */ | |
| const MSList *linphone_core_get_audio_codecs(const LinphoneCore *lc); | | const MSList *linphone_core_get_audio_codecs(const LinphoneCore *lc); | |
| | | | |
| int linphone_core_set_audio_codecs(LinphoneCore *lc, MSList *codecs); | | int linphone_core_set_audio_codecs(LinphoneCore *lc, MSList *codecs); | |
| /* returns a MSList of PayloadType */ | | /* returns a MSList of PayloadType */ | |
| const MSList *linphone_core_get_video_codecs(const LinphoneCore *lc); | | const MSList *linphone_core_get_video_codecs(const LinphoneCore *lc); | |
| | | | |
| int linphone_core_set_video_codecs(LinphoneCore *lc, MSList *codecs); | | int linphone_core_set_video_codecs(LinphoneCore *lc, MSList *codecs); | |
| | | | |
| bool_t linphone_core_payload_type_enabled(LinphoneCore *lc, PayloadType *pt
); | | bool_t linphone_core_payload_type_enabled(LinphoneCore *lc, PayloadType *pt
); | |
| | | | |
| skipping to change at line 777 | | skipping to change at line 796 | |
| | | | |
| bool_t linphone_core_get_use_rfc2833_for_dtmf(LinphoneCore *lc); | | bool_t linphone_core_get_use_rfc2833_for_dtmf(LinphoneCore *lc); | |
| | | | |
| void linphone_core_set_sip_port(LinphoneCore *lc, int port); | | void linphone_core_set_sip_port(LinphoneCore *lc, int port); | |
| | | | |
| int linphone_core_get_sip_port(LinphoneCore *lc); | | int linphone_core_get_sip_port(LinphoneCore *lc); | |
| | | | |
| int linphone_core_set_sip_transports(LinphoneCore *lc, const LCSipTransport
s *transports); | | int linphone_core_set_sip_transports(LinphoneCore *lc, const LCSipTransport
s *transports); | |
| | | | |
| int linphone_core_get_sip_transports(LinphoneCore *lc, LCSipTransports *tra
nsports); | | int linphone_core_get_sip_transports(LinphoneCore *lc, LCSipTransports *tra
nsports); | |
|
| | | /** | |
| | | * @ingroup IOS | |
| | | * Give access to the UDP sip socket. Can be useful to configure this socke | |
| | | t as persistent I.E kCFStreamNetworkServiceType set to kCFStreamNetworkServ | |
| | | iceTypeVoIP) | |
| | | * @param lc #LinphoneCore | |
| | | * @return socket file descriptor | |
| | | */ | |
| ortp_socket_t linphone_core_get_sip_socket(LinphoneCore *lc); | | ortp_socket_t linphone_core_get_sip_socket(LinphoneCore *lc); | |
| | | | |
| void linphone_core_set_inc_timeout(LinphoneCore *lc, int seconds); | | void linphone_core_set_inc_timeout(LinphoneCore *lc, int seconds); | |
| | | | |
| int linphone_core_get_inc_timeout(LinphoneCore *lc); | | int linphone_core_get_inc_timeout(LinphoneCore *lc); | |
| | | | |
| void linphone_core_set_stun_server(LinphoneCore *lc, const char *server); | | void linphone_core_set_stun_server(LinphoneCore *lc, const char *server); | |
| | | | |
| const char * linphone_core_get_stun_server(const LinphoneCore *lc); | | const char * linphone_core_get_stun_server(const LinphoneCore *lc); | |
| | | | |
| | | | |
| skipping to change at line 825 | | skipping to change at line 849 | |
| const char * linphone_core_get_ringer_device(LinphoneCore *lc); | | const char * linphone_core_get_ringer_device(LinphoneCore *lc); | |
| const char * linphone_core_get_playback_device(LinphoneCore *lc); | | const char * linphone_core_get_playback_device(LinphoneCore *lc); | |
| const char * linphone_core_get_capture_device(LinphoneCore *lc); | | const char * linphone_core_get_capture_device(LinphoneCore *lc); | |
| int linphone_core_set_ringer_device(LinphoneCore *lc, const char * devid); | | int linphone_core_set_ringer_device(LinphoneCore *lc, const char * devid); | |
| int linphone_core_set_playback_device(LinphoneCore *lc, const char * devid)
; | | int linphone_core_set_playback_device(LinphoneCore *lc, const char * devid)
; | |
| int linphone_core_set_capture_device(LinphoneCore *lc, const char * devid); | | int linphone_core_set_capture_device(LinphoneCore *lc, const char * devid); | |
| char linphone_core_get_sound_source(LinphoneCore *lc); | | char linphone_core_get_sound_source(LinphoneCore *lc); | |
| void linphone_core_set_sound_source(LinphoneCore *lc, char source); | | void linphone_core_set_sound_source(LinphoneCore *lc, char source); | |
| void linphone_core_set_ring(LinphoneCore *lc, const char *path); | | void linphone_core_set_ring(LinphoneCore *lc, const char *path); | |
| const char *linphone_core_get_ring(const LinphoneCore *lc); | | const char *linphone_core_get_ring(const LinphoneCore *lc); | |
|
| | | void linphone_core_set_root_ca(LinphoneCore *lc, const char *path); | |
| void linphone_core_set_ringback(LinphoneCore *lc, const char *path); | | void linphone_core_set_ringback(LinphoneCore *lc, const char *path); | |
| const char * linphone_core_get_ringback(const LinphoneCore *lc); | | const char * linphone_core_get_ringback(const LinphoneCore *lc); | |
| | | | |
| void linphone_core_set_remote_ringback_tone(LinphoneCore *lc,const char *); | | void linphone_core_set_remote_ringback_tone(LinphoneCore *lc,const char *); | |
| const char *linphone_core_get_remote_ringback_tone(const LinphoneCore *lc); | | const char *linphone_core_get_remote_ringback_tone(const LinphoneCore *lc); | |
| | | | |
| int linphone_core_preview_ring(LinphoneCore *lc, const char *ring,LinphoneC
oreCbFunc func,void * userdata); | | int linphone_core_preview_ring(LinphoneCore *lc, const char *ring,LinphoneC
oreCbFunc func,void * userdata); | |
| void linphone_core_enable_echo_cancellation(LinphoneCore *lc, bool_t val); | | void linphone_core_enable_echo_cancellation(LinphoneCore *lc, bool_t val); | |
| bool_t linphone_core_echo_cancellation_enabled(LinphoneCore *lc); | | bool_t linphone_core_echo_cancellation_enabled(LinphoneCore *lc); | |
| | | | |
| | | | |
| skipping to change at line 899 | | skipping to change at line 924 | |
| float linphone_core_get_static_picture_fps(LinphoneCore *lc); | | float linphone_core_get_static_picture_fps(LinphoneCore *lc); | |
| | | | |
| /*function to be used for eventually setting window decorations (icons, tit
le...)*/ | | /*function to be used for eventually setting window decorations (icons, tit
le...)*/ | |
| unsigned long linphone_core_get_native_video_window_id(const LinphoneCore *
lc); | | unsigned long linphone_core_get_native_video_window_id(const LinphoneCore *
lc); | |
| void linphone_core_set_native_video_window_id(LinphoneCore *lc, unsigned lo
ng id); | | void linphone_core_set_native_video_window_id(LinphoneCore *lc, unsigned lo
ng id); | |
| | | | |
| unsigned long linphone_core_get_native_preview_window_id(const LinphoneCore
*lc); | | unsigned long linphone_core_get_native_preview_window_id(const LinphoneCore
*lc); | |
| void linphone_core_set_native_preview_window_id(LinphoneCore *lc, unsigned
long id); | | void linphone_core_set_native_preview_window_id(LinphoneCore *lc, unsigned
long id); | |
| | | | |
| void linphone_core_use_preview_window(LinphoneCore *lc, bool_t yesno); | | void linphone_core_use_preview_window(LinphoneCore *lc, bool_t yesno); | |
|
| | | void linphone_core_set_device_rotation(LinphoneCore *lc, int rotation); | |
| | | | |
| /*play/record support: use files instead of soundcard*/ | | /*play/record support: use files instead of soundcard*/ | |
| void linphone_core_use_files(LinphoneCore *lc, bool_t yesno); | | void linphone_core_use_files(LinphoneCore *lc, bool_t yesno); | |
| void linphone_core_set_play_file(LinphoneCore *lc, const char *file); | | void linphone_core_set_play_file(LinphoneCore *lc, const char *file); | |
| void linphone_core_set_record_file(LinphoneCore *lc, const char *file); | | void linphone_core_set_record_file(LinphoneCore *lc, const char *file); | |
| | | | |
| void linphone_core_play_dtmf(LinphoneCore *lc, char dtmf, int duration_ms); | | void linphone_core_play_dtmf(LinphoneCore *lc, char dtmf, int duration_ms); | |
| void linphone_core_stop_dtmf(LinphoneCore *lc); | | void linphone_core_stop_dtmf(LinphoneCore *lc); | |
| | | | |
| int linphone_core_get_current_call_duration(const LinphoneCore *lc); | | int linphone_core_get_current_call_duration(const LinphoneCore *lc); | |
| | | | |
| int linphone_core_get_mtu(const LinphoneCore *lc); | | int linphone_core_get_mtu(const LinphoneCore *lc); | |
| void linphone_core_set_mtu(LinphoneCore *lc, int mtu); | | void linphone_core_set_mtu(LinphoneCore *lc, int mtu); | |
| | | | |
| /** | | /** | |
|
| | | * @ingroup network_parameters | |
| * This method is called by the application to notify the linphone core lib
rary when network is reachable. | | * This method is called by the application to notify the linphone core lib
rary when network is reachable. | |
| * Calling this method with true trigger linphone to initiate a registratio
n process for all proxy | | * Calling this method with true trigger linphone to initiate a registratio
n process for all proxy | |
| * configuration with parameter register set to enable. | | * configuration with parameter register set to enable. | |
| * This method disable the automatic registration mode. It means you must c
all this method after each network state changes | | * This method disable the automatic registration mode. It means you must c
all this method after each network state changes | |
| * | | * | |
| */ | | */ | |
| void linphone_core_set_network_reachable(LinphoneCore* lc,bool_t value); | | void linphone_core_set_network_reachable(LinphoneCore* lc,bool_t value); | |
| /** | | /** | |
|
| | | * @ingroup network_parameters | |
| * return network state either as positioned by the application or by linph
one | | * return network state either as positioned by the application or by linph
one | |
| */ | | */ | |
| bool_t linphone_core_is_network_reachabled(LinphoneCore* lc); | | bool_t linphone_core_is_network_reachabled(LinphoneCore* lc); | |
| | | | |
| /** | | /** | |
|
| | | * @ingroup network_parameters | |
| * enable signaling keep alive. small udp packet sent periodically to keep
udp NAT association | | * enable signaling keep alive. small udp packet sent periodically to keep
udp NAT association | |
| */ | | */ | |
| void linphone_core_enable_keep_alive(LinphoneCore* lc,bool_t enable); | | void linphone_core_enable_keep_alive(LinphoneCore* lc,bool_t enable); | |
| /** | | /** | |
|
| | | * @ingroup network_parameters | |
| * Is signaling keep alive | | * Is signaling keep alive | |
| */ | | */ | |
| bool_t linphone_core_keep_alive_enabled(LinphoneCore* lc); | | bool_t linphone_core_keep_alive_enabled(LinphoneCore* lc); | |
| | | | |
| void *linphone_core_get_user_data(LinphoneCore *lc); | | void *linphone_core_get_user_data(LinphoneCore *lc); | |
| | | | |
| /* returns LpConfig object to read/write to the config file: usefull if you
wish to extend | | /* returns LpConfig object to read/write to the config file: usefull if you
wish to extend | |
| the config file with your own sections */ | | the config file with your own sections */ | |
| struct _LpConfig *linphone_core_get_config(LinphoneCore *lc); | | struct _LpConfig *linphone_core_get_config(LinphoneCore *lc); | |
| | | | |
|
| /* attempts to wake up another linphone engine already running. | | | |
| The "show" callback is called for the other linphone, causing gui to show u | | | |
| p. | | | |
| call_addr is an optional sip-uri to call immediately after waking up. | | | |
| The method returns 0 if an already running linphone was found*/ | | | |
| | | | |
| int linphone_core_wake_up_possible_already_running_instance( | | | |
| const char * config_file, const char * call_addr); | | | |
| | | | |
| /*set a callback for some blocking operations, it takes you informed of the
progress of the operation*/ | | /*set a callback for some blocking operations, it takes you informed of the
progress of the operation*/ | |
| void linphone_core_set_waiting_callback(LinphoneCore *lc, LinphoneWaitingCa
llback cb, void *user_context); | | void linphone_core_set_waiting_callback(LinphoneCore *lc, LinphoneWaitingCa
llback cb, void *user_context); | |
| | | | |
| /*returns the list of registered SipSetup (linphonecore plugins) */ | | /*returns the list of registered SipSetup (linphonecore plugins) */ | |
| const MSList * linphone_core_get_sip_setups(LinphoneCore *lc); | | const MSList * linphone_core_get_sip_setups(LinphoneCore *lc); | |
| | | | |
| void linphone_core_destroy(LinphoneCore *lc); | | void linphone_core_destroy(LinphoneCore *lc); | |
| | | | |
| /*for advanced users:*/ | | /*for advanced users:*/ | |
| void linphone_core_set_audio_transports(LinphoneCore *lc, RtpTransport *rtp
, RtpTransport *rtcp); | | void linphone_core_set_audio_transports(LinphoneCore *lc, RtpTransport *rtp
, RtpTransport *rtcp); | |
|
| | | void linphone_core_set_video_transports(LinphoneCore *lc, RtpTransport *rtp
, RtpTransport *rtcp); | |
| | | | |
| int linphone_core_get_current_call_stats(LinphoneCore *lc, rtp_stats_t *loc
al, rtp_stats_t *remote); | | int linphone_core_get_current_call_stats(LinphoneCore *lc, rtp_stats_t *loc
al, rtp_stats_t *remote); | |
| | | | |
| const MSList *linphone_core_get_calls(LinphoneCore *lc); | | const MSList *linphone_core_get_calls(LinphoneCore *lc); | |
| | | | |
| LinphoneGlobalState linphone_core_get_global_state(const LinphoneCore *lc); | | LinphoneGlobalState linphone_core_get_global_state(const LinphoneCore *lc); | |
| /** | | /** | |
| * force registration refresh to be initiated upon next iterate | | * force registration refresh to be initiated upon next iterate | |
| * @ingroup proxies | | * @ingroup proxies | |
| */ | | */ | |
| void linphone_core_refresh_registers(LinphoneCore* lc); | | void linphone_core_refresh_registers(LinphoneCore* lc); | |
|
| | | | |
| | | void linphone_call_send_vfu_request(LinphoneCall *call); | |
| | | | |
| | | /* Path to the file storing secrets cache */ | |
| | | void linphone_core_set_zrtp_secrets_file(LinphoneCore *lc, const char* file | |
| | | ); | |
| | | | |
| | | bool_t linphone_call_are_all_streams_encrypted(LinphoneCall *call); | |
| | | const char* linphone_call_get_authentication_token(LinphoneCall *call); | |
| | | bool_t linphone_call_get_authentication_token_verified(LinphoneCall *call); | |
| | | | |
| | | const LinphoneCall* linphone_core_find_call_from_uri(LinphoneCore *lc, cons | |
| | | t char *uri); | |
| | | | |
| | | int linphone_core_add_to_conference(LinphoneCore *lc, LinphoneCall *call); | |
| | | int linphone_core_add_all_to_conference(LinphoneCore *lc); | |
| | | int linphone_core_remove_from_conference(LinphoneCore *lc, LinphoneCall *ca | |
| | | ll); | |
| | | bool_t linphone_core_is_in_conference(const LinphoneCore *lc); | |
| | | int linphone_core_enter_conference(LinphoneCore *lc); | |
| | | int linphone_core_leave_conference(LinphoneCore *lc); | |
| | | float linphone_core_get_conference_local_input_volume(LinphoneCore *lc); | |
| | | | |
| | | int linphone_core_terminate_conference(LinphoneCore *lc); | |
| | | int linphone_core_get_conference_size(LinphoneCore *lc); | |
| | | | |
| | | int linphone_core_get_max_calls(LinphoneCore *lc); | |
| | | bool_t linphone_core_sound_resources_locked(LinphoneCore *lc); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
|
| void linphone_call_send_vfu_request(LinphoneCall *call); | | | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 24 change blocks. |
| 15 lines changed or deleted | | 69 lines changed or added | |
|
| mediastream.h | | mediastream.h | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| GNU General Public License for more details. | | GNU General Public License for more details. | |
| | | | |
| You should have received a copy of the GNU General Public License | | You should have received a copy of the GNU General Public License | |
| along with this program; if not, write to the Free Software | | along with this program; if not, write to the Free Software | |
| Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
| */ | | */ | |
| | | | |
| #ifndef MEDIASTREAM_H | | #ifndef MEDIASTREAM_H | |
| #define MEDIASTREAM_H | | #define MEDIASTREAM_H | |
| | | | |
|
| #include "mediastreamer2/msfilter.h" | | #include <mediastreamer2/msfilter.h> | |
| #include "mediastreamer2/msticker.h" | | #include <mediastreamer2/msticker.h> | |
| #include "mediastreamer2/mssndcard.h" | | #include <mediastreamer2/mssndcard.h> | |
| #include "mediastreamer2/mswebcam.h" | | #include <mediastreamer2/mswebcam.h> | |
| #include "mediastreamer2/msvideo.h" | | #include <mediastreamer2/msvideo.h> | |
| #include "ortp/ortp.h" | | #include <mediastreamer2/bitratecontrol.h> | |
| #include "ortp/event.h" | | #include <mediastreamer2/qualityindicator.h> | |
| | | #include <ortp/ortp.h> | |
| | | #include <ortp/event.h> | |
| | | #include <ortp/zrtp.h> | |
| | | #include <ortp/ortp_srtp.h> | |
| | | | |
| | | #define PAYLOAD_TYPE_FLAG_CAN_RECV PAYLOAD_TYPE_USER_FLAG_1 | |
| | | #define PAYLOAD_TYPE_FLAG_CAN_SEND PAYLOAD_TYPE_USER_FLAG_2 | |
| | | | |
| typedef enum EchoLimiterType{ | | typedef enum EchoLimiterType{ | |
| ELInactive, | | ELInactive, | |
| ELControlMic, | | ELControlMic, | |
| ELControlFull | | ELControlFull | |
| } EchoLimiterType; | | } EchoLimiterType; | |
| | | | |
| struct _AudioStream | | struct _AudioStream | |
| { | | { | |
| MSTicker *ticker; | | MSTicker *ticker; | |
| | | | |
| skipping to change at line 57 | | skipping to change at line 64 | |
| MSFilter *dtmfgen; | | MSFilter *dtmfgen; | |
| MSFilter *dtmfgen_rtp; | | MSFilter *dtmfgen_rtp; | |
| MSFilter *ec;/*echo canceler*/ | | MSFilter *ec;/*echo canceler*/ | |
| MSFilter *volsend,*volrecv; /*MSVolumes*/ | | MSFilter *volsend,*volrecv; /*MSVolumes*/ | |
| MSFilter *read_resampler; | | MSFilter *read_resampler; | |
| MSFilter *write_resampler; | | MSFilter *write_resampler; | |
| MSFilter *equalizer; | | MSFilter *equalizer; | |
| uint64_t last_packet_count; | | uint64_t last_packet_count; | |
| time_t last_packet_time; | | time_t last_packet_time; | |
| EchoLimiterType el_type; /*use echo limiter: two MSVolume, measured
input level controlling local output level*/ | | EchoLimiterType el_type; /*use echo limiter: two MSVolume, measured
input level controlling local output level*/ | |
|
| int ec_tail_len; /*milliseconds*/ | | | |
| int ec_delay; /*milliseconds*/ | | | |
| int ec_framesize; /* number of fft points */ | | | |
| OrtpEvQueue *evq; | | OrtpEvQueue *evq; | |
|
| | | MSBitrateController *rc; | |
| | | MSQualityIndicator *qi; | |
| | | time_t start_time; | |
| bool_t play_dtmfs; | | bool_t play_dtmfs; | |
| bool_t use_gc; | | bool_t use_gc; | |
| bool_t use_agc; | | bool_t use_agc; | |
| bool_t eq_active; | | bool_t eq_active; | |
| bool_t use_ng;/*noise gate*/ | | bool_t use_ng;/*noise gate*/ | |
|
| | | bool_t use_rc; | |
| | | bool_t is_beginning; | |
| | | OrtpZrtpContext *ortpZrtpContext; | |
| | | srtp_t srtp_session; | |
| }; | | }; | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
| typedef struct _AudioStream AudioStream; | | typedef struct _AudioStream AudioStream; | |
| | | | |
| struct _RingStream | | struct _RingStream | |
| { | | { | |
| | | | |
| skipping to change at line 116 | | skipping to change at line 127 | |
| | | | |
| /* those two function do the same as audio_stream_start() but in two steps | | /* those two function do the same as audio_stream_start() but in two steps | |
| this is useful to make sure that sockets are open before sending an invite; | | this is useful to make sure that sockets are open before sending an invite; | |
| or to start to stream only after receiving an ack.*/ | | or to start to stream only after receiving an ack.*/ | |
| MS2_PUBLIC AudioStream *audio_stream_new(int locport, bool_t ipv6); | | MS2_PUBLIC AudioStream *audio_stream_new(int locport, bool_t ipv6); | |
| MS2_PUBLIC int audio_stream_start_now(AudioStream * stream, RtpProfile * pr
of, const char *remip, int remport, int rem_rtcp_port, int payload_type, i
nt jitt_comp,MSSndCard *playcard, MSSndCard *captcard, bool_t echo_cancel); | | MS2_PUBLIC int audio_stream_start_now(AudioStream * stream, RtpProfile * pr
of, const char *remip, int remport, int rem_rtcp_port, int payload_type, i
nt jitt_comp,MSSndCard *playcard, MSSndCard *captcard, bool_t echo_cancel); | |
| MS2_PUBLIC void audio_stream_set_relay_session_id(AudioStream *stream, cons
t char *relay_session_id); | | MS2_PUBLIC void audio_stream_set_relay_session_id(AudioStream *stream, cons
t char *relay_session_id); | |
| /*returns true if we are still receiving some data from remote end in the l
ast timeout seconds*/ | | /*returns true if we are still receiving some data from remote end in the l
ast timeout seconds*/ | |
| MS2_PUBLIC bool_t audio_stream_alive(AudioStream * stream, int timeout); | | MS2_PUBLIC bool_t audio_stream_alive(AudioStream * stream, int timeout); | |
| | | | |
|
| | | /*execute background tasks related to audio processing*/ | |
| | | MS2_PUBLIC void audio_stream_iterate(AudioStream *stream); | |
| | | | |
| /*enable echo-limiter dispositve: one MSVolume in input branch controls a M
SVolume in the output branch*/ | | /*enable echo-limiter dispositve: one MSVolume in input branch controls a M
SVolume in the output branch*/ | |
| MS2_PUBLIC void audio_stream_enable_echo_limiter(AudioStream *stream, EchoL
imiterType type); | | MS2_PUBLIC void audio_stream_enable_echo_limiter(AudioStream *stream, EchoL
imiterType type); | |
| | | | |
| /*enable gain control, to be done before start() */ | | /*enable gain control, to be done before start() */ | |
| MS2_PUBLIC void audio_stream_enable_gain_control(AudioStream *stream, bool_
t val); | | MS2_PUBLIC void audio_stream_enable_gain_control(AudioStream *stream, bool_
t val); | |
| | | | |
| /*enable automatic gain control, to be done before start() */ | | /*enable automatic gain control, to be done before start() */ | |
| MS2_PUBLIC void audio_stream_enable_automatic_gain_control(AudioStream *str
eam, bool_t val); | | MS2_PUBLIC void audio_stream_enable_automatic_gain_control(AudioStream *str
eam, bool_t val); | |
| | | | |
| /*to be done before start */ | | /*to be done before start */ | |
| MS2_PUBLIC void audio_stream_set_echo_canceller_params(AudioStream *st, int
tail_len_ms, int delay_ms, int framesize); | | MS2_PUBLIC void audio_stream_set_echo_canceller_params(AudioStream *st, int
tail_len_ms, int delay_ms, int framesize); | |
| | | | |
|
| | | /*enable adaptive rate control */ | |
| | | MS2_PUBLIC void audio_stream_enable_adaptive_bitrate_control(AudioStream *s | |
| | | t, bool_t enabled); | |
| | | | |
| MS2_PUBLIC void audio_stream_set_mic_gain(AudioStream *stream, float gain); | | MS2_PUBLIC void audio_stream_set_mic_gain(AudioStream *stream, float gain); | |
| | | | |
| /* enable/disable rtp stream */ | | /* enable/disable rtp stream */ | |
| MS2_PUBLIC void audio_stream_mute_rtp(AudioStream *stream, bool_t val); | | MS2_PUBLIC void audio_stream_mute_rtp(AudioStream *stream, bool_t val); | |
| | | | |
| /*enable noise gate, must be done before start()*/ | | /*enable noise gate, must be done before start()*/ | |
| MS2_PUBLIC void audio_stream_enable_noise_gate(AudioStream *stream, bool_t
val); | | MS2_PUBLIC void audio_stream_enable_noise_gate(AudioStream *stream, bool_t
val); | |
| | | | |
| /*enable parametric equalizer in the stream that goes to the speaker*/ | | /*enable parametric equalizer in the stream that goes to the speaker*/ | |
| MS2_PUBLIC void audio_stream_enable_equalizer(AudioStream *stream, bool_t e
nabled); | | MS2_PUBLIC void audio_stream_enable_equalizer(AudioStream *stream, bool_t e
nabled); | |
| | | | |
| skipping to change at line 156 | | skipping to change at line 173 | |
| MS2_PUBLIC void ring_stop (RingStream * stream); | | MS2_PUBLIC void ring_stop (RingStream * stream); | |
| | | | |
| /* send a dtmf */ | | /* send a dtmf */ | |
| MS2_PUBLIC int audio_stream_send_dtmf (AudioStream * stream, char dtmf); | | MS2_PUBLIC int audio_stream_send_dtmf (AudioStream * stream, char dtmf); | |
| | | | |
| MS2_PUBLIC void audio_stream_set_default_card(int cardindex); | | MS2_PUBLIC void audio_stream_set_default_card(int cardindex); | |
| | | | |
| /* retrieve RTP statistics*/ | | /* retrieve RTP statistics*/ | |
| MS2_PUBLIC void audio_stream_get_local_rtp_stats(AudioStream *stream, rtp_s
tats_t *stats); | | MS2_PUBLIC void audio_stream_get_local_rtp_stats(AudioStream *stream, rtp_s
tats_t *stats); | |
| | | | |
|
| | | /* returns a realtime indicator of the stream quality between 0 and 5 */ | |
| | | MS2_PUBLIC float audio_stream_get_quality_rating(AudioStream *stream); | |
| | | | |
| | | /* returns the quality rating as an average since the start of the streamin | |
| | | g session.*/ | |
| | | MS2_PUBLIC float audio_stream_get_average_quality_rating(AudioStream *strea | |
| | | m); | |
| | | | |
| | | /* enable ZRTP on the audio stream */ | |
| | | MS2_PUBLIC void audio_stream_enable_zrtp(AudioStream *stream, OrtpZrtpParam | |
| | | s *params); | |
| | | | |
| | | /* enable SRTP on the audio stream */ | |
| | | MS2_PUBLIC bool_t audio_stream_enable_strp(AudioStream* stream, enum ortp_s | |
| | | rtp_crypto_suite_t suite, const char* snd_key, const char* rcv_key); | |
| | | | |
| /***************** | | /***************** | |
| Video Support | | Video Support | |
| *****************/ | | *****************/ | |
| | | | |
| typedef void (*VideoStreamRenderCallback)(void *user_pointer, const MSPictu
re *local_view, const MSPicture *remote_view); | | typedef void (*VideoStreamRenderCallback)(void *user_pointer, const MSPictu
re *local_view, const MSPicture *remote_view); | |
| typedef void (*VideoStreamEventCallback)(void *user_pointer, const MSFilter
*f, const unsigned int event_id, const void *args); | | typedef void (*VideoStreamEventCallback)(void *user_pointer, const MSFilter
*f, const unsigned int event_id, const void *args); | |
| | | | |
| typedef enum _VideoStreamDir{ | | typedef enum _VideoStreamDir{ | |
| VideoStreamSendRecv, | | VideoStreamSendRecv, | |
| VideoStreamSendOnly, | | VideoStreamSendOnly, | |
| | | | |
| skipping to change at line 198 | | skipping to change at line 227 | |
| VideoStreamRenderCallback rendercb; | | VideoStreamRenderCallback rendercb; | |
| void *render_pointer; | | void *render_pointer; | |
| VideoStreamEventCallback eventcb; | | VideoStreamEventCallback eventcb; | |
| void *event_pointer; | | void *event_pointer; | |
| char *display_name; | | char *display_name; | |
| unsigned long window_id; | | unsigned long window_id; | |
| unsigned long preview_window_id; | | unsigned long preview_window_id; | |
| VideoStreamDir dir; | | VideoStreamDir dir; | |
| MSWebCam *cam; | | MSWebCam *cam; | |
| bool_t use_preview_window; | | bool_t use_preview_window; | |
|
| bool_t adapt_bitrate; | | bool_t use_rc; | |
| | | bool_t pad[2]; | |
| | | int device_orientation; /* warning: meaning of this variable depends | |
| | | on the platform (Android, iOS, ...) */ | |
| | | OrtpZrtpContext *ortpZrtpContext; | |
| | | srtp_t srtp_session; | |
| | | MSBitrateController *rc; | |
| }; | | }; | |
| | | | |
| typedef struct _VideoStream VideoStream; | | typedef struct _VideoStream VideoStream; | |
| | | | |
| MS2_PUBLIC VideoStream *video_stream_new(int locport, bool_t use_ipv6); | | MS2_PUBLIC VideoStream *video_stream_new(int locport, bool_t use_ipv6); | |
| MS2_PUBLIC void video_stream_set_direction(VideoStream *vs, VideoStreamDir
dir); | | MS2_PUBLIC void video_stream_set_direction(VideoStream *vs, VideoStreamDir
dir); | |
| MS2_PUBLIC void video_stream_enable_adaptive_bitrate_control(VideoStream *s
, bool_t yesno); | | MS2_PUBLIC void video_stream_enable_adaptive_bitrate_control(VideoStream *s
, bool_t yesno); | |
| MS2_PUBLIC void video_stream_set_render_callback(VideoStream *s, VideoStrea
mRenderCallback cb, void *user_pointer); | | MS2_PUBLIC void video_stream_set_render_callback(VideoStream *s, VideoStrea
mRenderCallback cb, void *user_pointer); | |
| MS2_PUBLIC void video_stream_set_event_callback(VideoStream *s, VideoStream
EventCallback cb, void *user_pointer); | | MS2_PUBLIC void video_stream_set_event_callback(VideoStream *s, VideoStream
EventCallback cb, void *user_pointer); | |
| MS2_PUBLIC void video_stream_set_display_filter_name(VideoStream *s, const
char *fname); | | MS2_PUBLIC void video_stream_set_display_filter_name(VideoStream *s, const
char *fname); | |
| | | | |
| skipping to change at line 229 | | skipping to change at line 263 | |
| MS2_PUBLIC void video_stream_iterate(VideoStream *stream); | | MS2_PUBLIC void video_stream_iterate(VideoStream *stream); | |
| MS2_PUBLIC void video_stream_send_vfu(VideoStream *stream); | | MS2_PUBLIC void video_stream_send_vfu(VideoStream *stream); | |
| MS2_PUBLIC void video_stream_stop(VideoStream * stream); | | MS2_PUBLIC void video_stream_stop(VideoStream * stream); | |
| MS2_PUBLIC void video_stream_set_sent_video_size(VideoStream *stream, MSVid
eoSize vsize); | | MS2_PUBLIC void video_stream_set_sent_video_size(VideoStream *stream, MSVid
eoSize vsize); | |
| MS2_PUBLIC void video_stream_enable_self_view(VideoStream *stream, bool_t v
al); | | MS2_PUBLIC void video_stream_enable_self_view(VideoStream *stream, bool_t v
al); | |
| MS2_PUBLIC unsigned long video_stream_get_native_window_id(VideoStream *str
eam); | | MS2_PUBLIC unsigned long video_stream_get_native_window_id(VideoStream *str
eam); | |
| MS2_PUBLIC void video_stream_set_native_window_id(VideoStream *stream, unsi
gned long id); | | MS2_PUBLIC void video_stream_set_native_window_id(VideoStream *stream, unsi
gned long id); | |
| MS2_PUBLIC void video_stream_set_native_preview_window_id(VideoStream *stre
am, unsigned long id); | | MS2_PUBLIC void video_stream_set_native_preview_window_id(VideoStream *stre
am, unsigned long id); | |
| MS2_PUBLIC unsigned long video_stream_get_native_preview_window_id(VideoStr
eam *stream); | | MS2_PUBLIC unsigned long video_stream_get_native_preview_window_id(VideoStr
eam *stream); | |
| MS2_PUBLIC void video_stream_use_preview_video_window(VideoStream *stream,
bool_t yesno); | | MS2_PUBLIC void video_stream_use_preview_video_window(VideoStream *stream,
bool_t yesno); | |
|
| | | MS2_PUBLIC void video_stream_set_device_rotation(VideoStream *stream, int o
rientation); | |
| | | | |
| /*provided for compatibility, use video_stream_set_direction() instead */ | | /*provided for compatibility, use video_stream_set_direction() instead */ | |
| MS2_PUBLIC int video_stream_recv_only_start(VideoStream *videostream, RtpPr
ofile *profile, const char *addr, int port, int used_pt, int jitt_comp); | | MS2_PUBLIC int video_stream_recv_only_start(VideoStream *videostream, RtpPr
ofile *profile, const char *addr, int port, int used_pt, int jitt_comp); | |
| MS2_PUBLIC int video_stream_send_only_start(VideoStream *videostream, | | MS2_PUBLIC int video_stream_send_only_start(VideoStream *videostream, | |
| RtpProfile *profile, const char *addr, int p
ort, int rtcp_port, | | RtpProfile *profile, const char *addr, int p
ort, int rtcp_port, | |
| int used_pt, int jitt_comp, MSWebCam *devic
e); | | int used_pt, int jitt_comp, MSWebCam *devic
e); | |
| MS2_PUBLIC void video_stream_recv_only_stop(VideoStream *vs); | | MS2_PUBLIC void video_stream_recv_only_stop(VideoStream *vs); | |
| MS2_PUBLIC void video_stream_send_only_stop(VideoStream *vs); | | MS2_PUBLIC void video_stream_send_only_stop(VideoStream *vs); | |
| | | | |
|
| | | /* enable ZRTP on the video stream using information from the audio stream | |
| | | */ | |
| | | MS2_PUBLIC void video_stream_enable_zrtp(VideoStream *vstream, AudioStream | |
| | | *astream, OrtpZrtpParams *param); | |
| | | | |
| | | /* enable SRTP on the video stream */ | |
| | | MS2_PUBLIC bool_t video_stream_enable_strp(VideoStream* stream, enum ortp_s | |
| | | rtp_crypto_suite_t suite, const char* snd_key, const char* rcv_key); | |
| | | | |
| /** | | /** | |
| * Small API to display a local preview window. | | * Small API to display a local preview window. | |
| **/ | | **/ | |
| | | | |
| typedef VideoStream VideoPreview; | | typedef VideoStream VideoPreview; | |
| | | | |
| MS2_PUBLIC VideoPreview * video_preview_new(); | | MS2_PUBLIC VideoPreview * video_preview_new(); | |
| #define video_preview_set_size(p,s)
video_stream_set_sent_video_size(p,s) | | #define video_preview_set_size(p,s)
video_stream_set_sent_video_size(p,s) | |
| #define video_preview_set_display_filter_name(p,dt) video_stream_set_dis
play_filter_name(p,dt) | | #define video_preview_set_display_filter_name(p,dt) video_stream_set_dis
play_filter_name(p,dt) | |
| #define video_preview_set_native_window_id(p,id) video_stream
_set_native_preview_window_id (p,id) | | #define video_preview_set_native_window_id(p,id) video_stream
_set_native_preview_window_id (p,id) | |
| | | | |
End of changes. 10 change blocks. |
| 11 lines changed or deleted | | 61 lines changed or added | |
|
| msfilter.h | | msfilter.h | |
| | | | |
| skipping to change at line 142 | | skipping to change at line 142 | |
| MSQueue **inputs; | | MSQueue **inputs; | |
| MSQueue **outputs; | | MSQueue **outputs; | |
| MSFilterNotifyFunc notify; | | MSFilterNotifyFunc notify; | |
| void *notify_ud; | | void *notify_ud; | |
| void *data; | | void *data; | |
| struct _MSTicker *ticker; | | struct _MSTicker *ticker; | |
| /*private attributes */ | | /*private attributes */ | |
| uint32_t last_tick; | | uint32_t last_tick; | |
| MSFilterStats *stats; | | MSFilterStats *stats; | |
| bool_t seen; | | bool_t seen; | |
|
| bool_t synchronous_notifies; | | | |
| }; | | }; | |
| | | | |
| /** | | /** | |
| * Structure to create/link/unlink/destroy filter's object. | | * Structure to create/link/unlink/destroy filter's object. | |
| * @var MSFilter | | * @var MSFilter | |
| */ | | */ | |
| typedef struct _MSFilter MSFilter; | | typedef struct _MSFilter MSFilter; | |
| | | | |
| struct _MSConnectionPoint{ | | struct _MSConnectionPoint{ | |
| MSFilter *filter; | | MSFilter *filter; | |
| | | | |
| skipping to change at line 223 | | skipping to change at line 222 | |
| * Existing Public plugins: | | * Existing Public plugins: | |
| * iLBC | | * iLBC | |
| * | | * | |
| * @param mime A string indicating the codec. | | * @param mime A string indicating the codec. | |
| * | | * | |
| * Returns: a MSFilterDesc if successfull, NULL otherwise. | | * Returns: a MSFilterDesc if successfull, NULL otherwise. | |
| */ | | */ | |
| MS2_PUBLIC MSFilterDesc * ms_filter_get_decoder(const char *mime); | | MS2_PUBLIC MSFilterDesc * ms_filter_get_decoder(const char *mime); | |
| | | | |
| /** | | /** | |
|
| | | * Lookup a mediastreamer2 filter using its name. | |
| | | * If found, the descriptor (MSFilterDesc) is returned. | |
| | | * This descriptor can be used to instanciate the filter using ms_filter_ne | |
| | | w_from_desc() | |
| | | * This function can be useful to query the presence of a filter loaded as | |
| | | a plugin, for example. | |
| | | * | |
| | | * @param name The filter name. | |
| | | **/ | |
| | | MS2_PUBLIC MSFilterDesc *ms_filter_lookup_by_name(const char *filter_name); | |
| | | | |
| | | /** | |
| * Create encoder filter according to codec name. | | * Create encoder filter according to codec name. | |
| * | | * | |
| * Internal supported codecs: | | * Internal supported codecs: | |
| * PCMU, PCMA, speex, gsm | | * PCMU, PCMA, speex, gsm | |
| * Existing Public plugins: | | * Existing Public plugins: | |
| * iLBC | | * iLBC | |
| * | | * | |
| * @param mime A string indicating the codec. | | * @param mime A string indicating the codec. | |
| * | | * | |
| * Returns: a MSFilter if successfull, NULL otherwise. | | * Returns: a MSFilter if successfull, NULL otherwise. | |
| | | | |
| skipping to change at line 336 | | skipping to change at line 345 | |
| * @param arg A private user data for the filter. | | * @param arg A private user data for the filter. | |
| * | | * | |
| * Returns: 0 if successfull, -1 otherwise. | | * Returns: 0 if successfull, -1 otherwise. | |
| */ | | */ | |
| MS2_PUBLIC int ms_filter_call_method(MSFilter *f, unsigned int id, void *ar
g); | | MS2_PUBLIC int ms_filter_call_method(MSFilter *f, unsigned int id, void *ar
g); | |
| | | | |
| /** | | /** | |
| * Call a filter's method to set options. | | * Call a filter's method to set options. | |
| * | | * | |
| * @param f A MSFilter object. | | * @param f A MSFilter object. | |
|
| * @param id A private filter ID for the option. | | * @param id A method ID. | |
| * | | * | |
| * Returns: 0 if successfull, -1 otherwise. | | * Returns: 0 if successfull, -1 otherwise. | |
| */ | | */ | |
| MS2_PUBLIC int ms_filter_call_method_noarg(MSFilter *f, unsigned int id); | | MS2_PUBLIC int ms_filter_call_method_noarg(MSFilter *f, unsigned int id); | |
| | | | |
| /** | | /** | |
|
| | | * Returns whether the filter implements a given method | |
| | | * | |
| | | * @param f A MSFilter object. | |
| | | * @param id A method ID. | |
| | | * | |
| | | * Returns: 0 if successfull, -1 otherwise. | |
| | | */ | |
| | | MS2_PUBLIC bool_t ms_filter_has_method(MSFilter *f, unsigned int id); | |
| | | | |
| | | /** | |
| * Set a callback on filter's to be informed of private filter's event. | | * Set a callback on filter's to be informed of private filter's event. | |
| * This callback is called from the filter's MSTicker, unless a global even
t queue | | * This callback is called from the filter's MSTicker, unless a global even
t queue | |
| * is created to receive all filter's notification asynchronously. | | * is created to receive all filter's notification asynchronously. | |
| * See ms_event_queue_new() for details. | | * See ms_event_queue_new() for details. | |
| * | | * | |
| * @param f A MSFilter object. | | * @param f A MSFilter object. | |
| * @param fn A MSFilterNotifyFunc that will be called. | | * @param fn A MSFilterNotifyFunc that will be called. | |
| * @param userdata A pointer to private data. | | * @param userdata A pointer to private data. | |
| * | | * | |
| * | | * | |
| */ | | */ | |
| MS2_PUBLIC void ms_filter_set_notify_callback(MSFilter *f, MSFilterNotifyFu
nc fn, void *userdata); | | MS2_PUBLIC void ms_filter_set_notify_callback(MSFilter *f, MSFilterNotifyFu
nc fn, void *userdata); | |
| | | | |
| /** | | /** | |
|
| * Forces the filter to synchronously send notifications, that is | | | |
| * the notify callback will be called from MSTicker thread instead of being | | | |
| * run by a MSEventQueue. | | | |
| */ | | | |
| MS2_PUBLIC void ms_filter_enable_synchronous_notifcations(MSFilter *f, bool | | | |
| _t yesno); | | | |
| | | | |
| /** | | | |
| * Get MSFilterId's filter. | | * Get MSFilterId's filter. | |
| * | | * | |
| * @param f A MSFilter object. | | * @param f A MSFilter object. | |
| * | | * | |
| * Returns: MSFilterId if successfull, -1 otherwise. | | * Returns: MSFilterId if successfull, -1 otherwise. | |
| */ | | */ | |
| MS2_PUBLIC MSFilterId ms_filter_get_id(MSFilter *f); | | MS2_PUBLIC MSFilterId ms_filter_get_id(MSFilter *f); | |
| | | | |
| /** | | /** | |
| * Obtain the list of current filter's neighbours, ie filters that are part
of same graph. | | * Obtain the list of current filter's neighbours, ie filters that are part
of same graph. | |
| | | | |
| skipping to change at line 508 | | skipping to change at line 520 | |
| #define MS_FILTER_GET_MTU MS_FILTER_BASE_METHOD(10,int) | | #define MS_FILTER_GET_MTU MS_FILTER_BASE_METHOD(10,int) | |
| /**Filters can return their latency in milliseconds (if known) using this m
ethod:*/ | | /**Filters can return their latency in milliseconds (if known) using this m
ethod:*/ | |
| #define MS_FILTER_GET_LATENCY MS_FILTER_BASE_METHOD(11,int) | | #define MS_FILTER_GET_LATENCY MS_FILTER_BASE_METHOD(11,int) | |
| | | | |
| enum _MSFilterInterfaceId{ | | enum _MSFilterInterfaceId{ | |
| MSFilterInterfaceBegin=16384, | | MSFilterInterfaceBegin=16384, | |
| MSFilterPlayerInterface, | | MSFilterPlayerInterface, | |
| MSFilterRecorderInterface, | | MSFilterRecorderInterface, | |
| MSFilterVideoDisplayInterface, | | MSFilterVideoDisplayInterface, | |
| MSFilterEchoCancellerInterface, | | MSFilterEchoCancellerInterface, | |
|
| MSFilterVideoDecoderInterface | | MSFilterVideoDecoderInterface, | |
| | | MSFilterVideoCaptureInterface, | |
| }; | | }; | |
| | | | |
| typedef enum _MSFilterInterfaceId MSFilterInterfaceId; | | typedef enum _MSFilterInterfaceId MSFilterInterfaceId; | |
| | | | |
| /* more specific methods: to be moved into implementation specific header f
iles*/ | | /* more specific methods: to be moved into implementation specific header f
iles*/ | |
| #define MS_FILTER_SET_FILTERLENGTH MS_FILTER_BASE_METHOD(12,int) | | #define MS_FILTER_SET_FILTERLENGTH MS_FILTER_BASE_METHOD(12,int) | |
| #define MS_FILTER_SET_OUTPUT_SAMPLE_RATE MS_FILTER_BASE_METHOD(13,int) | | #define MS_FILTER_SET_OUTPUT_SAMPLE_RATE MS_FILTER_BASE_METHOD(13,int) | |
| #define MS_FILTER_ENABLE_DIRECTMODE MS_FILTER_BASE_METHOD(14,int) | | #define MS_FILTER_ENABLE_DIRECTMODE MS_FILTER_BASE_METHOD(14,int) | |
| #define MS_FILTER_ENABLE_VAD MS_FILTER_BASE_METHOD(15,int) | | #define MS_FILTER_ENABLE_VAD MS_FILTER_BASE_METHOD(15,int) | |
| #define MS_FILTER_GET_STAT_DISCARDED MS_FILTER_BASE_METHOD(16,int) | | #define MS_FILTER_GET_STAT_DISCARDED MS_FILTER_BASE_METHOD(16,int) | |
| #define MS_FILTER_GET_STAT_MISSED MS_FILTER_BASE_METHOD(17,int) | | #define MS_FILTER_GET_STAT_MISSED MS_FILTER_BASE_METHOD(17,int) | |
| #define MS_FILTER_GET_STAT_INPUT MS_FILTER_BASE_METHOD(18,int) | | #define MS_FILTER_GET_STAT_INPUT MS_FILTER_BASE_METHOD(18,int) | |
| #define MS_FILTER_GET_STAT_OUTPUT MS_FILTER_BASE_METHOD(19,int) | | #define MS_FILTER_GET_STAT_OUTPUT MS_FILTER_BASE_METHOD(19,int) | |
| #define MS_FILTER_ENABLE_AGC MS_FILTER_BASE_METHOD(20,int) | | #define MS_FILTER_ENABLE_AGC MS_FILTER_BASE_METHOD(20,int) | |
| #define MS_FILTER_SET_PLAYBACKDELAY MS_FILTER_BASE_METHOD(21,int) | | #define MS_FILTER_SET_PLAYBACKDELAY MS_FILTER_BASE_METHOD(21,int) | |
| #define MS_FILTER_ENABLE_HALFDUPLEX MS_FILTER_BASE_METHOD(22,int) | | #define MS_FILTER_ENABLE_HALFDUPLEX MS_FILTER_BASE_METHOD(22,int) | |
| #define MS_FILTER_SET_VAD_PROB_START MS_FILTER_BASE_METHOD(23,int) | | #define MS_FILTER_SET_VAD_PROB_START MS_FILTER_BASE_METHOD(23,int) | |
| #define MS_FILTER_SET_VAD_PROB_CONTINUE MS_FILTER_BASE_METHOD(24,int) | | #define MS_FILTER_SET_VAD_PROB_CONTINUE MS_FILTER_BASE_METHOD(24,int) | |
| #define MS_FILTER_SET_MAX_GAIN MS_FILTER_BASE_METHOD(25,int) | | #define MS_FILTER_SET_MAX_GAIN MS_FILTER_BASE_METHOD(25,int) | |
|
| | | #define MS_VIDEO_CAPTURE_SET_AUTOFOCUS MS_FILTER_BASE_METHOD(26,int) | |
| | | /* pass value of type MSRtpPayloadPickerContext copied by the filter*/ | |
| | | #define MS_FILTER_SET_RTP_PAYLOAD_PICKER MS_FILTER_BASE_METHOD(27,void*) | |
| | | | |
| #define MS_CONF_SPEEX_PREPROCESS_MIC MS_FILTER_EVENT(MS_CONF_ID, 1, void*
) | | #define MS_CONF_SPEEX_PREPROCESS_MIC MS_FILTER_EVENT(MS_CONF_ID, 1, void*
) | |
| #define MS_CONF_CHANNEL_VOLUME MS_FILTER_EVENT(MS_CONF_ID, 3, void*) | | #define MS_CONF_CHANNEL_VOLUME MS_FILTER_EVENT(MS_CONF_ID, 3, void*) | |
| | | | |
| /** @} */ | | /** @} */ | |
| | | | |
| /*protected/ private methods*/ | | /*protected/ private methods*/ | |
| void ms_filter_process(MSFilter *f); | | void ms_filter_process(MSFilter *f); | |
| void ms_filter_preprocess(MSFilter *f, struct _MSTicker *t); | | void ms_filter_preprocess(MSFilter *f, struct _MSTicker *t); | |
| void ms_filter_postprocess(MSFilter *f); | | void ms_filter_postprocess(MSFilter *f); | |
| bool_t ms_filter_inputs_have_data(MSFilter *f); | | bool_t ms_filter_inputs_have_data(MSFilter *f); | |
| void ms_filter_notify(MSFilter *f, unsigned int id, void *arg); | | void ms_filter_notify(MSFilter *f, unsigned int id, void *arg); | |
|
| | | void ms_filter_notify_synchronous(MSFilter *f, unsigned int id, void *arg); | |
| void ms_filter_notify_no_arg(MSFilter *f, unsigned int id); | | void ms_filter_notify_no_arg(MSFilter *f, unsigned int id); | |
| #define ms_filter_lock(f) ms_mutex_lock(&(f)->lock) | | #define ms_filter_lock(f) ms_mutex_lock(&(f)->lock) | |
| #define ms_filter_unlock(f) ms_mutex_unlock(&(f)->lock) | | #define ms_filter_unlock(f) ms_mutex_unlock(&(f)->lock) | |
| void ms_filter_unregister_all(void); | | void ms_filter_unregister_all(void); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #include "msinterfaces.h" | | #include "msinterfaces.h" | |
| | | | |
| /* used by awk script in Makefile.am to generate alldescs.c */ | | /* used by awk script in Makefile.am to generate alldescs.c */ | |
| #define MS_FILTER_DESC_EXPORT(desc) | | #define MS_FILTER_DESC_EXPORT(desc) | |
| | | | |
|
| /* xgettext markup */ | | | |
| #define N_(String) String | | | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 9 change blocks. |
| 14 lines changed or deleted | | 29 lines changed or added | |
|
| msvideo.h | | msvideo.h | |
| | | | |
| skipping to change at line 23 | | skipping to change at line 23 | |
| GNU General Public License for more details. | | GNU General Public License for more details. | |
| | | | |
| You should have received a copy of the GNU General Public License | | You should have received a copy of the GNU General Public License | |
| along with this program; if not, write to the Free Software | | along with this program; if not, write to the Free Software | |
| Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
| */ | | */ | |
| | | | |
| #ifndef msvideo_h | | #ifndef msvideo_h | |
| #define msvideo_h | | #define msvideo_h | |
| | | | |
|
| #include "msfilter.h" | | #include <mediastreamer2/msfilter.h> | |
| | | | |
| /* some global constants for video MSFilter(s) */ | | /* some global constants for video MSFilter(s) */ | |
| #define MS_VIDEO_SIZE_SQCIF_W 128 | | #define MS_VIDEO_SIZE_SQCIF_W 128 | |
| #define MS_VIDEO_SIZE_SQCIF_H 96 | | #define MS_VIDEO_SIZE_SQCIF_H 96 | |
| | | | |
| #define MS_VIDEO_SIZE_WQCIF_W 256 | | #define MS_VIDEO_SIZE_WQCIF_W 256 | |
| #define MS_VIDEO_SIZE_WQCIF_H 144 | | #define MS_VIDEO_SIZE_WQCIF_H 144 | |
| | | | |
| #define MS_VIDEO_SIZE_QCIF_W 176 | | #define MS_VIDEO_SIZE_QCIF_W 176 | |
| #define MS_VIDEO_SIZE_QCIF_H 144 | | #define MS_VIDEO_SIZE_QCIF_H 144 | |
| | | | |
| skipping to change at line 53 | | skipping to change at line 53 | |
| | | | |
| #define MS_VIDEO_SIZE_4CIF_W 704 | | #define MS_VIDEO_SIZE_4CIF_W 704 | |
| #define MS_VIDEO_SIZE_4CIF_H 576 | | #define MS_VIDEO_SIZE_4CIF_H 576 | |
| | | | |
| #define MS_VIDEO_SIZE_W4CIF_W 1024 | | #define MS_VIDEO_SIZE_W4CIF_W 1024 | |
| #define MS_VIDEO_SIZE_W4CIF_H 576 | | #define MS_VIDEO_SIZE_W4CIF_H 576 | |
| | | | |
| #define MS_VIDEO_SIZE_QQVGA_W 160 | | #define MS_VIDEO_SIZE_QQVGA_W 160 | |
| #define MS_VIDEO_SIZE_QQVGA_H 120 | | #define MS_VIDEO_SIZE_QQVGA_H 120 | |
| | | | |
|
| | | #define MS_VIDEO_SIZE_HQVGA_W 160 | |
| | | #define MS_VIDEO_SIZE_HQVGA_H 240 | |
| | | | |
| #define MS_VIDEO_SIZE_QVGA_W 320 | | #define MS_VIDEO_SIZE_QVGA_W 320 | |
| #define MS_VIDEO_SIZE_QVGA_H 240 | | #define MS_VIDEO_SIZE_QVGA_H 240 | |
| | | | |
|
| | | #define MS_VIDEO_SIZE_HVGA_W 320 | |
| | | #define MS_VIDEO_SIZE_HVGA_H 480 | |
| | | | |
| #define MS_VIDEO_SIZE_VGA_W 640 | | #define MS_VIDEO_SIZE_VGA_W 640 | |
| #define MS_VIDEO_SIZE_VGA_H 480 | | #define MS_VIDEO_SIZE_VGA_H 480 | |
| | | | |
| #define MS_VIDEO_SIZE_SVGA_W 800 | | #define MS_VIDEO_SIZE_SVGA_W 800 | |
| #define MS_VIDEO_SIZE_SVGA_H 600 | | #define MS_VIDEO_SIZE_SVGA_H 600 | |
| | | | |
| #define MS_VIDEO_SIZE_NS1_W 324 | | #define MS_VIDEO_SIZE_NS1_W 324 | |
| #define MS_VIDEO_SIZE_NS1_H 248 | | #define MS_VIDEO_SIZE_NS1_H 248 | |
| | | | |
| #define MS_VIDEO_SIZE_QSIF_W 176 | | #define MS_VIDEO_SIZE_QSIF_W 176 | |
| #define MS_VIDEO_SIZE_QSIF_H 120 | | #define MS_VIDEO_SIZE_QSIF_H 120 | |
| | | | |
| #define MS_VIDEO_SIZE_SIF_W 352 | | #define MS_VIDEO_SIZE_SIF_W 352 | |
| #define MS_VIDEO_SIZE_SIF_H 240 | | #define MS_VIDEO_SIZE_SIF_H 240 | |
| | | | |
|
| | | #define MS_VIDEO_SIZE_IOS_MEDIUM_W 480 | |
| | | #define MS_VIDEO_SIZE_IOS_MEDIUM_H 360 | |
| | | | |
| #define MS_VIDEO_SIZE_ISIF_W 352 | | #define MS_VIDEO_SIZE_ISIF_W 352 | |
| #define MS_VIDEO_SIZE_ISIF_H 480 | | #define MS_VIDEO_SIZE_ISIF_H 480 | |
| | | | |
| #define MS_VIDEO_SIZE_4SIF_W 704 | | #define MS_VIDEO_SIZE_4SIF_W 704 | |
| #define MS_VIDEO_SIZE_4SIF_H 480 | | #define MS_VIDEO_SIZE_4SIF_H 480 | |
| | | | |
| #define MS_VIDEO_SIZE_288P_W 512 | | #define MS_VIDEO_SIZE_288P_W 512 | |
| #define MS_VIDEO_SIZE_288P_H 288 | | #define MS_VIDEO_SIZE_288P_H 288 | |
| | | | |
| #define MS_VIDEO_SIZE_432P_W 768 | | #define MS_VIDEO_SIZE_432P_W 768 | |
| | | | |
| skipping to change at line 159 | | skipping to change at line 168 | |
| | | | |
| /*deprecated: use MS_VIDEO_SIZE_SVGA*/ | | /*deprecated: use MS_VIDEO_SIZE_SVGA*/ | |
| #define MS_VIDEO_SIZE_800X600_W MS_VIDEO_SIZE_SVGA_W | | #define MS_VIDEO_SIZE_800X600_W MS_VIDEO_SIZE_SVGA_W | |
| #define MS_VIDEO_SIZE_800X600_H MS_VIDEO_SIZE_SVGA_H | | #define MS_VIDEO_SIZE_800X600_H MS_VIDEO_SIZE_SVGA_H | |
| #define MS_VIDEO_SIZE_800X600 MS_VIDEO_SIZE_SVGA | | #define MS_VIDEO_SIZE_800X600 MS_VIDEO_SIZE_SVGA | |
| /*deprecated use MS_VIDEO_SIZE_XGA*/ | | /*deprecated use MS_VIDEO_SIZE_XGA*/ | |
| #define MS_VIDEO_SIZE_1024_W 1024 | | #define MS_VIDEO_SIZE_1024_W 1024 | |
| #define MS_VIDEO_SIZE_1024_H 768 | | #define MS_VIDEO_SIZE_1024_H 768 | |
| #define MS_VIDEO_SIZE_1024 MS_VIDEO_SIZE_XGA | | #define MS_VIDEO_SIZE_1024 MS_VIDEO_SIZE_XGA | |
| | | | |
|
| | | typedef enum{ | |
| | | MS_NO_MIRROR, | |
| | | MS_HORIZONTAL_MIRROR, /*according to a vertical line in the center o | |
| | | f buffer*/ | |
| | | MS_CENTRAL_MIRROR, /*both*/ | |
| | | MS_VERTICAL_MIRROR /*according to an horizontal line*/ | |
| | | }MSMirrorType; | |
| | | | |
| typedef enum MSVideoOrientation{ | | typedef enum MSVideoOrientation{ | |
| MS_VIDEO_LANDSCAPE = 0, | | MS_VIDEO_LANDSCAPE = 0, | |
| MS_VIDEO_PORTRAIT =1 | | MS_VIDEO_PORTRAIT =1 | |
| }MSVideoOrientation; | | }MSVideoOrientation; | |
| | | | |
| typedef enum{ | | typedef enum{ | |
| MS_YUV420P, | | MS_YUV420P, | |
| MS_YUYV, | | MS_YUYV, | |
| MS_RGB24, | | MS_RGB24, | |
| MS_RGB24_REV, /*->microsoft down-top bitmaps */ | | MS_RGB24_REV, /*->microsoft down-top bitmaps */ | |
| | | | |
| skipping to change at line 197 | | skipping to change at line 213 | |
| #endif | | #endif | |
| | | | |
| MS2_PUBLIC int ms_pix_fmt_to_ffmpeg(MSPixFmt fmt); | | MS2_PUBLIC int ms_pix_fmt_to_ffmpeg(MSPixFmt fmt); | |
| MS2_PUBLIC MSPixFmt ffmpeg_pix_fmt_to_ms(int fmt); | | MS2_PUBLIC MSPixFmt ffmpeg_pix_fmt_to_ms(int fmt); | |
| MS2_PUBLIC MSPixFmt ms_fourcc_to_pix_fmt(uint32_t fourcc); | | MS2_PUBLIC MSPixFmt ms_fourcc_to_pix_fmt(uint32_t fourcc); | |
| MS2_PUBLIC void ms_ffmpeg_check_init(void); | | MS2_PUBLIC void ms_ffmpeg_check_init(void); | |
| MS2_PUBLIC int ms_yuv_buf_init_from_mblk(MSPicture *buf, mblk_t *m); | | MS2_PUBLIC int ms_yuv_buf_init_from_mblk(MSPicture *buf, mblk_t *m); | |
| MS2_PUBLIC int ms_yuv_buf_init_from_mblk_with_size(MSPicture *buf, mblk_t *
m, int w, int h); | | MS2_PUBLIC int ms_yuv_buf_init_from_mblk_with_size(MSPicture *buf, mblk_t *
m, int w, int h); | |
| MS2_PUBLIC int ms_picture_init_from_mblk_with_size(MSPicture *buf, mblk_t *
m, MSPixFmt fmt, int w, int h); | | MS2_PUBLIC int ms_picture_init_from_mblk_with_size(MSPicture *buf, mblk_t *
m, MSPixFmt fmt, int w, int h); | |
| MS2_PUBLIC mblk_t * ms_yuv_buf_alloc(MSPicture *buf, int w, int h); | | MS2_PUBLIC mblk_t * ms_yuv_buf_alloc(MSPicture *buf, int w, int h); | |
|
| | | MS2_PUBLIC mblk_t * ms_yuv_buf_alloc_from_buffer(int w, int h, mblk_t* buff
er); | |
| MS2_PUBLIC void ms_yuv_buf_copy(uint8_t *src_planes[], const int src_stride
s[], | | MS2_PUBLIC void ms_yuv_buf_copy(uint8_t *src_planes[], const int src_stride
s[], | |
| uint8_t *dst_planes[], const int dst_strides[3], MSVideoSize
roi); | | uint8_t *dst_planes[], const int dst_strides[3], MSVideoSize
roi); | |
| MS2_PUBLIC void ms_yuv_buf_mirror(YuvBuf *buf); | | MS2_PUBLIC void ms_yuv_buf_mirror(YuvBuf *buf); | |
|
| | | MS2_PUBLIC void ms_yuv_buf_mirrors(YuvBuf *buf,const MSMirrorType type); | |
| MS2_PUBLIC void rgb24_mirror(uint8_t *buf, int w, int h, int linesize); | | MS2_PUBLIC void rgb24_mirror(uint8_t *buf, int w, int h, int linesize); | |
| MS2_PUBLIC void rgb24_revert(uint8_t *buf, int w, int h, int linesize); | | MS2_PUBLIC void rgb24_revert(uint8_t *buf, int w, int h, int linesize); | |
| MS2_PUBLIC void rgb24_copy_revert(uint8_t *dstbuf, int dstlsz, | | MS2_PUBLIC void rgb24_copy_revert(uint8_t *dstbuf, int dstlsz, | |
| const uint8_t *srcbuf, int srclsz, MSVideoSi
ze roi); | | const uint8_t *srcbuf, int srclsz, MSVideoSi
ze roi); | |
| | | | |
| MS2_PUBLIC void ms_rgb_to_yuv(const uint8_t rgb[3], uint8_t yuv[3]); | | MS2_PUBLIC void ms_rgb_to_yuv(const uint8_t rgb[3], uint8_t yuv[3]); | |
| | | | |
|
| | | #ifdef __arm__ | |
| | | MS2_PUBLIC void rotate_plane_neon_clockwise(int wDest, int hDest, int full_ | |
| | | width, uint8_t* src, uint8_t* dst); | |
| | | MS2_PUBLIC void rotate_plane_neon_anticlockwise(int wDest, int hDest, int f | |
| | | ull_width, uint8_t* src, uint8_t* dst); | |
| | | MS2_PUBLIC void rotate_cbcr_to_cr_cb(int wDest, int hDest, int full_width, | |
| | | uint8_t* cbcr_src, uint8_t* cr_dst, uint8_t* cb_dst,bool_t clockWise); | |
| | | MS2_PUBLIC void deinterlace_and_rotate_180_neon(uint8_t* ysrc, uint8_t* cbc | |
| | | rsrc, uint8_t* ydst, uint8_t* udst, uint8_t* vdst, int w, int h, int y_byte | |
| | | _per_row,int cbcr_byte_per_row); | |
| | | void deinterlace_down_scale_and_rotate_180_neon(uint8_t* ysrc, uint8_t* cbc | |
| | | rsrc, uint8_t* ydst, uint8_t* udst, uint8_t* vdst, int w, int h, int y_byte | |
| | | _per_row,int cbcr_byte_per_row,bool_t down_scale); | |
| | | void deinterlace_down_scale_neon(uint8_t* ysrc, uint8_t* cbcrsrc, ui | |
| | | nt8_t* ydst, uint8_t* u_dst, uint8_t* v_dst, int w, int h, int y_byte_per_r | |
| | | ow,int cbcr_byte_per_row,bool_t down_scale); | |
| | | mblk_t *copy_ycbcrbiplanar_to_true_yuv_with_rotation_and_down_scale_ | |
| | | by_2(uint8_t* y, uint8_t * cbcr, int rotation, int w, int h, int y_byte_per | |
| | | _row,int cbcr_byte_per_row, bool_t uFirstvSecond, bool_t down_scale); | |
| | | #endif | |
| | | | |
| static inline bool_t ms_video_size_greater_than(MSVideoSize vs1, MSVideoSiz
e vs2){ | | static inline bool_t ms_video_size_greater_than(MSVideoSize vs1, MSVideoSiz
e vs2){ | |
| return (vs1.width>=vs2.width) && (vs1.height>=vs2.height); | | return (vs1.width>=vs2.width) && (vs1.height>=vs2.height); | |
| } | | } | |
| | | | |
| static inline bool_t ms_video_size_area_greater_than(MSVideoSize vs1, MSVid
eoSize vs2){ | | static inline bool_t ms_video_size_area_greater_than(MSVideoSize vs1, MSVid
eoSize vs2){ | |
| return (vs1.width*vs1.height >= vs2.width*vs2.height); | | return (vs1.width*vs1.height >= vs2.width*vs2.height); | |
| } | | } | |
| | | | |
| static inline MSVideoSize ms_video_size_max(MSVideoSize vs1, MSVideoSize vs
2){ | | static inline MSVideoSize ms_video_size_max(MSVideoSize vs1, MSVideoSize vs
2){ | |
| return ms_video_size_greater_than(vs1,vs2) ? vs1 : vs2; | | return ms_video_size_greater_than(vs1,vs2) ? vs1 : vs2; | |
| | | | |
| skipping to change at line 275 | | skipping to change at line 303 | |
| | | | |
| MS2_PUBLIC MSScalerContext *ms_scaler_create_context(int src_w, int src_h,
MSPixFmt src_fmt, | | MS2_PUBLIC MSScalerContext *ms_scaler_create_context(int src_w, int src_h,
MSPixFmt src_fmt, | |
| int dst_w, int dst_h, MSPixFmt ds
t_fmt, int flags); | | int dst_w, int dst_h, MSPixFmt ds
t_fmt, int flags); | |
| | | | |
| MS2_PUBLIC int ms_scaler_process(MSScalerContext *ctx, uint8_t *src[], int
src_strides[], uint8_t *dst[], int dst_strides[]); | | MS2_PUBLIC int ms_scaler_process(MSScalerContext *ctx, uint8_t *src[], int
src_strides[], uint8_t *dst[], int dst_strides[]); | |
| | | | |
| MS2_PUBLIC void ms_scaler_context_free(MSScalerContext *ctx); | | MS2_PUBLIC void ms_scaler_context_free(MSScalerContext *ctx); | |
| | | | |
| MS2_PUBLIC void ms_video_set_scaler_impl(MSScalerDesc *desc); | | MS2_PUBLIC void ms_video_set_scaler_impl(MSScalerDesc *desc); | |
| | | | |
|
| | | MS2_PUBLIC mblk_t *copy_ycbcrbiplanar_to_true_yuv_with_rotation(uint8_t* y, | |
| | | uint8_t* cbcr, int rotation, int w, int h, int y_byte_per_row,int cbcr_byt | |
| | | e_per_row, bool_t uFirstvSecond); | |
| | | | |
| | | /*** Encoder Helpers ***/ | |
| | | /* Frame rate controller */ | |
| | | struct _MSFrameRateController { | |
| | | unsigned int start_time; | |
| | | int th_frame_count; | |
| | | float fps; | |
| | | }; | |
| | | typedef struct _MSFrameRateController MSFrameRateController; | |
| | | MS2_PUBLIC void ms_video_init_framerate_controller(MSFrameRateController* c | |
| | | trl, float fps); | |
| | | MS2_PUBLIC bool_t ms_video_capture_new_frame(MSFrameRateController* ctrl, u | |
| | | int32_t current_time); | |
| | | | |
| | | /* Average FPS calculator */ | |
| | | struct _MSAverageFPS { | |
| | | unsigned int last_frame_time, last_print_time; | |
| | | float mean_inter_frame; | |
| | | float expected_fps; | |
| | | }; | |
| | | typedef struct _MSAverageFPS MSAverageFPS; | |
| | | MS2_PUBLIC void ms_video_init_average_fps(MSAverageFPS* afps, float expecte | |
| | | dFps); | |
| | | MS2_PUBLIC void ms_video_update_average_fps(MSAverageFPS* afps, uint32_t cu | |
| | | rrent_time); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #define MS_FILTER_SET_VIDEO_SIZE MS_FILTER_BASE_METHOD(100,MSVideoSiz
e) | | #define MS_FILTER_SET_VIDEO_SIZE MS_FILTER_BASE_METHOD(100,MSVideoSiz
e) | |
| #define MS_FILTER_GET_VIDEO_SIZE MS_FILTER_BASE_METHOD(101,MSVideoSiz
e) | | #define MS_FILTER_GET_VIDEO_SIZE MS_FILTER_BASE_METHOD(101,MSVideoSiz
e) | |
| | | | |
| #define MS_FILTER_SET_PIX_FMT MS_FILTER_BASE_METHOD(102,MSPixFmt) | | #define MS_FILTER_SET_PIX_FMT MS_FILTER_BASE_METHOD(102,MSPixFmt) | |
| #define MS_FILTER_GET_PIX_FMT MS_FILTER_BASE_METHOD(103,MSPixFmt) | | #define MS_FILTER_GET_PIX_FMT MS_FILTER_BASE_METHOD(103,MSPixFmt) | |
| | | | |
| | | | |
End of changes. 9 change blocks. |
| 1 lines changed or deleted | | 70 lines changed or added | |
|
| rtpsession.h | | rtpsession.h | |
| | | | |
| skipping to change at line 92 | | skipping to change at line 92 | |
| | | | |
| typedef struct _RtpTransport | | typedef struct _RtpTransport | |
| { | | { | |
| void *data; | | void *data; | |
| ortp_socket_t (*t_getsocket)(struct _RtpTransport *t); | | ortp_socket_t (*t_getsocket)(struct _RtpTransport *t); | |
| int (*t_sendto)(struct _RtpTransport *t, mblk_t *msg , int flags, c
onst struct sockaddr *to, socklen_t tolen); | | int (*t_sendto)(struct _RtpTransport *t, mblk_t *msg , int flags, c
onst struct sockaddr *to, socklen_t tolen); | |
| int (*t_recvfrom)(struct _RtpTransport *t, mblk_t *msg, int flags,
struct sockaddr *from, socklen_t *fromlen); | | int (*t_recvfrom)(struct _RtpTransport *t, mblk_t *msg, int flags,
struct sockaddr *from, socklen_t *fromlen); | |
| struct _RtpSession *session;//<back pointer to the owning session, s
et by oRTP | | struct _RtpSession *session;//<back pointer to the owning session, s
et by oRTP | |
| } RtpTransport; | | } RtpTransport; | |
| | | | |
|
| | | typedef struct _OrtpNetworkSimulatorParams{ | |
| | | int enabled; | |
| | | float max_bandwidth; /*IP bandwidth, in bit/s*/ | |
| | | float loss_rate; | |
| | | }OrtpNetworkSimulatorParams; | |
| | | | |
| | | typedef struct _OrtpNetworkSimulatorCtx{ | |
| | | OrtpNetworkSimulatorParams params; | |
| | | int bit_budget; | |
| | | int qsize; | |
| | | queue_t q; | |
| | | struct timeval last_check; | |
| | | }OrtpNetworkSimulatorCtx; | |
| | | | |
| typedef struct _RtpStream | | typedef struct _RtpStream | |
| { | | { | |
| ortp_socket_t socket; | | ortp_socket_t socket; | |
| struct _RtpTransport *tr; | | struct _RtpTransport *tr; | |
| int sockfamily; | | int sockfamily; | |
| int max_rq_size; | | int max_rq_size; | |
| int time_jump; | | int time_jump; | |
| uint32_t ts_jump; | | uint32_t ts_jump; | |
| queue_t rq; | | queue_t rq; | |
| queue_t tev_rq; | | queue_t tev_rq; | |
| | | | |
| skipping to change at line 129 | | skipping to change at line 143 | |
| uint32_t rcv_query_ts_offset; /* the first user timestamp asked by
the application */ | | uint32_t rcv_query_ts_offset; /* the first user timestamp asked by
the application */ | |
| uint32_t rcv_last_ts; /* the last stream timestamp got by the appl
ication */ | | uint32_t rcv_last_ts; /* the last stream timestamp got by the appl
ication */ | |
| uint32_t rcv_last_app_ts; /* the last application timestamp asked by
the application */ | | uint32_t rcv_last_app_ts; /* the last application timestamp asked by
the application */ | |
| uint32_t rcv_last_ret_ts; /* the timestamp of the last sample return
ed (only for continuous audio)*/ | | uint32_t rcv_last_ret_ts; /* the timestamp of the last sample return
ed (only for continuous audio)*/ | |
| uint32_t hwrcv_extseq; /* last received on socket extended sequence
number */ | | uint32_t hwrcv_extseq; /* last received on socket extended sequence
number */ | |
| uint32_t hwrcv_seq_at_last_SR; | | uint32_t hwrcv_seq_at_last_SR; | |
| uint32_t hwrcv_since_last_SR; | | uint32_t hwrcv_since_last_SR; | |
| uint32_t last_rcv_SR_ts; /* NTP timestamp (middle 32 bits) of la
st received SR */ | | uint32_t last_rcv_SR_ts; /* NTP timestamp (middle 32 bits) of la
st received SR */ | |
| struct timeval last_rcv_SR_time; /* time at which last SR was rece
ived */ | | struct timeval last_rcv_SR_time; /* time at which last SR was rece
ived */ | |
| uint16_t snd_seq; /* send sequence number */ | | uint16_t snd_seq; /* send sequence number */ | |
|
| uint32_t last_rtcp_report_snt_r; /* the time of the last rtcp | | | |
| report sent, in recv timestamp unit */ | | | |
| uint32_t last_rtcp_report_snt_s; /* the time of the last rtcp | | | |
| report sent, in send timestamp unit */ | | | |
| uint32_t rtcp_report_snt_interval; /* the interval in timestamp unit | | | |
| between rtcp report sent */ | | | |
| uint32_t last_rtcp_packet_count; /*the sender's octet count in the l
ast sent RTCP SR*/ | | uint32_t last_rtcp_packet_count; /*the sender's octet count in the l
ast sent RTCP SR*/ | |
| uint32_t sent_payload_bytes; /*used for RTCP sender reports*/ | | uint32_t sent_payload_bytes; /*used for RTCP sender reports*/ | |
| unsigned int sent_bytes; /* used for bandwidth estimation */ | | unsigned int sent_bytes; /* used for bandwidth estimation */ | |
| struct timeval send_bw_start; /* used for bandwidth estimation */ | | struct timeval send_bw_start; /* used for bandwidth estimation */ | |
| unsigned int recv_bytes; /* used for bandwidth estimation */ | | unsigned int recv_bytes; /* used for bandwidth estimation */ | |
| struct timeval recv_bw_start; /* used for bandwidth estimation */ | | struct timeval recv_bw_start; /* used for bandwidth estimation */ | |
| rtp_stats_t stats; | | rtp_stats_t stats; | |
| int recv_errno; | | int recv_errno; | |
| int send_errno; | | int send_errno; | |
| int snd_socket_size; | | int snd_socket_size; | |
| int rcv_socket_size; | | int rcv_socket_size; | |
| int ssrc_changed_thres; | | int ssrc_changed_thres; | |
|
| | | jitter_stats_t jitter_stats; | |
| }RtpStream; | | }RtpStream; | |
| | | | |
| typedef struct _RtcpStream | | typedef struct _RtcpStream | |
| { | | { | |
| ortp_socket_t socket; | | ortp_socket_t socket; | |
| int sockfamily; | | int sockfamily; | |
| struct _RtpTransport *tr; | | struct _RtpTransport *tr; | |
| mblk_t *cached_mp; | | mblk_t *cached_mp; | |
| #ifdef ORTP_INET6 | | #ifdef ORTP_INET6 | |
| struct sockaddr_storage rem_addr; | | struct sockaddr_storage rem_addr; | |
| #else | | #else | |
| struct sockaddr_in rem_addr; | | struct sockaddr_in rem_addr; | |
| #endif | | #endif | |
| int rem_addrlen; | | int rem_addrlen; | |
|
| | | int interval; | |
| | | uint32_t last_rtcp_report_snt_r; /* the time of the last rtcp | |
| | | report sent, in recv timestamp unit */ | |
| | | uint32_t last_rtcp_report_snt_s; /* the time of the last rtcp | |
| | | report sent, in send timestamp unit */ | |
| | | uint32_t rtcp_report_snt_interval_r; /* the interval in timestamp un | |
| | | it for receive path between rtcp report sent */ | |
| | | uint32_t rtcp_report_snt_interval_s; /* the interval in timestamp un | |
| | | it for send path between rtcp report sent */ | |
| bool_t enabled; /*tells whether we can send RTCP packets */ | | bool_t enabled; /*tells whether we can send RTCP packets */ | |
| } RtcpStream; | | } RtcpStream; | |
| | | | |
| typedef struct _RtpSession RtpSession; | | typedef struct _RtpSession RtpSession; | |
| | | | |
| /** | | /** | |
| * An object representing a bi-directional RTP session. | | * An object representing a bi-directional RTP session. | |
| * It holds sockets, jitter buffer, various counters (timestamp, sequence n
umbers...) | | * It holds sockets, jitter buffer, various counters (timestamp, sequence n
umbers...) | |
| * Applications SHOULD NOT try to read things within the RtpSession object
but use | | * Applications SHOULD NOT try to read things within the RtpSession object
but use | |
| * instead its public API (the rtp_session_* methods) where RtpSession is u
sed as a | | * instead its public API (the rtp_session_* methods) where RtpSession is u
sed as a | |
| * pointer. | | * pointer. | |
| * rtp_session_new() allocates and initialize a RtpSession. | | * rtp_session_new() allocates and initialize a RtpSession. | |
| **/ | | **/ | |
| struct _RtpSession | | struct _RtpSession | |
| { | | { | |
| RtpSession *next; /* next RtpSession, when the session are enq
ueued by the scheduler */ | | RtpSession *next; /* next RtpSession, when the session are enq
ueued by the scheduler */ | |
| int mask_pos; /* the position in the scheduler mask of RtpSession
: do not move this field: it is part of the ABI since the session_set macro
s use it*/ | | int mask_pos; /* the position in the scheduler mask of RtpSession
: do not move this field: it is part of the ABI since the session_set macro
s use it*/ | |
|
| struct { | | struct { | |
| RtpProfile *profile; | | RtpProfile *profile; | |
| int pt; | | int pt; | |
| unsigned int ssrc; | | unsigned int ssrc; | |
| WaitPoint wp; | | WaitPoint wp; | |
| int telephone_events_pt; /* the payload type used for telepho | | int telephone_events_pt; /* the payload type used for | |
| ny events */ | | telephony events */ | |
| } snd,rcv; | | } snd,rcv; | |
| unsigned int inc_ssrc_candidate; | | unsigned int inc_ssrc_candidate; | |
| int inc_same_ssrc_count; | | int inc_same_ssrc_count; | |
| int hw_recv_pt; /* recv payload type before jitter buffer */ | | int hw_recv_pt; /* recv payload type before jitter buffer */ | |
| int recv_buf_size; | | int recv_buf_size; | |
| RtpSignalTable on_ssrc_changed; | | RtpSignalTable on_ssrc_changed; | |
| RtpSignalTable on_payload_type_changed; | | RtpSignalTable on_payload_type_changed; | |
| RtpSignalTable on_telephone_event_packet; | | RtpSignalTable on_telephone_event_packet; | |
| RtpSignalTable on_telephone_event; | | RtpSignalTable on_telephone_event; | |
| RtpSignalTable on_timestamp_jump; | | RtpSignalTable on_timestamp_jump; | |
| | | | |
| skipping to change at line 212 | | skipping to change at line 229 | |
| int multicast_ttl; | | int multicast_ttl; | |
| int multicast_loopback; | | int multicast_loopback; | |
| void * user_data; | | void * user_data; | |
| /* FIXME: Should be a table for all session participants. */ | | /* FIXME: Should be a table for all session participants. */ | |
| struct timeval last_recv_time; /* Time of receiving the RTP/RTCP pac
ket. */ | | struct timeval last_recv_time; /* Time of receiving the RTP/RTCP pac
ket. */ | |
| mblk_t *pending; | | mblk_t *pending; | |
| /* telephony events extension */ | | /* telephony events extension */ | |
| mblk_t *current_tev; /* the pending telephony events */ | | mblk_t *current_tev; /* the pending telephony events */ | |
| mblk_t *sd; | | mblk_t *sd; | |
| queue_t contributing_sources; | | queue_t contributing_sources; | |
|
| | | unsigned int lost_packets_test_vector; | |
| | | unsigned int interarrival_jitter_test_vector; | |
| | | unsigned int delay_test_vector; | |
| | | float rtt;/*last round trip delay calculated*/ | |
| | | OrtpNetworkSimulatorCtx *net_sim_ctx; | |
| bool_t symmetric_rtp; | | bool_t symmetric_rtp; | |
| bool_t permissive; /*use the permissive algorithm*/ | | bool_t permissive; /*use the permissive algorithm*/ | |
| bool_t use_connect; /* use connect() on the socket */ | | bool_t use_connect; /* use connect() on the socket */ | |
| bool_t ssrc_set; | | bool_t ssrc_set; | |
| }; | | }; | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" | | extern "C" | |
| { | | { | |
| #endif | | #endif | |
| | | | |
| skipping to change at line 236 | | skipping to change at line 258 | |
| void rtp_session_set_blocking_mode(RtpSession *session, int yesno); | | void rtp_session_set_blocking_mode(RtpSession *session, int yesno); | |
| void rtp_session_set_profile(RtpSession *session, RtpProfile *profile); | | void rtp_session_set_profile(RtpSession *session, RtpProfile *profile); | |
| void rtp_session_set_send_profile(RtpSession *session,RtpProfile *profile); | | void rtp_session_set_send_profile(RtpSession *session,RtpProfile *profile); | |
| void rtp_session_set_recv_profile(RtpSession *session,RtpProfile *profile); | | void rtp_session_set_recv_profile(RtpSession *session,RtpProfile *profile); | |
| RtpProfile *rtp_session_get_profile(RtpSession *session); | | RtpProfile *rtp_session_get_profile(RtpSession *session); | |
| RtpProfile *rtp_session_get_send_profile(RtpSession *session); | | RtpProfile *rtp_session_get_send_profile(RtpSession *session); | |
| RtpProfile *rtp_session_get_recv_profile(RtpSession *session); | | RtpProfile *rtp_session_get_recv_profile(RtpSession *session); | |
| int rtp_session_signal_connect(RtpSession *session,const char *signal_name,
RtpCallback cb, unsigned long user_data); | | int rtp_session_signal_connect(RtpSession *session,const char *signal_name,
RtpCallback cb, unsigned long user_data); | |
| int rtp_session_signal_disconnect_by_callback(RtpSession *session,const cha
r *signal_name, RtpCallback cb); | | int rtp_session_signal_disconnect_by_callback(RtpSession *session,const cha
r *signal_name, RtpCallback cb); | |
| void rtp_session_set_ssrc(RtpSession *session, uint32_t ssrc); | | void rtp_session_set_ssrc(RtpSession *session, uint32_t ssrc); | |
|
| | | uint32_t rtp_session_get_send_ssrc(RtpSession* session); | |
| void rtp_session_set_seq_number(RtpSession *session, uint16_t seq); | | void rtp_session_set_seq_number(RtpSession *session, uint16_t seq); | |
| uint16_t rtp_session_get_seq_number(RtpSession *session); | | uint16_t rtp_session_get_seq_number(RtpSession *session); | |
| | | | |
| void rtp_session_enable_jitter_buffer(RtpSession *session , bool_t enabled)
; | | void rtp_session_enable_jitter_buffer(RtpSession *session , bool_t enabled)
; | |
| bool_t rtp_session_jitter_buffer_enabled(const RtpSession *session); | | bool_t rtp_session_jitter_buffer_enabled(const RtpSession *session); | |
| void rtp_session_set_jitter_buffer_params(RtpSession *session, const JBPara
meters *par); | | void rtp_session_set_jitter_buffer_params(RtpSession *session, const JBPara
meters *par); | |
| void rtp_session_get_jitter_buffer_params(RtpSession *session, JBParameters
*par); | | void rtp_session_get_jitter_buffer_params(RtpSession *session, JBParameters
*par); | |
| | | | |
| /*deprecated jitter control functions*/ | | /*deprecated jitter control functions*/ | |
| void rtp_session_set_jitter_compensation(RtpSession *session, int milisec); | | void rtp_session_set_jitter_compensation(RtpSession *session, int milisec); | |
| | | | |
| skipping to change at line 292 | | skipping to change at line 315 | |
| int rtp_session_set_recv_payload_type(RtpSession *session, int pt); | | int rtp_session_set_recv_payload_type(RtpSession *session, int pt); | |
| | | | |
| int rtp_session_set_payload_type(RtpSession *session, int pt); | | int rtp_session_set_payload_type(RtpSession *session, int pt); | |
| | | | |
| void rtp_session_set_symmetric_rtp (RtpSession * session, bool_t yesno); | | void rtp_session_set_symmetric_rtp (RtpSession * session, bool_t yesno); | |
| | | | |
| void rtp_session_set_connected_mode(RtpSession *session, bool_t yesno); | | void rtp_session_set_connected_mode(RtpSession *session, bool_t yesno); | |
| | | | |
| void rtp_session_enable_rtcp(RtpSession *session, bool_t yesno); | | void rtp_session_enable_rtcp(RtpSession *session, bool_t yesno); | |
| | | | |
|
| | | void rtp_session_set_rtcp_report_interval(RtpSession *session, int value_ms | |
| | | ); | |
| | | | |
| void rtp_session_set_ssrc_changed_threshold(RtpSession *session, int numpac
kets); | | void rtp_session_set_ssrc_changed_threshold(RtpSession *session, int numpac
kets); | |
| | | | |
| /*low level recv and send functions */ | | /*low level recv and send functions */ | |
| mblk_t * rtp_session_recvm_with_ts (RtpSession * session, uint32_t user_ts)
; | | mblk_t * rtp_session_recvm_with_ts (RtpSession * session, uint32_t user_ts)
; | |
| mblk_t * rtp_session_create_packet(RtpSession *session,int header_size, con
st uint8_t *payload, int payload_size); | | mblk_t * rtp_session_create_packet(RtpSession *session,int header_size, con
st uint8_t *payload, int payload_size); | |
| mblk_t * rtp_session_create_packet_with_data(RtpSession *session, uint8_t *
payload, int payload_size, void (*freefn)(void*)); | | mblk_t * rtp_session_create_packet_with_data(RtpSession *session, uint8_t *
payload, int payload_size, void (*freefn)(void*)); | |
| mblk_t * rtp_session_create_packet_in_place(RtpSession *session,uint8_t *bu
ffer, int size, void (*freefn)(void*) ); | | mblk_t * rtp_session_create_packet_in_place(RtpSession *session,uint8_t *bu
ffer, int size, void (*freefn)(void*) ); | |
| int rtp_session_sendm_with_ts (RtpSession * session, mblk_t *mp, uint32_t u
serts); | | int rtp_session_sendm_with_ts (RtpSession * session, mblk_t *mp, uint32_t u
serts); | |
| /* high level recv and send functions */ | | /* high level recv and send functions */ | |
| int rtp_session_recv_with_ts(RtpSession *session, uint8_t *buffer, int len,
uint32_t ts, int *have_more); | | int rtp_session_recv_with_ts(RtpSession *session, uint8_t *buffer, int len,
uint32_t ts, int *have_more); | |
| | | | |
| skipping to change at line 323 | | skipping to change at line 348 | |
| | | | |
| uint32_t rtp_session_get_current_send_ts(RtpSession *session); | | uint32_t rtp_session_get_current_send_ts(RtpSession *session); | |
| uint32_t rtp_session_get_current_recv_ts(RtpSession *session); | | uint32_t rtp_session_get_current_recv_ts(RtpSession *session); | |
| void rtp_session_flush_sockets(RtpSession *session); | | void rtp_session_flush_sockets(RtpSession *session); | |
| void rtp_session_release_sockets(RtpSession *session); | | void rtp_session_release_sockets(RtpSession *session); | |
| void rtp_session_resync(RtpSession *session); | | void rtp_session_resync(RtpSession *session); | |
| void rtp_session_reset(RtpSession *session); | | void rtp_session_reset(RtpSession *session); | |
| void rtp_session_destroy(RtpSession *session); | | void rtp_session_destroy(RtpSession *session); | |
| | | | |
| const rtp_stats_t * rtp_session_get_stats(const RtpSession *session); | | const rtp_stats_t * rtp_session_get_stats(const RtpSession *session); | |
|
| | | const jitter_stats_t * rtp_session_get_jitter_stats( const RtpSession *sess
ion ); | |
| void rtp_session_reset_stats(RtpSession *session); | | void rtp_session_reset_stats(RtpSession *session); | |
| | | | |
| void rtp_session_set_data(RtpSession *session, void *data); | | void rtp_session_set_data(RtpSession *session, void *data); | |
| void *rtp_session_get_data(const RtpSession *session); | | void *rtp_session_get_data(const RtpSession *session); | |
| | | | |
| void rtp_session_set_recv_buf_size(RtpSession *session, int bufsize); | | void rtp_session_set_recv_buf_size(RtpSession *session, int bufsize); | |
| void rtp_session_set_rtp_socket_send_buffer_size(RtpSession * session, unsi
gned int size); | | void rtp_session_set_rtp_socket_send_buffer_size(RtpSession * session, unsi
gned int size); | |
| void rtp_session_set_rtp_socket_recv_buffer_size(RtpSession * session, unsi
gned int size); | | void rtp_session_set_rtp_socket_recv_buffer_size(RtpSession * session, unsi
gned int size); | |
| | | | |
| /* in use with the scheduler to convert a timestamp in scheduler time unit
(ms) */ | | /* in use with the scheduler to convert a timestamp in scheduler time unit
(ms) */ | |
| | | | |
| skipping to change at line 358 | | skipping to change at line 384 | |
| mblk_t* rtp_session_create_rtcp_sdes_packet(RtpSession *session); | | mblk_t* rtp_session_create_rtcp_sdes_packet(RtpSession *session); | |
| | | | |
| void rtp_session_get_last_recv_time(RtpSession *session, struct timeval *tv
); | | void rtp_session_get_last_recv_time(RtpSession *session, struct timeval *tv
); | |
| int rtp_session_bye(RtpSession *session, const char *reason); | | int rtp_session_bye(RtpSession *session, const char *reason); | |
| | | | |
| int rtp_session_get_last_send_error_code(RtpSession *session); | | int rtp_session_get_last_send_error_code(RtpSession *session); | |
| void rtp_session_clear_send_error_code(RtpSession *session); | | void rtp_session_clear_send_error_code(RtpSession *session); | |
| int rtp_session_get_last_recv_error_code(RtpSession *session); | | int rtp_session_get_last_recv_error_code(RtpSession *session); | |
| void rtp_session_clear_recv_error_code(RtpSession *session); | | void rtp_session_clear_recv_error_code(RtpSession *session); | |
| | | | |
|
| | | float rtp_session_get_round_trip_propagation(RtpSession *session); | |
| | | | |
| | | void rtp_session_enable_network_simulation(RtpSession *session, const OrtpN | |
| | | etworkSimulatorParams *params); | |
| | | void rtp_session_rtcp_set_lost_packet_value( RtpSession *session, const uns | |
| | | igned int value ); | |
| | | void rtp_session_rtcp_set_jitter_value(RtpSession *session, const unsigned | |
| | | int value ); | |
| | | void rtp_session_rtcp_set_delay_value(RtpSession *session, const unsigned i | |
| | | nt value ); | |
| | | mblk_t * rtp_session_pick_with_cseq (RtpSession * session, const uint16_t s | |
| | | equence_number); | |
| /*private */ | | /*private */ | |
| void rtp_session_init(RtpSession *session, int mode); | | void rtp_session_init(RtpSession *session, int mode); | |
| #define rtp_session_set_flag(session,flag) (session)->flags|=(flag) | | #define rtp_session_set_flag(session,flag) (session)->flags|=(flag) | |
| #define rtp_session_unset_flag(session,flag) (session)->flags&=~(flag) | | #define rtp_session_unset_flag(session,flag) (session)->flags&=~(flag) | |
| void rtp_session_uninit(RtpSession *session); | | void rtp_session_uninit(RtpSession *session); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| | | | |
End of changes. 10 change blocks. |
| 13 lines changed or deleted | | 53 lines changed or added | |
|