| config.h | | config.h | |
| | | | |
| skipping to change at line 114 | | skipping to change at line 114 | |
| /* 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" | |
| | | | |
| /* 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.0/lib/liblinpho
ne/plugins" | | #define LINPHONE_PLUGINS_DIR "/home/ut/testing/linphone/3.4.1/lib/liblinpho
ne/plugins" | |
| | | | |
| /* Linphone's version number */ | | /* Linphone's version number */ | |
|
| #define LINPHONE_VERSION "3.4.0" | | #define LINPHONE_VERSION "3.4.1" | |
| | | | |
| /* 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.0/share" | | #define PACKAGE_DATA_DIR "/home/ut/testing/linphone/3.4.1/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.0/share/locale" | | #define PACKAGE_LOCALE_DIR "/home/ut/testing/linphone/3.4.1/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.0/share/sounds/lin
phone" | | #define PACKAGE_SOUND_DIR "/home/ut/testing/linphone/3.4.1/share/sounds/lin
phone" | |
| | | | |
| /* 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.0" | | #define PACKAGE_STRING "linphone 3.4.1" | |
| | | | |
| /* 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.0" | | #define PACKAGE_VERSION "3.4.1" | |
| | | | |
| /* 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.0" | | #define VERSION "3.4.1" | |
| | | | |
| /* 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. 8 change blocks. |
| 8 lines changed or deleted | | 8 lines changed or added | |
|
| mediastream.h | | mediastream.h | |
| | | | |
| skipping to change at line 86 | | skipping to change at line 86 | |
| MSTicker *ticker; | | MSTicker *ticker; | |
| MSFilter *source; | | MSFilter *source; | |
| MSFilter *gendtmf; | | MSFilter *gendtmf; | |
| MSFilter *write_resampler; | | MSFilter *write_resampler; | |
| MSFilter *sndwrite; | | MSFilter *sndwrite; | |
| }; | | }; | |
| | | | |
| typedef struct _RingStream RingStream; | | typedef struct _RingStream RingStream; | |
| | | | |
| /* start a thread that does sampling->encoding->rtp_sending|rtp_receiving->
decoding->playing */ | | /* start a thread that does sampling->encoding->rtp_sending|rtp_receiving->
decoding->playing */ | |
|
| AudioStream *audio_stream_start (RtpProfile * prof, int locport, const char
*remip, | | MS2_PUBLIC AudioStream *audio_stream_start (RtpProfile * prof, int locport,
const char *remip, | |
| int remport, int payload_type, int jitt_com
p, bool_t echo_cancel); | | int remport, int payload_type, int jitt_com
p, bool_t echo_cancel); | |
| | | | |
|
| AudioStream *audio_stream_start_with_sndcards(RtpProfile * prof, int locpor
t, const char *remip4, int remport, int payload_type, int jitt_comp, MSSndC
ard *playcard, MSSndCard *captcard, bool_t echocancel); | | MS2_PUBLIC AudioStream *audio_stream_start_with_sndcards(RtpProfile * prof,
int locport, const char *remip4, int remport, int payload_type, int jitt_c
omp, MSSndCard *playcard, MSSndCard *captcard, bool_t echocancel); | |
| | | | |
|
| int audio_stream_start_with_files (AudioStream * stream, RtpProfile * prof, | | MS2_PUBLIC int audio_stream_start_with_files (AudioStream * stream, RtpProf
ile * prof, | |
| const char *remip, int remport,
int rem_rtcp_port, | | const char *remip, int remport,
int rem_rtcp_port, | |
| int pt, int jitt_comp, | | int pt, int jitt_comp, | |
| const char * infile, const char
* outfile); | | const char * infile, const char
* outfile); | |
| | | | |
|
| int audio_stream_start_full(AudioStream *stream, RtpProfile *profile, const
char *remip,int remport, | | MS2_PUBLIC int audio_stream_start_full(AudioStream *stream, RtpProfile *pro
file, const char *remip,int remport, | |
| int rem_rtcp_port, int payload,int jitt_comp, const char *infile, co
nst char *outfile, | | int rem_rtcp_port, int payload,int jitt_comp, const char *infile, co
nst char *outfile, | |
| MSSndCard *playcard, MSSndCard *captcard, bool_t use_ec); | | MSSndCard *playcard, MSSndCard *captcard, bool_t use_ec); | |
| | | | |
|
| void audio_stream_play(AudioStream *st, const char *name); | | MS2_PUBLIC void audio_stream_play(AudioStream *st, const char *name); | |
| void audio_stream_record(AudioStream *st, const char *name); | | MS2_PUBLIC void audio_stream_record(AudioStream *st, const char *name); | |
| | | | |
|
| void audio_stream_set_rtcp_information(AudioStream *st, const char *cname,
const char *tool); | | MS2_PUBLIC void audio_stream_set_rtcp_information(AudioStream *st, const ch
ar *cname, const char *tool); | |
| | | | |
|
| void audio_stream_play_received_dtmfs(AudioStream *st, bool_t yesno); | | MS2_PUBLIC void audio_stream_play_received_dtmfs(AudioStream *st, bool_t ye
sno); | |
| | | | |
| /* 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.*/ | |
|
| AudioStream *audio_stream_new(int locport, bool_t ipv6); | | MS2_PUBLIC AudioStream *audio_stream_new(int locport, bool_t ipv6); | |
| int audio_stream_start_now(AudioStream * stream, RtpProfile * prof, const | | MS2_PUBLIC int audio_stream_start_now(AudioStream * stream, RtpProfile * pr | |
| char *remip, int remport, int rem_rtcp_port, int payload_type, int jitt_com | | of, const char *remip, int remport, int rem_rtcp_port, int payload_type, i | |
| p,MSSndCard *playcard, MSSndCard *captcard, bool_t echo_cancel); | | nt jitt_comp,MSSndCard *playcard, MSSndCard *captcard, bool_t echo_cancel); | |
| void audio_stream_set_relay_session_id(AudioStream *stream, const char *rel | | MS2_PUBLIC void audio_stream_set_relay_session_id(AudioStream *stream, cons | |
| ay_session_id); | | 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*/ | |
|
| bool_t audio_stream_alive(AudioStream * stream, int timeout); | | MS2_PUBLIC bool_t audio_stream_alive(AudioStream * stream, int timeout); | |
| | | | |
| /*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*/ | |
|
| void audio_stream_enable_echo_limiter(AudioStream *stream, EchoLimiterType
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() */ | |
|
| 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() */ | |
|
| void audio_stream_enable_automatic_gain_control(AudioStream *stream, 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 */ | |
|
| void audio_stream_set_echo_canceller_params(AudioStream *st, int tail_len_m
s, 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); | |
| | | | |
|
| 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 */ | |
|
| 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()*/ | |
|
| 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*/ | |
|
| void audio_stream_enable_equalizer(AudioStream *stream, bool_t enabled); | | MS2_PUBLIC void audio_stream_enable_equalizer(AudioStream *stream, bool_t e
nabled); | |
| | | | |
|
| void audio_stream_equalizer_set_gain(AudioStream *stream, int frequency, fl
oat gain, int freq_width); | | MS2_PUBLIC void audio_stream_equalizer_set_gain(AudioStream *stream, int fr
equency, float gain, int freq_width); | |
| | | | |
| /* stop the audio streaming thread and free everything*/ | | /* stop the audio streaming thread and free everything*/ | |
|
| void audio_stream_stop (AudioStream * stream); | | MS2_PUBLIC void audio_stream_stop (AudioStream * stream); | |
| | | | |
|
| RingStream *ring_start (const char * file, int interval, MSSndCard *sndcard | | MS2_PUBLIC RingStream *ring_start (const char * file, int interval, MSSndCa | |
| ); | | rd *sndcard); | |
| RingStream *ring_start_with_cb(const char * file, int interval, MSSndCard * | | MS2_PUBLIC RingStream *ring_start_with_cb(const char * file, int interval, | |
| sndcard, MSFilterNotifyFunc func, void * user_data); | | MSSndCard *sndcard, MSFilterNotifyFunc func, void * user_data); | |
| void ring_stop (RingStream * stream); | | MS2_PUBLIC void ring_stop (RingStream * stream); | |
| | | | |
| /* send a dtmf */ | | /* send a dtmf */ | |
|
| int audio_stream_send_dtmf (AudioStream * stream, char dtmf); | | MS2_PUBLIC int audio_stream_send_dtmf (AudioStream * stream, char dtmf); | |
| | | | |
|
| void audio_stream_set_default_card(int cardindex); | | MS2_PUBLIC void audio_stream_set_default_card(int cardindex); | |
| | | | |
| /* retrieve RTP statistics*/ | | /* retrieve RTP statistics*/ | |
|
| void audio_stream_get_local_rtp_stats(AudioStream *stream, rtp_stats_t *sta
ts); | | MS2_PUBLIC void audio_stream_get_local_rtp_stats(AudioStream *stream, rtp_s
tats_t *stats); | |
| | | | |
| /***************** | | /***************** | |
| 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, | |
| | | | |
| skipping to change at line 203 | | skipping to change at line 203 | |
| 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 adapt_bitrate; | |
| }; | | }; | |
| | | | |
| typedef struct _VideoStream VideoStream; | | typedef struct _VideoStream VideoStream; | |
| | | | |
|
| VideoStream *video_stream_new(int locport, bool_t use_ipv6); | | MS2_PUBLIC VideoStream *video_stream_new(int locport, bool_t use_ipv6); | |
| void video_stream_set_direction(VideoStream *vs, VideoStreamDir dir); | | MS2_PUBLIC void video_stream_set_direction(VideoStream *vs, VideoStreamDir | |
| void video_stream_enable_adaptive_bitrate_control(VideoStream *s, bool_t ye | | dir); | |
| sno); | | MS2_PUBLIC void video_stream_enable_adaptive_bitrate_control(VideoStream *s | |
| void video_stream_set_render_callback(VideoStream *s, VideoStreamRenderCall | | , bool_t yesno); | |
| back cb, void *user_pointer); | | MS2_PUBLIC void video_stream_set_render_callback(VideoStream *s, VideoStrea | |
| void video_stream_set_event_callback(VideoStream *s, VideoStreamEventCallba | | mRenderCallback cb, void *user_pointer); | |
| ck cb, void *user_pointer); | | MS2_PUBLIC void video_stream_set_event_callback(VideoStream *s, VideoStream | |
| void video_stream_set_display_filter_name(VideoStream *s, const char *fname | | EventCallback cb, void *user_pointer); | |
| ); | | MS2_PUBLIC void video_stream_set_display_filter_name(VideoStream *s, const | |
| int video_stream_start(VideoStream * stream, RtpProfile *profile, const cha | | char *fname); | |
| r *remip, int remport, int rem_rtcp_port, | | MS2_PUBLIC int video_stream_start(VideoStream * stream, RtpProfile *profile | |
| | | , const char *remip, int remport, int rem_rtcp_port, | |
| int payload, int jitt_comp, MSWebCam *device); | | int payload, int jitt_comp, MSWebCam *device); | |
| | | | |
|
| void video_stream_set_relay_session_id(VideoStream *stream, const char *rel | | MS2_PUBLIC void video_stream_set_relay_session_id(VideoStream *stream, cons | |
| ay_session_id); | | t char *relay_session_id); | |
| void video_stream_set_rtcp_information(VideoStream *st, const char *cname, | | MS2_PUBLIC void video_stream_set_rtcp_information(VideoStream *st, const ch | |
| const char *tool); | | ar *cname, const char *tool); | |
| void video_stream_change_camera(VideoStream *stream, MSWebCam *cam); | | MS2_PUBLIC void video_stream_change_camera(VideoStream *stream, MSWebCam *c | |
| | | am); | |
| /* Calling video_stream_set_sent_video_size() or changing the bitrate value
in the used PayloadType during a stream is running does nothing. | | /* Calling video_stream_set_sent_video_size() or changing the bitrate value
in the used PayloadType during a stream is running does nothing. | |
| The following function allows to take into account new parameters by redraw
ing the sending graph*/ | | The following function allows to take into account new parameters by redraw
ing the sending graph*/ | |
|
| void video_stream_update_video_params(VideoStream *stream); | | MS2_PUBLIC void video_stream_update_video_params(VideoStream *stream); | |
| /*function to call periodically to handle various events */ | | /*function to call periodically to handle various events */ | |
|
| void video_stream_iterate(VideoStream *stream); | | MS2_PUBLIC void video_stream_iterate(VideoStream *stream); | |
| void video_stream_send_vfu(VideoStream *stream); | | MS2_PUBLIC void video_stream_send_vfu(VideoStream *stream); | |
| void video_stream_stop(VideoStream * stream); | | MS2_PUBLIC void video_stream_stop(VideoStream * stream); | |
| void video_stream_set_sent_video_size(VideoStream *stream, MSVideoSize vsiz | | MS2_PUBLIC void video_stream_set_sent_video_size(VideoStream *stream, MSVid | |
| e); | | eoSize vsize); | |
| void video_stream_enable_self_view(VideoStream *stream, bool_t val); | | MS2_PUBLIC void video_stream_enable_self_view(VideoStream *stream, bool_t v | |
| unsigned long video_stream_get_native_window_id(VideoStream *stream); | | al); | |
| void video_stream_set_native_window_id(VideoStream *stream, unsigned long i | | MS2_PUBLIC unsigned long video_stream_get_native_window_id(VideoStream *str | |
| d); | | eam); | |
| void video_stream_set_native_preview_window_id(VideoStream *stream, unsigne | | MS2_PUBLIC void video_stream_set_native_window_id(VideoStream *stream, unsi | |
| d long id); | | gned long id); | |
| unsigned long video_stream_get_native_preview_window_id(VideoStream *stream | | MS2_PUBLIC void video_stream_set_native_preview_window_id(VideoStream *stre | |
| ); | | am, unsigned long id); | |
| void video_stream_use_preview_video_window(VideoStream *stream, bool_t yesn | | MS2_PUBLIC unsigned long video_stream_get_native_preview_window_id(VideoStr | |
| o); | | eam *stream); | |
| | | MS2_PUBLIC void video_stream_use_preview_video_window(VideoStream *stream, | |
| | | bool_t yesno); | |
| | | | |
| /*provided for compatibility, use video_stream_set_direction() instead */ | | /*provided for compatibility, use video_stream_set_direction() instead */ | |
|
| int video_stream_recv_only_start(VideoStream *videostream, RtpProfile *prof | | MS2_PUBLIC int video_stream_recv_only_start(VideoStream *videostream, RtpPr | |
| ile, const char *addr, int port, int used_pt, int jitt_comp); | | ofile *profile, const char *addr, int port, int used_pt, int jitt_comp); | |
| 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); | |
|
| void video_stream_recv_only_stop(VideoStream *vs); | | MS2_PUBLIC void video_stream_recv_only_stop(VideoStream *vs); | |
| void video_stream_send_only_stop(VideoStream *vs); | | MS2_PUBLIC void video_stream_send_only_stop(VideoStream *vs); | |
| | | | |
| /** | | /** | |
| * Small API to display a local preview window. | | * Small API to display a local preview window. | |
| **/ | | **/ | |
| | | | |
| typedef VideoStream VideoPreview; | | typedef VideoStream VideoPreview; | |
| | | | |
|
| 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) | |
| #define video_preview_get_native_window_id(p) video_stream
_get_native_preview_window_id (p) | | #define video_preview_get_native_window_id(p) video_stream
_get_native_preview_window_id (p) | |
|
| void video_preview_start(VideoPreview *stream, MSWebCam *device); | | MS2_PUBLIC void video_preview_start(VideoPreview *stream, MSWebCam *device) | |
| void video_preview_stop(VideoPreview *stream); | | ; | |
| | | MS2_PUBLIC void video_preview_stop(VideoPreview *stream); | |
| | | | |
|
| bool_t ms_is_ipv6(const char *address); | | MS2_PUBLIC bool_t ms_is_ipv6(const char *address); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 32 change blocks. |
| 75 lines changed or deleted | | 80 lines changed or added | |
|
| mscommon.h | | mscommon.h | |
| | | | |
| skipping to change at line 47 | | skipping to change at line 47 | |
| #define ms_mutex_lock ortp_mutex_lock | | #define ms_mutex_lock ortp_mutex_lock | |
| #define ms_mutex_unlock ortp_mutex_unlock | | #define ms_mutex_unlock ortp_mutex_unlock | |
| | | | |
| #define ms_cond_t ortp_cond_t | | #define ms_cond_t ortp_cond_t | |
| #define ms_cond_init ortp_cond_init | | #define ms_cond_init ortp_cond_init | |
| #define ms_cond_wait ortp_cond_wait | | #define ms_cond_wait ortp_cond_wait | |
| #define ms_cond_signal ortp_cond_signal | | #define ms_cond_signal ortp_cond_signal | |
| #define ms_cond_broadcast ortp_cond_broadcast | | #define ms_cond_broadcast ortp_cond_broadcast | |
| #define ms_cond_destroy ortp_cond_destroy | | #define ms_cond_destroy ortp_cond_destroy | |
| | | | |
|
| | | #if defined(_MSC_VER) | |
| | | #define MS2_PUBLIC __declspec(dllexport) | |
| | | #else | |
| | | #define MS2_PUBLIC | |
| | | #endif | |
| | | | |
| #if defined(_WIN32_WCE) | | #if defined(_WIN32_WCE) | |
| time_t ms_time (time_t *t); | | time_t ms_time (time_t *t); | |
| #else | | #else | |
| #define ms_time time | | #define ms_time time | |
| #endif | | #endif | |
| | | | |
| #ifdef WIN32 | | #ifdef WIN32 | |
| static inline void ms_debug(const char *fmt,...) | | static inline void ms_debug(const char *fmt,...) | |
| { | | { | |
| va_list args; | | va_list args; | |
| | | | |
| skipping to change at line 107 | | skipping to change at line 113 | |
| | | | |
| #define ms_list_next(elem) ((elem)->next) | | #define ms_list_next(elem) ((elem)->next) | |
| | | | |
| typedef int (*MSCompareFunc)(const void *a, const void *b); | | typedef int (*MSCompareFunc)(const void *a, const void *b); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C"{ | | extern "C"{ | |
| #endif | | #endif | |
| | | | |
| void ms_thread_exit(void* ret_val); | | void ms_thread_exit(void* ret_val); | |
|
| MSList * ms_list_append(MSList *elem, void * data); | | MS2_PUBLIC MSList * ms_list_append(MSList *elem, void * data); | |
| MSList * ms_list_prepend(MSList *elem, void * data); | | MS2_PUBLIC MSList * ms_list_prepend(MSList *elem, void * data); | |
| MSList * ms_list_free(MSList *elem); | | MS2_PUBLIC MSList * ms_list_free(MSList *elem); | |
| MSList * ms_list_concat(MSList *first, MSList *second); | | MS2_PUBLIC MSList * ms_list_concat(MSList *first, MSList *second); | |
| MSList * ms_list_remove(MSList *first, void *data); | | MS2_PUBLIC MSList * ms_list_remove(MSList *first, void *data); | |
| int ms_list_size(const MSList *first); | | MS2_PUBLIC int ms_list_size(const MSList *first); | |
| void ms_list_for_each(const MSList *list, void (*func)(void *)); | | MS2_PUBLIC void ms_list_for_each(const MSList *list, void (*func)(void *)); | |
| void ms_list_for_each2(const MSList *list, void (*func)(void *, void *), vo | | MS2_PUBLIC void ms_list_for_each2(const MSList *list, void (*func)(void *, | |
| id *user_data); | | void *), void *user_data); | |
| MSList *ms_list_remove_link(MSList *list, MSList *elem); | | MS2_PUBLIC MSList *ms_list_remove_link(MSList *list, MSList *elem); | |
| MSList *ms_list_find(MSList *list, void *data); | | MS2_PUBLIC MSList *ms_list_find(MSList *list, void *data); | |
| MSList *ms_list_find_custom(MSList *list, MSCompareFunc compare_func, const | | MS2_PUBLIC MSList *ms_list_find_custom(MSList *list, MSCompareFunc compare_ | |
| void *user_data); | | func, const void *user_data); | |
| void * ms_list_nth_data(const MSList *list, int index); | | MS2_PUBLIC void * ms_list_nth_data(const MSList *list, int index); | |
| int ms_list_position(const MSList *list, MSList *elem); | | MS2_PUBLIC int ms_list_position(const MSList *list, MSList *elem); | |
| int ms_list_index(const MSList *list, void *data); | | MS2_PUBLIC int ms_list_index(const MSList *list, void *data); | |
| MSList *ms_list_insert_sorted(MSList *list, void *data, MSCompareFunc compa | | MS2_PUBLIC MSList *ms_list_insert_sorted(MSList *list, void *data, MSCompar | |
| re_func); | | eFunc compare_func); | |
| MSList *ms_list_insert(MSList *list, MSList *before, void *data); | | MS2_PUBLIC MSList *ms_list_insert(MSList *list, MSList *before, void *data) | |
| MSList *ms_list_copy(const MSList *list); | | ; | |
| | | MS2_PUBLIC MSList *ms_list_copy(const MSList *list); | |
| | | | |
| #undef MIN | | #undef MIN | |
| #define MIN(a,b) ((a)>(b) ? (b) : (a)) | | #define MIN(a,b) ((a)>(b) ? (b) : (a)) | |
| #undef MAX | | #undef MAX | |
| #define MAX(a,b) ((a)>(b) ? (a) : (b)) | | #define MAX(a,b) ((a)>(b) ? (a) : (b)) | |
| | | | |
| /** | | /** | |
| * @file mscommon.h | | * @file mscommon.h | |
| * @brief mediastreamer2 mscommon.h include file | | * @brief mediastreamer2 mscommon.h include file | |
| * | | * | |
| | | | |
| skipping to change at line 150 | | skipping to change at line 156 | |
| * @defgroup mediastreamer2_init Init API - manage mediastreamer2 library. | | * @defgroup mediastreamer2_init Init API - manage mediastreamer2 library. | |
| * @ingroup mediastreamer2_api | | * @ingroup mediastreamer2_api | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Initialize the mediastreamer2 library. | | * Initialize the mediastreamer2 library. | |
| * | | * | |
| * This must be called once before calling any other API. | | * This must be called once before calling any other API. | |
| */ | | */ | |
|
| void ms_init(void); | | MS2_PUBLIC void ms_init(void); | |
| | | | |
| /** | | /** | |
| * Load plugins from a specific directory. | | * Load plugins from a specific directory. | |
| * This method basically loads all libraries in the specified directory and
attempts to call a C function called | | * This method basically loads all libraries in the specified directory and
attempts to call a C function called | |
| * \<libraryname\>_init. For example if a library 'libdummy.so' or 'libdumm
y.dll' is found, then the loader tries to locate | | * \<libraryname\>_init. For example if a library 'libdummy.so' or 'libdumm
y.dll' is found, then the loader tries to locate | |
| * a C function called 'libdummy_init()' and calls it if it exists. | | * a C function called 'libdummy_init()' and calls it if it exists. | |
| * ms_load_plugins() can be used to load non-mediastreamer2 plugins as it d
oes not expect mediastreamer2 specific entry points. | | * ms_load_plugins() can be used to load non-mediastreamer2 plugins as it d
oes not expect mediastreamer2 specific entry points. | |
| * | | * | |
| * @param directory A directory where plugins library are available. | | * @param directory A directory where plugins library are available. | |
| * | | * | |
| * Returns: >0 if successfull, 0 if not plugins loaded, -1 otherwise. | | * Returns: >0 if successfull, 0 if not plugins loaded, -1 otherwise. | |
| */ | | */ | |
|
| int ms_load_plugins(const char *directory); | | MS2_PUBLIC int ms_load_plugins(const char *directory); | |
| | | | |
| /** | | /** | |
| * Release resource allocated in the mediastreamer2 library. | | * Release resource allocated in the mediastreamer2 library. | |
| * | | * | |
| * This must be called once before closing program. | | * This must be called once before closing program. | |
| */ | | */ | |
|
| void ms_exit(void); | | MS2_PUBLIC void ms_exit(void); | |
| | | | |
| struct _MSSndCardDesc; | | struct _MSSndCardDesc; | |
| | | | |
|
| void ms_sleep(int seconds); | | MS2_PUBLIC void ms_sleep(int seconds); | |
| | | | |
|
| void ms_usleep(uint64_t usec); | | MS2_PUBLIC void ms_usleep(uint64_t usec); | |
| | | | |
| /** | | /** | |
| * The max payload size allowed. | | * The max payload size allowed. | |
| * Filters that generate data that can be sent through RTP should make pack
ets | | * Filters that generate data that can be sent through RTP should make pack
ets | |
| * whose size is below ms_get_payload_max_size(). | | * whose size is below ms_get_payload_max_size(). | |
| * The default value is 1440 computed as the standard internet MTU minus IP
v6 header, | | * The default value is 1440 computed as the standard internet MTU minus IP
v6 header, | |
| * UDP header and RTP header. As IPV4 header is smaller than IPv6 header, t
his | | * UDP header and RTP header. As IPV4 header is smaller than IPv6 header, t
his | |
| * value works for both. | | * value works for both. | |
| * | | * | |
| **/ | | **/ | |
|
| int ms_get_payload_max_size(); | | MS2_PUBLIC int ms_get_payload_max_size(); | |
| | | | |
|
| void ms_set_payload_max_size(int size); | | MS2_PUBLIC void ms_set_payload_max_size(int size); | |
| | | | |
| /** | | /** | |
| * Returns the network Max Transmission Unit to reach destination_host. | | * Returns the network Max Transmission Unit to reach destination_host. | |
| * This will attempt to send one or more big packets to destination_host, t
o a random port. | | * This will attempt to send one or more big packets to destination_host, t
o a random port. | |
| * Those packets are filled with zeroes. | | * Those packets are filled with zeroes. | |
| **/ | | **/ | |
|
| int ms_discover_mtu(const char *destination_host); | | MS2_PUBLIC int ms_discover_mtu(const char *destination_host); | |
| | | | |
| /** | | /** | |
| * Set mediastreamer default mtu, used to compute the default RTP max paylo
ad size. | | * Set mediastreamer default mtu, used to compute the default RTP max paylo
ad size. | |
| * This function will call ms_set_payload_max_size(mtu-[ipv6 header size]). | | * This function will call ms_set_payload_max_size(mtu-[ipv6 header size]). | |
| **/ | | **/ | |
|
| void ms_set_mtu(int mtu); | | MS2_PUBLIC void ms_set_mtu(int mtu); | |
| | | | |
| /** @} */ | | /** @} */ | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #ifdef ANDROID | | #ifdef ANDROID | |
| #include "mediastreamer2/msjava.h" | | #include "mediastreamer2/msjava.h" | |
| #endif | | #endif | |
| | | | |
End of changes. 11 change blocks. |
| 29 lines changed or deleted | | 36 lines changed or added | |
|
| msfilter.h | | msfilter.h | |
| | | | |
| skipping to change at line 192 | | skipping to change at line 192 | |
| * transparently from the application. | | * transparently from the application. | |
| * | | * | |
| * ms_filter_get_encoder, ms_filter_get_decoder, | | * ms_filter_get_encoder, ms_filter_get_decoder, | |
| * ms_filter_create_encoder, ms_filter_create_decoder | | * ms_filter_create_encoder, ms_filter_create_decoder | |
| * and ms_filter_codec_supported | | * and ms_filter_codec_supported | |
| * can then be used as if the codec was internally. | | * can then be used as if the codec was internally. | |
| * supported. | | * supported. | |
| * | | * | |
| * @param desc a filter description. | | * @param desc a filter description. | |
| */ | | */ | |
|
| void ms_filter_register(MSFilterDesc *desc); | | MS2_PUBLIC void ms_filter_register(MSFilterDesc *desc); | |
| | | | |
| /** | | /** | |
| * Retrieve encoders according to codec name. | | * Retrieve encoders 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 MSFilterDesc if successfull, NULL otherwise. | | * Returns: a MSFilterDesc if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSFilterDesc * ms_filter_get_encoder(const char *mime); | | MS2_PUBLIC MSFilterDesc * ms_filter_get_encoder(const char *mime); | |
| | | | |
| /** | | /** | |
| * Retrieve decoders according to codec name. | | * Retrieve decoders 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 MSFilterDesc if successfull, NULL otherwise. | | * Returns: a MSFilterDesc if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSFilterDesc * ms_filter_get_decoder(const char *mime); | | MS2_PUBLIC MSFilterDesc * ms_filter_get_decoder(const char *mime); | |
| | | | |
| /** | | /** | |
| * 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. | |
| */ | | */ | |
|
| MSFilter * ms_filter_create_encoder(const char *mime); | | MS2_PUBLIC MSFilter * ms_filter_create_encoder(const char *mime); | |
| | | | |
| /** | | /** | |
| * Create decoder filter according to codec name. | | * Create decoder 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. | |
| */ | | */ | |
|
| MSFilter * ms_filter_create_decoder(const char *mime); | | MS2_PUBLIC MSFilter * ms_filter_create_decoder(const char *mime); | |
| | | | |
| /** | | /** | |
| * Check if a encode or decode filter exists for a codec name. | | * Check if a encode or decode filter exists for a 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: TRUE if successfull, FALSE otherwise. | | * Returns: TRUE if successfull, FALSE otherwise. | |
| */ | | */ | |
|
| bool_t ms_filter_codec_supported(const char *mime); | | MS2_PUBLIC bool_t ms_filter_codec_supported(const char *mime); | |
| | | | |
| /** | | /** | |
| * Create decoder filter according to a filter's MSFilterId. | | * Create decoder filter according to a filter's MSFilterId. | |
| * | | * | |
| * @param id A MSFilterId identifier for the filter. | | * @param id A MSFilterId identifier for the filter. | |
| * | | * | |
| * Returns: a MSFilter if successfull, NULL otherwise. | | * Returns: a MSFilter if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSFilter *ms_filter_new(MSFilterId id); | | MS2_PUBLIC MSFilter *ms_filter_new(MSFilterId id); | |
| | | | |
| /** | | /** | |
| * Create decoder filter according to a filter's name. | | * Create decoder filter according to a filter's name. | |
| * | | * | |
| * @param name A name for the filter. | | * @param name A name for the filter. | |
| * | | * | |
| * Returns: a MSFilter if successfull, NULL otherwise. | | * Returns: a MSFilter if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSFilter *ms_filter_new_from_name(const char *name); | | MS2_PUBLIC MSFilter *ms_filter_new_from_name(const char *name); | |
| | | | |
| /** | | /** | |
| * Create decoder filter according to a filter's description. | | * Create decoder filter according to a filter's description. | |
| * | | * | |
| * The primary use is to create your own filter's in your | | * The primary use is to create your own filter's in your | |
| * application and avoid registration inside mediastreamer2. | | * application and avoid registration inside mediastreamer2. | |
| * | | * | |
| * @param desc A MSFilterDesc for the filter. | | * @param desc A MSFilterDesc for the filter. | |
| * | | * | |
| * Returns: a MSFilter if successfull, NULL otherwise. | | * Returns: a MSFilter if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSFilter *ms_filter_new_from_desc(MSFilterDesc *desc); | | MS2_PUBLIC MSFilter *ms_filter_new_from_desc(MSFilterDesc *desc); | |
| | | | |
| /** | | /** | |
| * Link one OUTPUT pin from a filter to an INPUT pin of another filter. | | * Link one OUTPUT pin from a filter to an INPUT pin of another filter. | |
| * | | * | |
| * All data coming from the OUTPUT pin of one filter will be distributed | | * All data coming from the OUTPUT pin of one filter will be distributed | |
| * to the INPUT pin of the second filter. | | * to the INPUT pin of the second filter. | |
| * | | * | |
| * @param f1 A MSFilter object containing the OUTPUT pin | | * @param f1 A MSFilter object containing the OUTPUT pin | |
| * @param pin1 An index of an OUTPUT pin. | | * @param pin1 An index of an OUTPUT pin. | |
| * @param f2 A MSFilter object containing the INPUT pin | | * @param f2 A MSFilter object containing the INPUT pin | |
| * @param pin2 An index of an INPUT pin. | | * @param pin2 An index of an INPUT pin. | |
| * | | * | |
| * Returns: 0 if sucessful, -1 otherwise. | | * Returns: 0 if sucessful, -1 otherwise. | |
| */ | | */ | |
|
| int ms_filter_link(MSFilter *f1, int pin1, MSFilter *f2, int pin2); | | MS2_PUBLIC int ms_filter_link(MSFilter *f1, int pin1, MSFilter *f2, int pin
2); | |
| | | | |
| /** | | /** | |
| * Unlink one OUTPUT pin from a filter to an INPUT pin of another filter. | | * Unlink one OUTPUT pin from a filter to an INPUT pin of another filter. | |
| * | | * | |
| * @param f1 A MSFilter object containing the OUTPUT pin | | * @param f1 A MSFilter object containing the OUTPUT pin | |
| * @param pin1 An index of an OUTPUT pin. | | * @param pin1 An index of an OUTPUT pin. | |
| * @param f2 A MSFilter object containing the INPUT pin | | * @param f2 A MSFilter object containing the INPUT pin | |
| * @param pin2 An index of an INPUT pin. | | * @param pin2 An index of an INPUT pin. | |
| * | | * | |
| * Returns: 0 if sucessful, -1 otherwise. | | * Returns: 0 if sucessful, -1 otherwise. | |
| */ | | */ | |
|
| int ms_filter_unlink(MSFilter *f1, int pin1, MSFilter *f2, int pin2); | | MS2_PUBLIC int ms_filter_unlink(MSFilter *f1, int pin1, MSFilter *f2, int p
in2); | |
| | | | |
| /** | | /** | |
| * Call a filter's method to set or get options. | | * Call a filter's method to set or get options. | |
| * | | * | |
| * @param f A MSFilter object. | | * @param f A MSFilter object. | |
| * @param id A private filter ID for the option. | | * @param id A private filter ID for the option. | |
| * @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. | |
| */ | | */ | |
|
| int ms_filter_call_method(MSFilter *f, unsigned int id, void *arg); | | 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 private filter ID for the option. | |
| * | | * | |
| * Returns: 0 if successfull, -1 otherwise. | | * Returns: 0 if successfull, -1 otherwise. | |
| */ | | */ | |
|
| int ms_filter_call_method_noarg(MSFilter *f, unsigned int id); | | MS2_PUBLIC int ms_filter_call_method_noarg(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. | |
| * | | * | |
| * | | * | |
| */ | | */ | |
|
| void ms_filter_set_notify_callback(MSFilter *f, MSFilterNotifyFunc 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 | | * Forces the filter to synchronously send notifications, that is | |
| * the notify callback will be called from MSTicker thread instead of being | | * the notify callback will be called from MSTicker thread instead of being | |
| * run by a MSEventQueue. | | * run by a MSEventQueue. | |
| */ | | */ | |
|
| void ms_filter_enable_synchronous_notifcations(MSFilter *f, bool_t yesno); | | 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. | |
| */ | | */ | |
|
| 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. | |
| * | | * | |
| * Returns: a MSList of MSFilter, that needs to be freed by the caller when
no more needed. | | * Returns: a MSList of MSFilter, that needs to be freed by the caller when
no more needed. | |
| **/ | | **/ | |
|
| MSList * ms_filter_find_neighbours(MSFilter *me); | | MS2_PUBLIC MSList * ms_filter_find_neighbours(MSFilter *me); | |
| | | | |
| /** | | /** | |
| * Destroy a filter object. | | * Destroy a filter object. | |
| * | | * | |
| * @param f A MSFilter object. | | * @param f A MSFilter object. | |
| * | | * | |
| */ | | */ | |
|
| void ms_filter_destroy(MSFilter *f); | | MS2_PUBLIC void ms_filter_destroy(MSFilter *f); | |
| | | | |
| /** | | /** | |
| * Initialize a MSConnectionHelper. | | * Initialize a MSConnectionHelper. | |
| * | | * | |
| * @param h A MSConnectionHelper, usually (but not necessarily) on stack | | * @param h A MSConnectionHelper, usually (but not necessarily) on stack | |
| * | | * | |
| **/ | | **/ | |
|
| void ms_connection_helper_start(MSConnectionHelper *h); | | MS2_PUBLIC void ms_connection_helper_start(MSConnectionHelper *h); | |
| | | | |
| /** | | /** | |
| * \brief Enter a MSFilter to be connected into the MSConnectionHelper obje
ct. | | * \brief Enter a MSFilter to be connected into the MSConnectionHelper obje
ct. | |
| * | | * | |
| * This functions enters a MSFilter to be connected into the MSConnectionHe
lper | | * This functions enters a MSFilter to be connected into the MSConnectionHe
lper | |
| * object and connects it to the last entered if not the first one. | | * object and connects it to the last entered if not the first one. | |
| * The MSConnectionHelper is useful to reduce the amount of code necessary
to create graphs in case | | * The MSConnectionHelper is useful to reduce the amount of code necessary
to create graphs in case | |
| * the connections are made in an ordered manner and some filters are prese
nt conditionally in graphs. | | * the connections are made in an ordered manner and some filters are prese
nt conditionally in graphs. | |
| * For example, instead of writing | | * For example, instead of writing | |
| * \code | | * \code | |
| | | | |
| skipping to change at line 431 | | skipping to change at line 431 | |
| * if (my_condition) ms_connection_helper_link(&h,f2,1,0); | | * if (my_condition) ms_connection_helper_link(&h,f2,1,0); | |
| * \endcode | | * \endcode | |
| * | | * | |
| * @param h a connection helper | | * @param h a connection helper | |
| * @param f a MSFilter | | * @param f a MSFilter | |
| * @param inpin an input pin number with which the MSFilter needs to connec
t to previously entered MSFilter | | * @param inpin an input pin number with which the MSFilter needs to connec
t to previously entered MSFilter | |
| * @param outpin an output pin number with which the MSFilter needs to be c
onnected to the next entered MSFilter | | * @param outpin an output pin number with which the MSFilter needs to be c
onnected to the next entered MSFilter | |
| * | | * | |
| * Returns: the return value of ms_filter_link() that is called internally
to this function. | | * Returns: the return value of ms_filter_link() that is called internally
to this function. | |
| **/ | | **/ | |
|
| int ms_connection_helper_link(MSConnectionHelper *h, MSFilter *f, int inpin
, int outpin); | | MS2_PUBLIC int ms_connection_helper_link(MSConnectionHelper *h, MSFilter *f
, int inpin, int outpin); | |
| | | | |
| /** | | /** | |
| * \brief Enter a MSFilter to be disconnected into the MSConnectionHelper o
bject. | | * \brief Enter a MSFilter to be disconnected into the MSConnectionHelper o
bject. | |
| * Process exactly the same way as ms_connection_helper_link() but calls ms
_filter_unlink() on the | | * Process exactly the same way as ms_connection_helper_link() but calls ms
_filter_unlink() on the | |
| * entered filters. | | * entered filters. | |
| **/ | | **/ | |
|
| int ms_connection_helper_unlink(MSConnectionHelper *h, MSFilter *f, int inp
in, int outpin); | | MS2_PUBLIC int ms_connection_helper_unlink(MSConnectionHelper *h, MSFilter
*f, int inpin, int outpin); | |
| | | | |
| /** | | /** | |
| * \brief Enable processing time measurements statistics for filters. | | * \brief Enable processing time measurements statistics for filters. | |
| * | | * | |
| **/ | | **/ | |
|
| void ms_filter_enable_statistics(bool_t enabled); | | MS2_PUBLIC void ms_filter_enable_statistics(bool_t enabled); | |
| | | | |
| /** | | /** | |
| * \brief Reset processing time statistics for filters. | | * \brief Reset processing time statistics for filters. | |
| * | | * | |
| **/ | | **/ | |
|
| void ms_filter_reset_statistics(void); | | MS2_PUBLIC void ms_filter_reset_statistics(void); | |
| | | | |
| /** | | /** | |
| * \brief Retrieves statistics for running filters. | | * \brief Retrieves statistics for running filters. | |
| * Returns a list of MSFilterStats | | * Returns a list of MSFilterStats | |
| **/ | | **/ | |
|
| const MSList * ms_filter_get_statistics(void); | | MS2_PUBLIC const MSList * ms_filter_get_statistics(void); | |
| | | | |
| /** | | /** | |
| * \brief Logs runtime statistics for running filters. | | * \brief Logs runtime statistics for running filters. | |
| * | | * | |
| **/ | | **/ | |
|
| void ms_filter_log_statistics(void); | | MS2_PUBLIC void ms_filter_log_statistics(void); | |
| | | | |
| /* I define the id taking the lower bits of the address of the MSFilterDesc
object, | | /* I define the id taking the lower bits of the address of the MSFilterDesc
object, | |
| the method index (_cnt_) and the argument size */ | | the method index (_cnt_) and the argument size */ | |
| /* I hope using this to avoid type mismatch (calling a method on the wrong
filter)*/ | | /* I hope using this to avoid type mismatch (calling a method on the wrong
filter)*/ | |
| #define MS_FILTER_METHOD_ID(_id_,_cnt_,_argsize_) \ | | #define MS_FILTER_METHOD_ID(_id_,_cnt_,_argsize_) \ | |
| ( (((unsigned long)(_id_)) & 0xFFFF)<<16 | (_cnt_<<8) | (_argsize_
& 0xFF )) | | ( (((unsigned long)(_id_)) & 0xFFFF)<<16 | (_cnt_<<8) | (_argsize_
& 0xFF )) | |
| | | | |
| #define MS_FILTER_METHOD(_id_,_count_,_argtype_) \ | | #define MS_FILTER_METHOD(_id_,_count_,_argtype_) \ | |
| MS_FILTER_METHOD_ID(_id_,_count_,sizeof(_argtype_)) | | MS_FILTER_METHOD_ID(_id_,_count_,sizeof(_argtype_)) | |
| | | | |
| | | | |
End of changes. 25 change blocks. |
| 25 lines changed or deleted | | 25 lines changed or added | |
|
| msqueue.h | | msqueue.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 MSQUEUE_H | | #ifndef MSQUEUE_H | |
| #define MSQUEUE_H | | #define MSQUEUE_H | |
| | | | |
| #include "ortp/str_utils.h" | | #include "ortp/str_utils.h" | |
|
| | | #include "mediastreamer2/mscommon.h" | |
| | | | |
| /* for the moment these are stupid queues limited to one element*/ | | /* for the moment these are stupid queues limited to one element*/ | |
| | | | |
| typedef struct _MSCPoint{ | | typedef struct _MSCPoint{ | |
| struct _MSFilter *filter; | | struct _MSFilter *filter; | |
| int pin; | | int pin; | |
| } MSCPoint; | | } MSCPoint; | |
| | | | |
| typedef struct _MSQueue | | typedef struct _MSQueue | |
| { | | { | |
| | | | |
| skipping to change at line 66 | | skipping to change at line 67 | |
| | | | |
| static inline bool_t ms_queue_empty(MSQueue *q){ | | static inline bool_t ms_queue_empty(MSQueue *q){ | |
| return qempty(&q->q); | | return qempty(&q->q); | |
| } | | } | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" | | extern "C" | |
| { | | { | |
| #endif | | #endif | |
| | | | |
|
| | | /*yes these functions need to be public for plugins to work*/ | |
| | | | |
| /*init a queue on stack*/ | | /*init a queue on stack*/ | |
|
| void ms_queue_init(MSQueue *q); | | MS2_PUBLIC void ms_queue_init(MSQueue *q); | |
| | | | |
|
| void ms_queue_flush(MSQueue *q); | | MS2_PUBLIC void ms_queue_flush(MSQueue *q); | |
| | | | |
|
| void ms_queue_destroy(MSQueue *q); | | MS2_PUBLIC void ms_queue_destroy(MSQueue *q); | |
| | | | |
| #define mblk_set_timestamp_info(m,ts) (m)->reserved1=(ts); | | #define mblk_set_timestamp_info(m,ts) (m)->reserved1=(ts); | |
| #define mblk_get_timestamp_info(m) ((m)->reserved1) | | #define mblk_get_timestamp_info(m) ((m)->reserved1) | |
| #define mblk_set_marker_info(m,bit) (m)->reserved2=((m)->reserved2|bit) | | #define mblk_set_marker_info(m,bit) (m)->reserved2=((m)->reserved2|bit) | |
| #define mblk_get_marker_info(m) ((m)->reserved2&0x1) | | #define mblk_get_marker_info(m) ((m)->reserved2&0x1) | |
| #define mblk_set_rate(m,bits) (m)->reserved2=((m)->reserved2|(bits)
<<1) | | #define mblk_set_rate(m,bits) (m)->reserved2=((m)->reserved2|(bits)
<<1) | |
| #define mblk_get_rate(m) (((m)->reserved2>>1)&0x3) | | #define mblk_get_rate(m) (((m)->reserved2>>1)&0x3) | |
| #define mblk_set_payload_type(m,bits) (m)->reserved2=((m)->reserved2|(bits<
<3)) | | #define mblk_set_payload_type(m,bits) (m)->reserved2=((m)->reserved2|(bits<
<3)) | |
| #define mblk_get_payload_type(m) (((m)->reserved2>>3)&0x7F) | | #define mblk_get_payload_type(m) (((m)->reserved2>>3)&0x7F) | |
| #define mblk_set_precious_flag(m,bit) (m)->reserved2=(m)->reserved2|((bi
t & 0x1)<<10) /*use to prevent mirroring*/ | | #define mblk_set_precious_flag(m,bit) (m)->reserved2=(m)->reserved2|((bi
t & 0x1)<<10) /*use to prevent mirroring*/ | |
| | | | |
| skipping to change at line 97 | | skipping to change at line 100 | |
| #define mblk_get_video_orientation(m) (((m)->reserved2 & (1<<11)) ? MS_VID
EO_PORTRAIT : MS_VIDEO_LANDSCAPE) | | #define mblk_get_video_orientation(m) (((m)->reserved2 & (1<<11)) ? MS_VID
EO_PORTRAIT : MS_VIDEO_LANDSCAPE) | |
| | | | |
| struct _MSBufferizer{ | | struct _MSBufferizer{ | |
| queue_t q; | | queue_t q; | |
| int size; | | int size; | |
| }; | | }; | |
| | | | |
| typedef struct _MSBufferizer MSBufferizer; | | typedef struct _MSBufferizer MSBufferizer; | |
| | | | |
| /*allocates and initialize */ | | /*allocates and initialize */ | |
|
| MSBufferizer * ms_bufferizer_new(void); | | MS2_PUBLIC MSBufferizer * ms_bufferizer_new(void); | |
| | | | |
| /*initialize in memory */ | | /*initialize in memory */ | |
| void ms_bufferizer_init(MSBufferizer *obj); | | void ms_bufferizer_init(MSBufferizer *obj); | |
| | | | |
|
| void ms_bufferizer_put(MSBufferizer *obj, mblk_t *m); | | MS2_PUBLIC void ms_bufferizer_put(MSBufferizer *obj, mblk_t *m); | |
| | | | |
| /* put every mblk_t from q, into the bufferizer */ | | /* put every mblk_t from q, into the bufferizer */ | |
|
| void ms_bufferizer_put_from_queue(MSBufferizer *obj, MSQueue *q); | | MS2_PUBLIC void ms_bufferizer_put_from_queue(MSBufferizer *obj, MSQueue *q)
; | |
| | | | |
|
| int ms_bufferizer_read(MSBufferizer *obj, uint8_t *data, int datalen); | | MS2_PUBLIC int ms_bufferizer_read(MSBufferizer *obj, uint8_t *data, int dat
alen); | |
| | | | |
| /* returns the number of bytes available in the bufferizer*/ | | /* returns the number of bytes available in the bufferizer*/ | |
| static inline int ms_bufferizer_get_avail(MSBufferizer *obj){ | | static inline int ms_bufferizer_get_avail(MSBufferizer *obj){ | |
| return obj->size; | | return obj->size; | |
| } | | } | |
| | | | |
|
| void ms_bufferizer_skip_bytes(MSBufferizer *obj, int bytes); | | MS2_PUBLIC void ms_bufferizer_skip_bytes(MSBufferizer *obj, int bytes); | |
| | | | |
| /* purge all data pending in the bufferizer */ | | /* purge all data pending in the bufferizer */ | |
|
| void ms_bufferizer_flush(MSBufferizer *obj); | | MS2_PUBLIC void ms_bufferizer_flush(MSBufferizer *obj); | |
| | | | |
| void ms_bufferizer_uninit(MSBufferizer *obj); | | void ms_bufferizer_uninit(MSBufferizer *obj); | |
| | | | |
|
| void ms_bufferizer_destroy(MSBufferizer *obj); | | MS2_PUBLIC void ms_bufferizer_destroy(MSBufferizer *obj); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 12 change blocks. |
| 10 lines changed or deleted | | 13 lines changed or added | |
|
| mssndcard.h | | mssndcard.h | |
| | | | |
| skipping to change at line 157 | | skipping to change at line 157 | |
| * @defgroup mediastreamer2_soundcardmanager Sound Card Manager API | | * @defgroup mediastreamer2_soundcardmanager Sound Card Manager API | |
| * @ingroup mediastreamer2_soundcard | | * @ingroup mediastreamer2_soundcard | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Retreive a sound card manager object. | | * Retreive a sound card manager object. | |
| * | | * | |
| * Returns: MSSndCardManager if successfull, NULL otherwise. | | * Returns: MSSndCardManager if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSSndCardManager * ms_snd_card_manager_get(void); | | MS2_PUBLIC MSSndCardManager * ms_snd_card_manager_get(void); | |
| | | | |
| /** | | /** | |
| * Destroy a sound card manager object. | | * Destroy a sound card manager object. | |
| * | | * | |
| */ | | */ | |
|
| void ms_snd_card_manager_destroy(void); | | MS2_PUBLIC void ms_snd_card_manager_destroy(void); | |
| | | | |
| /** | | /** | |
| * Retreive a sound card object based on its name. | | * Retreive a sound card object based on its name. | |
| * | | * | |
| * @param m A sound card manager containing sound cards. | | * @param m A sound card manager containing sound cards. | |
| * @param id A name for card to search. | | * @param id A name for card to search. | |
| * | | * | |
| * Returns: MSSndCard if successfull, NULL otherwise. | | * Returns: MSSndCard if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSSndCard * ms_snd_card_manager_get_card(MSSndCardManager *m, const char *i
d); | | MS2_PUBLIC MSSndCard * ms_snd_card_manager_get_card(MSSndCardManager *m, co
nst char *id); | |
| | | | |
| /** | | /** | |
| * Retreive the default sound card object. | | * Retreive the default sound card object. | |
| * | | * | |
| * @param m A sound card manager containing sound cards. | | * @param m A sound card manager containing sound cards. | |
| * | | * | |
| * Returns: MSSndCard if successfull, NULL otherwise. | | * Returns: MSSndCard if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSSndCard * ms_snd_card_manager_get_default_card(MSSndCardManager *m); | | MS2_PUBLIC MSSndCard * ms_snd_card_manager_get_default_card(MSSndCardManage
r *m); | |
| | | | |
| /** | | /** | |
| * Retreive the default capture sound card object. | | * Retreive the default capture sound card object. | |
| * | | * | |
| * @param m A sound card manager containing sound cards. | | * @param m A sound card manager containing sound cards. | |
| * | | * | |
| * Returns: MSSndCard if successfull, NULL otherwise. | | * Returns: MSSndCard if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSSndCard * ms_snd_card_manager_get_default_capture_card(MSSndCardManager *
m); | | MS2_PUBLIC MSSndCard * ms_snd_card_manager_get_default_capture_card(MSSndCa
rdManager *m); | |
| | | | |
| /** | | /** | |
| * Retreive the default playback sound card object. | | * Retreive the default playback sound card object. | |
| * | | * | |
| * @param m A sound card manager containing sound cards. | | * @param m A sound card manager containing sound cards. | |
| * | | * | |
| * Returns: MSSndCard if successfull, NULL otherwise. | | * Returns: MSSndCard if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSSndCard * ms_snd_card_manager_get_default_playback_card(MSSndCardManager
*m); | | MS2_PUBLIC MSSndCard * ms_snd_card_manager_get_default_playback_card(MSSndC
ardManager *m); | |
| | | | |
| /** | | /** | |
| * Retreive the list of sound card objects. | | * Retreive the list of sound card objects. | |
| * | | * | |
| * @param m A sound card manager containing sound cards. | | * @param m A sound card manager containing sound cards. | |
| * | | * | |
| * Returns: MSList of cards if successfull, NULL otherwise. | | * Returns: MSList of cards if successfull, NULL otherwise. | |
| */ | | */ | |
|
| const MSList * ms_snd_card_manager_get_list(MSSndCardManager *m); | | MS2_PUBLIC const MSList * ms_snd_card_manager_get_list(MSSndCardManager *m)
; | |
| | | | |
| /** | | /** | |
| * Add a sound card object in a sound card manager's list. | | * Add a sound card object in a sound card manager's list. | |
| * | | * | |
| * @param m A sound card manager containing sound cards. | | * @param m A sound card manager containing sound cards. | |
| * @param c A sound card object. | | * @param c A sound card object. | |
| * | | * | |
| */ | | */ | |
|
| void ms_snd_card_manager_add_card(MSSndCardManager *m, MSSndCard *c); | | MS2_PUBLIC void ms_snd_card_manager_add_card(MSSndCardManager *m, MSSndCard
*c); | |
| | | | |
| /** | | /** | |
| * Register a sound card description in a sound card manager. | | * Register a sound card description in a sound card manager. | |
| * | | * | |
| * @param m A sound card manager containing sound cards. | | * @param m A sound card manager containing sound cards. | |
| * @param desc A sound card description object. | | * @param desc A sound card description object. | |
| * | | * | |
| */ | | */ | |
|
| void ms_snd_card_manager_register_desc(MSSndCardManager *m, MSSndCardDesc *
desc); | | MS2_PUBLIC void ms_snd_card_manager_register_desc(MSSndCardManager *m, MSSn
dCardDesc *desc); | |
| | | | |
| /** | | /** | |
| * Ask all registered MSSndCardDesc to re-detect their soundcards. | | * Ask all registered MSSndCardDesc to re-detect their soundcards. | |
| * @param m The sound card manager. | | * @param m The sound card manager. | |
| **/ | | **/ | |
|
| void ms_snd_card_manager_reload(MSSndCardManager *m); | | MS2_PUBLIC void ms_snd_card_manager_reload(MSSndCardManager *m); | |
| | | | |
| /** @} */ | | /** @} */ | |
| | | | |
| /** | | /** | |
| * @defgroup mediastreamer2_soundcardfilter Sound Card Filter API | | * @defgroup mediastreamer2_soundcardfilter Sound Card Filter API | |
| * @ingroup mediastreamer2_soundcard | | * @ingroup mediastreamer2_soundcard | |
| * @{ | | * @{ | |
| */ | | */ | |
| | | | |
| /** | | /** | |
| * Create an INPUT filter based on the selected sound card. | | * Create an INPUT filter based on the selected sound card. | |
| * | | * | |
| * @param obj A sound card object. | | * @param obj A sound card object. | |
| * | | * | |
| * Returns: A MSFilter if successfull, NULL otherwise. | | * Returns: A MSFilter if successfull, NULL otherwise. | |
| */ | | */ | |
|
| struct _MSFilter * ms_snd_card_create_reader(MSSndCard *obj); | | MS2_PUBLIC struct _MSFilter * ms_snd_card_create_reader(MSSndCard *obj); | |
| | | | |
| /** | | /** | |
| * Create an OUPUT filter based on the selected sound card. | | * Create an OUPUT filter based on the selected sound card. | |
| * | | * | |
| * @param obj A sound card object. | | * @param obj A sound card object. | |
| * | | * | |
| * Returns: A MSFilter if successfull, NULL otherwise. | | * Returns: A MSFilter if successfull, NULL otherwise. | |
| */ | | */ | |
|
| struct _MSFilter * ms_snd_card_create_writer(MSSndCard *obj); | | MS2_PUBLIC struct _MSFilter * ms_snd_card_create_writer(MSSndCard *obj); | |
| | | | |
| /** | | /** | |
| * Create a new sound card object. | | * Create a new sound card object. | |
| * | | * | |
| * @param desc A sound card description object. | | * @param desc A sound card description object. | |
| * | | * | |
| * Returns: MSSndCard if successfull, NULL otherwise. | | * Returns: MSSndCard if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSSndCard * ms_snd_card_new(MSSndCardDesc *desc); | | MS2_PUBLIC MSSndCard * ms_snd_card_new(MSSndCardDesc *desc); | |
| | | | |
| /** | | /** | |
| * Create a new sound card object. | | * Create a new sound card object. | |
| * | | * | |
| * @param desc A sound card description object. | | * @param desc A sound card description object. | |
| * @param card mame | | * @param card mame | |
| * | | * | |
| * Returns: MSSndCard if successfull, NULL otherwise. | | * Returns: MSSndCard if successfull, NULL otherwise. | |
| */ | | */ | |
| | | | |
|
| MSSndCard * ms_snd_card_new_with_name(MSSndCardDesc *desc,const char
* name); | | MS2_PUBLIC MSSndCard * ms_snd_card_new_with_name(MSSndCardDesc *desc,const
char* name); | |
| /** | | /** | |
| * Destroy sound card object. | | * Destroy sound card object. | |
| * | | * | |
| * @param obj A MSSndCard object. | | * @param obj A MSSndCard object. | |
| */ | | */ | |
|
| void ms_snd_card_destroy(MSSndCard *obj); | | MS2_PUBLIC void ms_snd_card_destroy(MSSndCard *obj); | |
| | | | |
| /** | | /** | |
| * Duplicate a sound card object. | | * Duplicate a sound card object. | |
| * | | * | |
| * This helps to open several time a sound card. | | * This helps to open several time a sound card. | |
| * | | * | |
| * @param card A sound card object. | | * @param card A sound card object. | |
| * | | * | |
| * Returns: MSSndCard if successfull, NULL otherwise. | | * Returns: MSSndCard if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSSndCard * ms_snd_card_dup(MSSndCard *card); | | MS2_PUBLIC MSSndCard * ms_snd_card_dup(MSSndCard *card); | |
| | | | |
| /** | | /** | |
| * Retreive a sound card's driver type string. | | * Retreive a sound card's driver type string. | |
| * | | * | |
| * Internal driver types are either: "OSS, ALSA, WINSND, PASND, CA" | | * Internal driver types are either: "OSS, ALSA, WINSND, PASND, CA" | |
| * | | * | |
| * @param obj A sound card object. | | * @param obj A sound card object. | |
| * | | * | |
| * Returns: a string if successfull, NULL otherwise. | | * Returns: a string if successfull, NULL otherwise. | |
| */ | | */ | |
|
| const char *ms_snd_card_get_driver_type(const MSSndCard *obj); | | MS2_PUBLIC const char *ms_snd_card_get_driver_type(const MSSndCard *obj); | |
| | | | |
| /** | | /** | |
| * Retreive a sound card's name. | | * Retreive a sound card's name. | |
| * | | * | |
| * @param obj A sound card object. | | * @param obj A sound card object. | |
| * | | * | |
| * Returns: a string if successfull, NULL otherwise. | | * Returns: a string if successfull, NULL otherwise. | |
| */ | | */ | |
|
| const char *ms_snd_card_get_name(const MSSndCard *obj); | | MS2_PUBLIC const char *ms_snd_card_get_name(const MSSndCard *obj); | |
| | | | |
| /** | | /** | |
| * Retreive sound card's name ($driver_type: $name). | | * Retreive sound card's name ($driver_type: $name). | |
| * | | * | |
| * @param obj A sound card object. | | * @param obj A sound card object. | |
| * | | * | |
| * Returns: A string if successfull, NULL otherwise. | | * Returns: A string if successfull, NULL otherwise. | |
| */ | | */ | |
|
| const char *ms_snd_card_get_string_id(MSSndCard *obj); | | MS2_PUBLIC const char *ms_snd_card_get_string_id(MSSndCard *obj); | |
| | | | |
| /** | | /** | |
| * Retreive sound card's capabilities. | | * Retreive sound card's capabilities. | |
| * | | * | |
| * <PRE> | | * <PRE> | |
| * MS_SND_CARD_CAP_CAPTURE | | * MS_SND_CARD_CAP_CAPTURE | |
| * MS_SND_CARD_CAP_PLAYBACK | | * MS_SND_CARD_CAP_PLAYBACK | |
| * MS_SND_CARD_CAP_CAPTURE|MS_SND_CARD_CAP_PLAYBACK | | * MS_SND_CARD_CAP_CAPTURE|MS_SND_CARD_CAP_PLAYBACK | |
| * </PRE> | | * </PRE> | |
| * | | * | |
| * @param obj A sound card object. | | * @param obj A sound card object. | |
| * | | * | |
| * Returns: A unsigned int if successfull, 0 otherwise. | | * Returns: A unsigned int if successfull, 0 otherwise. | |
| */ | | */ | |
|
| unsigned int ms_snd_card_get_capabilities(const MSSndCard *obj); | | MS2_PUBLIC unsigned int ms_snd_card_get_capabilities(const MSSndCard *obj); | |
| | | | |
| /** | | /** | |
| * Set some mixer level value. | | * Set some mixer level value. | |
| * | | * | |
| * <PRE> | | * <PRE> | |
| * MS_SND_CARD_MASTER, | | * MS_SND_CARD_MASTER, | |
| * MS_SND_CARD_PLAYBACK, | | * MS_SND_CARD_PLAYBACK, | |
| * MS_SND_CARD_CAPTURE | | * MS_SND_CARD_CAPTURE | |
| * </PRE> | | * </PRE> | |
| * Note: not implemented on all sound card filters. | | * Note: not implemented on all sound card filters. | |
| * | | * | |
| * @param obj A sound card object. | | * @param obj A sound card object. | |
| * @param e A sound card mixer object. | | * @param e A sound card mixer object. | |
| * @param percent A volume level. | | * @param percent A volume level. | |
| * | | * | |
| */ | | */ | |
|
| void ms_snd_card_set_level(MSSndCard *obj, MSSndCardMixerElem e, int percen
t); | | MS2_PUBLIC void ms_snd_card_set_level(MSSndCard *obj, MSSndCardMixerElem e,
int percent); | |
| | | | |
| /** | | /** | |
| * Get some mixer level value. | | * Get some mixer level value. | |
| * | | * | |
| * <PRE> | | * <PRE> | |
| * MS_SND_CARD_MASTER, | | * MS_SND_CARD_MASTER, | |
| * MS_SND_CARD_PLAYBACK, | | * MS_SND_CARD_PLAYBACK, | |
| * MS_SND_CARD_CAPTURE | | * MS_SND_CARD_CAPTURE | |
| * </PRE> | | * </PRE> | |
| * Note: not implemented on all sound card filters. | | * Note: not implemented on all sound card filters. | |
| * | | * | |
| * @param obj A sound card object. | | * @param obj A sound card object. | |
| * @param e A sound card mixer object. | | * @param e A sound card mixer object. | |
| * | | * | |
| * Returns: A int if successfull, <0 otherwise. | | * Returns: A int if successfull, <0 otherwise. | |
| */ | | */ | |
|
| int ms_snd_card_get_level(MSSndCard *obj, MSSndCardMixerElem e); | | MS2_PUBLIC int ms_snd_card_get_level(MSSndCard *obj, MSSndCardMixerElem e); | |
| | | | |
| /** | | /** | |
| * Set some source for capture. | | * Set some source for capture. | |
| * | | * | |
| * <PRE> | | * <PRE> | |
| * MS_SND_CARD_MIC, | | * MS_SND_CARD_MIC, | |
| * MS_SND_CARD_LINE | | * MS_SND_CARD_LINE | |
| * </PRE> | | * </PRE> | |
| * Note: not implemented on all sound card filters. | | * Note: not implemented on all sound card filters. | |
| * | | * | |
| * @param obj A sound card object. | | * @param obj A sound card object. | |
| * @param c A sound card capture value. | | * @param c A sound card capture value. | |
| * | | * | |
| * Returns: A int if successfull, 0 otherwise. | | * Returns: A int if successfull, 0 otherwise. | |
| */ | | */ | |
|
| void ms_snd_card_set_capture(MSSndCard *obj, MSSndCardCapture c); | | MS2_PUBLIC void ms_snd_card_set_capture(MSSndCard *obj, MSSndCardCapture c)
; | |
| | | | |
| /** | | /** | |
| * Set some mixer control. | | * Set some mixer control. | |
| * | | * | |
| * <PRE> | | * <PRE> | |
| * MS_SND_CARD_MASTER_MUTE, -> 0: unmute, 1: mute | | * MS_SND_CARD_MASTER_MUTE, -> 0: unmute, 1: mute | |
| * MS_SND_CARD_PLAYBACK_MUTE, -> 0: unmute, 1: mute | | * MS_SND_CARD_PLAYBACK_MUTE, -> 0: unmute, 1: mute | |
| * MS_SND_CARD_CAPTURE_MUTE -> 0: unmute, 1: mute | | * MS_SND_CARD_CAPTURE_MUTE -> 0: unmute, 1: mute | |
| * </PRE> | | * </PRE> | |
| * Note: not implemented on all sound card filters. | | * Note: not implemented on all sound card filters. | |
| * | | * | |
| * @param obj A sound card object. | | * @param obj A sound card object. | |
| * @param e A sound card control object. | | * @param e A sound card control object. | |
| * @param percent A value for control. | | * @param percent A value for control. | |
| * | | * | |
| * Returns: 0 if successfull, <0 otherwise. | | * Returns: 0 if successfull, <0 otherwise. | |
| */ | | */ | |
|
| int ms_snd_card_set_control(MSSndCard *obj, MSSndCardControlElem e, int val
); | | MS2_PUBLIC int ms_snd_card_set_control(MSSndCard *obj, MSSndCardControlElem
e, int val); | |
| | | | |
| /** | | /** | |
| * Get some mixer control. | | * Get some mixer control. | |
| * | | * | |
| * <PRE> | | * <PRE> | |
| * MS_SND_CARD_MASTER_MUTE, -> return 0: unmute, 1: mute | | * MS_SND_CARD_MASTER_MUTE, -> return 0: unmute, 1: mute | |
| * MS_SND_CARD_PLAYBACK_MUTE, -> return 0: unmute, 1: mute | | * MS_SND_CARD_PLAYBACK_MUTE, -> return 0: unmute, 1: mute | |
| * MS_SND_CARD_CAPTURE_MUTE -> return 0: unmute, 1: mute | | * MS_SND_CARD_CAPTURE_MUTE -> return 0: unmute, 1: mute | |
| * </PRE> | | * </PRE> | |
| * Note: not implemented on all sound card filters. | | * Note: not implemented on all sound card filters. | |
| * | | * | |
| * @param obj A sound card object. | | * @param obj A sound card object. | |
| * @param e A sound card mixer object. | | * @param e A sound card mixer object. | |
| * | | * | |
| * Returns: A int if successfull, <0 otherwise. | | * Returns: A int if successfull, <0 otherwise. | |
| */ | | */ | |
|
| int ms_snd_card_get_control(MSSndCard *obj, MSSndCardControlElem e); | | MS2_PUBLIC int ms_snd_card_get_control(MSSndCard *obj, MSSndCardControlElem
e); | |
| | | | |
| /** | | /** | |
| * Create a alsa card with user supplied pcm name and mixer name. | | * Create a alsa card with user supplied pcm name and mixer name. | |
| * @param pcmdev The pcm device name following alsa conventions (ex: plughw
:0) | | * @param pcmdev The pcm device name following alsa conventions (ex: plughw
:0) | |
| * @param mixdev The mixer device name following alsa conventions. | | * @param mixdev The mixer device name following alsa conventions. | |
| * | | * | |
| * Returns: a MSSndCard object, NULL if alsa support is not available. | | * Returns: a MSSndCard object, NULL if alsa support is not available. | |
| */ | | */ | |
|
| MSSndCard * ms_alsa_card_new_custom(const char *pcmdev, const char *mixdev)
; | | MS2_PUBLIC MSSndCard * ms_alsa_card_new_custom(const char *pcmdev, const ch
ar *mixdev); | |
| | | | |
| /** @} */ | | /** @} */ | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| /** @} */ | | /** @} */ | |
| | | | |
| #endif | | #endif | |
| | | | |
End of changes. 26 change blocks. |
| 26 lines changed or deleted | | 26 lines changed or added | |
|
| msvideo.h | | msvideo.h | |
| | | | |
| skipping to change at line 189 | | skipping to change at line 189 | |
| uint8_t *planes[4]; /*we usually use 3 planes, 4th is for compatibil
ity */ | | uint8_t *planes[4]; /*we usually use 3 planes, 4th is for compatibil
ity */ | |
| int strides[4]; /*with ffmpeg's swscale.h */ | | int strides[4]; /*with ffmpeg's swscale.h */ | |
| }MSPicture; | | }MSPicture; | |
| | | | |
| typedef struct _MSPicture YuvBuf; /*for backward compatibility*/ | | typedef struct _MSPicture YuvBuf; /*for backward compatibility*/ | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C"{ | | extern "C"{ | |
| #endif | | #endif | |
| | | | |
|
| int ms_pix_fmt_to_ffmpeg(MSPixFmt fmt); | | MS2_PUBLIC int ms_pix_fmt_to_ffmpeg(MSPixFmt fmt); | |
| MSPixFmt ffmpeg_pix_fmt_to_ms(int fmt); | | MS2_PUBLIC MSPixFmt ffmpeg_pix_fmt_to_ms(int fmt); | |
| MSPixFmt ms_fourcc_to_pix_fmt(uint32_t fourcc); | | MS2_PUBLIC MSPixFmt ms_fourcc_to_pix_fmt(uint32_t fourcc); | |
| void ms_ffmpeg_check_init(void); | | MS2_PUBLIC void ms_ffmpeg_check_init(void); | |
| 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); | |
| int ms_yuv_buf_init_from_mblk_with_size(MSPicture *buf, mblk_t *m, int w, i | | MS2_PUBLIC int ms_yuv_buf_init_from_mblk_with_size(MSPicture *buf, mblk_t * | |
| nt h); | | m, int w, int h); | |
| int ms_picture_init_from_mblk_with_size(MSPicture *buf, mblk_t *m, MSPixFmt | | MS2_PUBLIC int ms_picture_init_from_mblk_with_size(MSPicture *buf, mblk_t * | |
| fmt, int w, int h); | | m, MSPixFmt fmt, int w, int h); | |
| 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); | |
| void ms_yuv_buf_copy(uint8_t *src_planes[], const int src_strides[], | | 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); | |
|
| void ms_yuv_buf_mirror(YuvBuf *buf); | | MS2_PUBLIC void ms_yuv_buf_mirror(YuvBuf *buf); | |
| 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); | |
| 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); | |
| 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); | |
| | | | |
|
| 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]); | |
| | | | |
| 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){ | |
| | | | |
| skipping to change at line 235 | | skipping to change at line 235 | |
| } | | } | |
| | | | |
| static inline MSVideoSize ms_video_size_area_min(MSVideoSize vs1, MSVideoSi
ze vs2){ | | static inline MSVideoSize ms_video_size_area_min(MSVideoSize vs1, MSVideoSi
ze vs2){ | |
| return ms_video_size_area_greater_than(vs1,vs2) ? vs2 : vs1; | | return ms_video_size_area_greater_than(vs1,vs2) ? vs2 : vs1; | |
| } | | } | |
| | | | |
| static inline bool_t ms_video_size_equal(MSVideoSize vs1, MSVideoSize vs2){ | | static inline bool_t ms_video_size_equal(MSVideoSize vs1, MSVideoSize vs2){ | |
| return vs1.width==vs2.width && vs1.height==vs2.height; | | return vs1.width==vs2.width && vs1.height==vs2.height; | |
| } | | } | |
| | | | |
|
| MSVideoSize ms_video_size_get_just_lower_than(MSVideoSize vs); | | MS2_PUBLIC MSVideoSize ms_video_size_get_just_lower_than(MSVideoSize vs); | |
| | | | |
| static inline MSVideoOrientation ms_video_size_get_orientation(MSVideoSize
vs){ | | static inline MSVideoOrientation ms_video_size_get_orientation(MSVideoSize
vs){ | |
| return vs.width>=vs.height ? MS_VIDEO_LANDSCAPE : MS_VIDEO_PORTRAIT; | | return vs.width>=vs.height ? MS_VIDEO_LANDSCAPE : MS_VIDEO_PORTRAIT; | |
| } | | } | |
| | | | |
| static inline MSVideoSize ms_video_size_change_orientation(MSVideoSize vs,
MSVideoOrientation o){ | | static inline MSVideoSize ms_video_size_change_orientation(MSVideoSize vs,
MSVideoOrientation o){ | |
| MSVideoSize ret; | | MSVideoSize ret; | |
| if (o!=ms_video_size_get_orientation(vs)){ | | if (o!=ms_video_size_get_orientation(vs)){ | |
| ret.width=vs.height; | | ret.width=vs.height; | |
| ret.height=vs.width; | | ret.height=vs.width; | |
| | | | |
| skipping to change at line 266 | | skipping to change at line 266 | |
| | | | |
| struct _MSScalerDesc { | | struct _MSScalerDesc { | |
| MSScalerContext * (*create_context)(int src_w, int src_h, MSPixFmt s
rc_fmt, | | MSScalerContext * (*create_context)(int src_w, int src_h, MSPixFmt s
rc_fmt, | |
| int dst_w, int dst_h, MSPixFmt dst
_fmt, int flags); | | int dst_w, int dst_h, MSPixFmt dst
_fmt, int flags); | |
| int (*context_process)(MSScalerContext *ctx, uint8_t *src[], int src
_strides[], uint8_t *dst[], int dst_strides[]); | | int (*context_process)(MSScalerContext *ctx, uint8_t *src[], int src
_strides[], uint8_t *dst[], int dst_strides[]); | |
| void (*context_free)(MSScalerContext *ctx); | | void (*context_free)(MSScalerContext *ctx); | |
| }; | | }; | |
| | | | |
| typedef struct _MSScalerDesc MSScalerDesc; | | typedef struct _MSScalerDesc MSScalerDesc; | |
| | | | |
|
| MSScalerContext *ms_scaler_create_context(int src_w, int src_h, MSPixFmt sr
c_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); | |
| | | | |
|
| 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[]); | |
| | | | |
|
| void ms_scaler_context_free(MSScalerContext *ctx); | | MS2_PUBLIC void ms_scaler_context_free(MSScalerContext *ctx); | |
| | | | |
|
| void ms_video_set_scaler_impl(MSScalerDesc *desc); | | MS2_PUBLIC void ms_video_set_scaler_impl(MSScalerDesc *desc); | |
| | | | |
| #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. 8 change blocks. |
| 21 lines changed or deleted | | 22 lines changed or added | |
|
| mswebcam.h | | mswebcam.h | |
| | | | |
| skipping to change at line 94 | | skipping to change at line 94 | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C"{ | | extern "C"{ | |
| #endif | | #endif | |
| | | | |
| /** | | /** | |
| * Retreive a webcam manager object. | | * Retreive a webcam manager object. | |
| * | | * | |
| * Returns: MSWebCamManager if successfull, NULL otherwise. | | * Returns: MSWebCamManager if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSWebCamManager * ms_web_cam_manager_get(void); | | MS2_PUBLIC MSWebCamManager * ms_web_cam_manager_get(void); | |
| | | | |
| /** | | /** | |
| * Destroy the webcam manager object. | | * Destroy the webcam manager object. | |
| * | | * | |
| */ | | */ | |
|
| void ms_web_cam_manager_destroy(void); | | MS2_PUBLIC void ms_web_cam_manager_destroy(void); | |
| | | | |
| /** | | /** | |
| * Retreive a webcam object based on its name. | | * Retreive a webcam object based on its name. | |
| * | | * | |
| * @param m A webcam manager containing webcam. | | * @param m A webcam manager containing webcam. | |
| * @param id A name for card to search. | | * @param id A name for card to search. | |
| * | | * | |
| * Returns: MSWebCam if successfull, NULL otherwise. | | * Returns: MSWebCam if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSWebCam * ms_web_cam_manager_get_cam(MSWebCamManager *m, const char *id); | | MS2_PUBLIC MSWebCam * ms_web_cam_manager_get_cam(MSWebCamManager *m, const
char *id); | |
| | | | |
| /** | | /** | |
| * Retreive the default webcam object. | | * Retreive the default webcam object. | |
| * | | * | |
| * @param m A webcam manager containing webcams. | | * @param m A webcam manager containing webcams. | |
| * | | * | |
| * Returns: MSWebCam if successfull, NULL otherwise. | | * Returns: MSWebCam if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSWebCam * ms_web_cam_manager_get_default_cam(MSWebCamManager *m); | | MS2_PUBLIC MSWebCam * ms_web_cam_manager_get_default_cam(MSWebCamManager *m
); | |
| | | | |
| /** | | /** | |
| * Retreive the list of webcam objects. | | * Retreive the list of webcam objects. | |
| * | | * | |
| * @param m A webcam manager containing webcams. | | * @param m A webcam manager containing webcams. | |
| * | | * | |
| * Returns: MSList of cards if successfull, NULL otherwise. | | * Returns: MSList of cards if successfull, NULL otherwise. | |
| */ | | */ | |
|
| const MSList * ms_web_cam_manager_get_list(MSWebCamManager *m); | | MS2_PUBLIC const MSList * ms_web_cam_manager_get_list(MSWebCamManager *m); | |
| | | | |
| /** | | /** | |
| * Add a webcam object in a webcam manager's list. | | * Add a webcam object in a webcam manager's list. | |
| * | | * | |
| * @param m A webcam manager containing webcams | | * @param m A webcam manager containing webcams | |
| * @param c A web cam object. | | * @param c A web cam object. | |
| * | | * | |
| */ | | */ | |
|
| void ms_web_cam_manager_add_cam(MSWebCamManager *m, MSWebCam *c); | | MS2_PUBLIC void ms_web_cam_manager_add_cam(MSWebCamManager *m, MSWebCam *c)
; | |
| | | | |
| /** | | /** | |
| * Add a webcam object on top of list of the webcam manager's list. | | * Add a webcam object on top of list of the webcam manager's list. | |
| * | | * | |
| * @param m A webcam manager containing webcams | | * @param m A webcam manager containing webcams | |
| * @param c A web cam object. | | * @param c A web cam object. | |
| * | | * | |
| */ | | */ | |
|
| void ms_web_cam_manager_prepend_cam(MSWebCamManager *m, MSWebCam *c); | | MS2_PUBLIC void ms_web_cam_manager_prepend_cam(MSWebCamManager *m, MSWebCam
*c); | |
| | | | |
| /** | | /** | |
| * Register a webcam descriptor in a webcam manager. | | * Register a webcam descriptor in a webcam manager. | |
| * | | * | |
| * @param m A webcam manager containing sound cards. | | * @param m A webcam manager containing sound cards. | |
| * @param desc A webcam descriptor object. | | * @param desc A webcam descriptor object. | |
| * | | * | |
| */ | | */ | |
|
| void ms_web_cam_manager_register_desc(MSWebCamManager *m, MSWebCamDesc *des
c); | | MS2_PUBLIC void ms_web_cam_manager_register_desc(MSWebCamManager *m, MSWebC
amDesc *desc); | |
| | | | |
| /** | | /** | |
| * Ask all registered MSWebCamDesc to detect the webcams again. | | * Ask all registered MSWebCamDesc to detect the webcams again. | |
| * | | * | |
| * @param m A webcam manager | | * @param m A webcam manager | |
| **/ | | **/ | |
|
| void ms_web_cam_manager_reload(MSWebCamManager *m); | | MS2_PUBLIC void ms_web_cam_manager_reload(MSWebCamManager *m); | |
| | | | |
| /** | | /** | |
| * Create an INPUT filter based on the selected camera. | | * Create an INPUT filter based on the selected camera. | |
| * | | * | |
| * @param obj A webcam object. | | * @param obj A webcam object. | |
| * | | * | |
| * Returns: A MSFilter if successfull, NULL otherwise. | | * Returns: A MSFilter if successfull, NULL otherwise. | |
| */ | | */ | |
|
| struct _MSFilter * ms_web_cam_create_reader(MSWebCam *obj); | | MS2_PUBLIC struct _MSFilter * ms_web_cam_create_reader(MSWebCam *obj); | |
| | | | |
| /** | | /** | |
| * Create a new webcam object. | | * Create a new webcam object. | |
| * | | * | |
| * @param desc A webcam description object. | | * @param desc A webcam description object. | |
| * | | * | |
| * Returns: MSWebCam if successfull, NULL otherwise. | | * Returns: MSWebCam if successfull, NULL otherwise. | |
| */ | | */ | |
|
| MSWebCam * ms_web_cam_new(MSWebCamDesc *desc); | | MS2_PUBLIC MSWebCam * ms_web_cam_new(MSWebCamDesc *desc); | |
| | | | |
| /** | | /** | |
| * Destroy webcam object. | | * Destroy webcam object. | |
| * | | * | |
| * @param obj A MSWebCam object. | | * @param obj A MSWebCam object. | |
| */ | | */ | |
|
| void ms_web_cam_destroy(MSWebCam *obj); | | MS2_PUBLIC void ms_web_cam_destroy(MSWebCam *obj); | |
| | | | |
| /** | | /** | |
| * Retreive a webcam's driver type string. | | * Retreive a webcam's driver type string. | |
| * | | * | |
| * Internal driver types are either: "V4L V4LV2" | | * Internal driver types are either: "V4L V4LV2" | |
| * | | * | |
| * @param obj A webcam object. | | * @param obj A webcam object. | |
| * | | * | |
| * Returns: a string if successfull, NULL otherwise. | | * Returns: a string if successfull, NULL otherwise. | |
| */ | | */ | |
|
| const char *ms_web_cam_get_driver_type(const MSWebCam *obj); | | MS2_PUBLIC const char *ms_web_cam_get_driver_type(const MSWebCam *obj); | |
| | | | |
| /** | | /** | |
| * Retreive a webcam's name. | | * Retreive a webcam's name. | |
| * | | * | |
| * @param obj A webcam object. | | * @param obj A webcam object. | |
| * | | * | |
| * Returns: a string if successfull, NULL otherwise. | | * Returns: a string if successfull, NULL otherwise. | |
| */ | | */ | |
|
| const char *ms_web_cam_get_name(const MSWebCam *obj); | | MS2_PUBLIC const char *ms_web_cam_get_name(const MSWebCam *obj); | |
| | | | |
| /** | | /** | |
| * Retreive webcam's id: ($driver_type: $name). | | * Retreive webcam's id: ($driver_type: $name). | |
| * | | * | |
| * @param obj A webcam object. | | * @param obj A webcam object. | |
| * | | * | |
| * Returns: A string if successfull, NULL otherwise. | | * Returns: A string if successfull, NULL otherwise. | |
| */ | | */ | |
|
| const char *ms_web_cam_get_string_id(MSWebCam *obj); | | MS2_PUBLIC const char *ms_web_cam_get_string_id(MSWebCam *obj); | |
| | | | |
| /*specific methods for static image:*/ | | /*specific methods for static image:*/ | |
| | | | |
|
| void ms_static_image_set_default_image(const char *path); | | MS2_PUBLIC void ms_static_image_set_default_image(const char *path); | |
| | | | |
| /** method for the "nowebcam" filter */ | | /** method for the "nowebcam" filter */ | |
| #define MS_STATIC_IMAGE_SET_IMAGE \ | | #define MS_STATIC_IMAGE_SET_IMAGE \ | |
| MS_FILTER_METHOD(MS_STATIC_IMAGE_ID,0,const char) | | MS_FILTER_METHOD(MS_STATIC_IMAGE_ID,0,const char) | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
| /** @} */ | | /** @} */ | |
| | | | |
End of changes. 16 change blocks. |
| 16 lines changed or deleted | | 16 lines changed or added | |
|