Commit 4638c99c authored by Simon Morlat's avatar Simon Morlat
Browse files

msvc build updated.

parent 8b691f60
......@@ -47,6 +47,8 @@ extern MSFilterDesc ms_itc_source_desc;
extern MSFilterDesc ms_itc_sink_desc;
extern MSFilterDesc ms_audio_mixer_desc;
extern MSFilterDesc ms_ext_display_desc;
extern MSFilterDesc ms_jpeg_writer_desc;
extern MSFilterDesc ms_tone_detector_desc;
MSFilterDesc * ms_filter_descs[]={
&ms_alaw_dec_desc,
......@@ -95,6 +97,8 @@ MSFilterDesc * ms_filter_descs[]={
&ms_itc_sink_desc,
&ms_audio_mixer_desc,
&ms_ext_display_desc,
&ms_tone_detector_desc,
&ms_jpeg_writer_desc,
NULL
};
......@@ -65,7 +65,7 @@
Name="VCLinkerTool"
AdditionalDependencies="mediastreamer2.lib ortp.lib"
LinkIncremental="2"
AdditionalLibraryDirectories=""$(OutDir)";"..\..\..\..\ortp\build\win32native\$(ConfigurationName)""
AdditionalLibraryDirectories=""..\$(OutDir)";"$(OutDir)";"..\..\..\..\oRTP\build\win32native\$(ConfigurationName)""
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
......@@ -90,7 +90,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="echo on&#x0D;&#x0A;mkdir &quot;$(TargetDir)\lib\mediastreamer\plugins&quot; &quot;$(TargetDir)\libexec&quot; &#x0D;&#x0A;copy ..\..\..\..\h264encserver\build\vs\h264encserver\$(IntDir)\*.exe &quot;$(TargetDir)\libexec&quot;&#x0D;&#x0A;copy ..\..\..\..\msremoteh264\build\vs\$(IntDir)\*.dll &quot;$(TargetDir)\lib\mediastreamer\plugins&quot;&#x0D;&#x0A;copy ..\..\..\..\ortp\build\win32native\ortp.dll &quot;$(TargetDir)&quot;&#x0D;&#x0A;copy ..\..\..\..\linphone-deps\bin\*.dll &quot;$(TargetDir)&quot;&#x0D;&#x0A;&#x0D;&#x0A;"
CommandLine="echo on&#x0D;&#x0A;mkdir &quot;$(TargetDir)\lib\mediastreamer\plugins&quot; &quot;$(TargetDir)\libexec&quot;&#x0D;&#x0A;copy ..\..\..\..\h264encserver\build\vs\h264encserver\$(IntDir)\*.exe &quot;$(TargetDir)\libexec&quot;&#x0D;&#x0A;copy ..\..\..\..\msremoteh264\build\vs\$(IntDir)\*.dll &quot;$(TargetDir)\lib\mediastreamer\plugins&quot;&#x0D;&#x0A;copy ..\..\..\..\ortp\build\win32native\ortp.dll &quot;$(TargetDir)&quot;&#x0D;&#x0A;copy ..\..\..\..\linphone-deps\bin\*.dll &quot;$(TargetDir)&quot;&#x0D;&#x0A;&#x0D;&#x0A;"
ExcludedFromBuild="false"
/>
</Configuration>
......
......@@ -13,14 +13,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mediastream", "mediastream\
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "oRTP", "..\..\..\ortp\build\win32native\oRTP.vcproj", "{4A07BB2B-F56E-4F1B-A719-D28B782AC128}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "msremoteh264", "..\..\..\msremoteh264\build\vs\msremoteh264.vcproj", "{5DD69337-13E2-40A4-B9E0-433B1244CD48}"
ProjectSection(ProjectDependencies) = postProject
{4A07BB2B-F56E-4F1B-A719-D28B782AC128} = {4A07BB2B-F56E-4F1B-A719-D28B782AC128}
{4A07BB2B-F56E-4F1B-A729-D28B782AC128} = {4A07BB2B-F56E-4F1B-A729-D28B782AC128}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "h264encserver", "..\..\..\h264encserver\build\vs\h264encserver\h264encserver.vcproj", "{31B58784-61BB-4AB7-9151-7517AC0CFDC1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
......@@ -39,14 +31,6 @@ Global
{4A07BB2B-F56E-4F1B-A719-D28B782AC128}.Debug|Win32.Build.0 = Debug|Win32
{4A07BB2B-F56E-4F1B-A719-D28B782AC128}.Release|Win32.ActiveCfg = Release|Win32
{4A07BB2B-F56E-4F1B-A719-D28B782AC128}.Release|Win32.Build.0 = Release|Win32
{5DD69337-13E2-40A4-B9E0-433B1244CD48}.Debug|Win32.ActiveCfg = Debug|Win32
{5DD69337-13E2-40A4-B9E0-433B1244CD48}.Debug|Win32.Build.0 = Debug|Win32
{5DD69337-13E2-40A4-B9E0-433B1244CD48}.Release|Win32.ActiveCfg = Release|Win32
{5DD69337-13E2-40A4-B9E0-433B1244CD48}.Release|Win32.Build.0 = Release|Win32
{31B58784-61BB-4AB7-9151-7517AC0CFDC1}.Debug|Win32.ActiveCfg = Debug|Win32
{31B58784-61BB-4AB7-9151-7517AC0CFDC1}.Debug|Win32.Build.0 = Debug|Win32
{31B58784-61BB-4AB7-9151-7517AC0CFDC1}.Release|Win32.ActiveCfg = Release|Win32
{31B58784-61BB-4AB7-9151-7517AC0CFDC1}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
......@@ -65,12 +65,12 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libavcodec.dll.a swscale-0.lib libtheora.lib vfw32.lib Ws2_32.lib Winmm.lib ortp.lib libspeex.a libspeexdsp.a libgsm.a libgcc.a"
AdditionalDependencies="libavcodec.dll.a swscale-0.lib libavutil.dll.a libtheora.lib vfw32.lib Ws2_32.lib Winmm.lib ortp.lib libspeex.a libspeexdsp.a libgsm.a libgcc.a"
OutputFile="$(IntDir)/mediastreamer2.dll"
LinkIncremental="1"
AdditionalLibraryDirectories="&quot;..\..\..\linphone-deps\lib&quot;;..\..\..\ortp\build\win32native"
IgnoreAllDefaultLibraries="false"
ModuleDefinitionFile="mediastreamer2.def"
ModuleDefinitionFile=""
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/mediastreamer2.pdb"
GenerateMapFile="false"
......@@ -251,6 +251,10 @@
RelativePath="..\..\src\itc.c"
>
</File>
<File
RelativePath="..\..\src\jpegwriter.c"
>
</File>
<File
RelativePath="..\..\src\kiss_fft.c"
>
......@@ -259,6 +263,10 @@
RelativePath="..\..\src\kiss_fftr.c"
>
</File>
<File
RelativePath="..\..\src\layouts.c"
>
</File>
<File
RelativePath="..\..\src\mire.c"
>
......@@ -375,6 +383,10 @@
RelativePath="..\..\src\theora.c"
>
</File>
<File
RelativePath="..\..\src\tonedetector.c"
>
</File>
<File
RelativePath="..\..\src\ulaw.c"
>
......@@ -544,10 +556,6 @@
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
<File
RelativePath=".\mediastreamer2.def"
>
</File>
</Files>
<Globals>
</Globals>
......
......@@ -89,76 +89,76 @@ typedef struct _RingStream RingStream;
/* 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_comp, bool_t echo_cancel);
AudioStream *audio_stream_start_with_sndcards(RtpProfile * prof, int locport, const char *remip4, int remport, int payload_type, int jitt_comp, MSSndCard *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_comp, 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, RtpProfile * prof,
const char *remip, int remport, int rem_rtcp_port,
int pt, int jitt_comp,
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 *profile, const char *remip,int remport,
int rem_rtcp_port, int payload,int jitt_comp, const char *infile, const char *outfile,
MSSndCard *playcard, MSSndCard *captcard, bool_t use_ec);
void audio_stream_play(AudioStream *st, const char *name);
void audio_stream_record(AudioStream *st, const char *name);
MS2_PUBLIC void audio_stream_play(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 char *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 yesno);
/* 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;
or to start to stream only after receiving an ack.*/
AudioStream *audio_stream_new(int locport, bool_t ipv6);
int audio_stream_start_now(AudioStream * stream, RtpProfile * prof, const char *remip, int remport, int rem_rtcp_port, int payload_type, int jitt_comp,MSSndCard *playcard, MSSndCard *captcard, bool_t echo_cancel);
void audio_stream_set_relay_session_id(AudioStream *stream, const char *relay_session_id);
MS2_PUBLIC AudioStream *audio_stream_new(int locport, bool_t ipv6);
MS2_PUBLIC int audio_stream_start_now(AudioStream * stream, RtpProfile * prof, const char *remip, int remport, int rem_rtcp_port, int payload_type, int jitt_comp,MSSndCard *playcard, MSSndCard *captcard, bool_t echo_cancel);
MS2_PUBLIC void audio_stream_set_relay_session_id(AudioStream *stream, const char *relay_session_id);
/*returns true if we are still receiving some data from remote end in the last 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 MSVolume in the output branch*/
void audio_stream_enable_echo_limiter(AudioStream *stream, EchoLimiterType type);
MS2_PUBLIC void audio_stream_enable_echo_limiter(AudioStream *stream, EchoLimiterType type);
/*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() */
void audio_stream_enable_automatic_gain_control(AudioStream *stream, bool_t val);
MS2_PUBLIC void audio_stream_enable_automatic_gain_control(AudioStream *stream, bool_t val);
/*to be done before start */
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);
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 */
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()*/
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*/
void audio_stream_enable_equalizer(AudioStream *stream, bool_t enabled);
MS2_PUBLIC void audio_stream_enable_equalizer(AudioStream *stream, bool_t enabled);
void audio_stream_equalizer_set_gain(AudioStream *stream, int frequency, float gain, int freq_width);
MS2_PUBLIC void audio_stream_equalizer_set_gain(AudioStream *stream, int frequency, float gain, int freq_width);
/* 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);
RingStream *ring_start_with_cb(const char * file, int interval, MSSndCard *sndcard, MSFilterNotifyFunc func, void * user_data);
void ring_stop (RingStream * stream);
MS2_PUBLIC RingStream *ring_start (const char * file, int interval, MSSndCard *sndcard);
MS2_PUBLIC RingStream *ring_start_with_cb(const char * file, int interval, MSSndCard *sndcard, MSFilterNotifyFunc func, void * user_data);
MS2_PUBLIC void ring_stop (RingStream * stream);
/* 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*/
void audio_stream_get_local_rtp_stats(AudioStream *stream, rtp_stats_t *stats);
MS2_PUBLIC void audio_stream_get_local_rtp_stats(AudioStream *stream, rtp_stats_t *stats);
/*****************
......@@ -212,41 +212,41 @@ typedef struct _VideoStream VideoStream;
VideoStream *video_stream_new(int locport, bool_t use_ipv6);
void video_stream_set_direction(VideoStream *vs, VideoStreamDir dir);
void video_stream_enable_adaptive_bitrate_control(VideoStream *s, bool_t yesno);
void video_stream_set_render_callback(VideoStream *s, VideoStreamRenderCallback cb, void *user_pointer);
void video_stream_set_event_callback(VideoStream *s, VideoStreamEventCallback cb, void *user_pointer);
void video_stream_set_display_filter_name(VideoStream *s, const char *fname);
int video_stream_start(VideoStream * stream, RtpProfile *profile, const char *remip, int remport, int rem_rtcp_port,
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_enable_adaptive_bitrate_control(VideoStream *s, bool_t yesno);
MS2_PUBLIC void video_stream_set_render_callback(VideoStream *s, VideoStreamRenderCallback cb, void *user_pointer);
MS2_PUBLIC void video_stream_set_event_callback(VideoStream *s, VideoStreamEventCallback cb, void *user_pointer);
MS2_PUBLIC void video_stream_set_display_filter_name(VideoStream *s, const char *fname);
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);
void video_stream_set_relay_session_id(VideoStream *stream, const char *relay_session_id);
void video_stream_set_rtcp_information(VideoStream *st, const char *cname, const char *tool);
void video_stream_change_camera(VideoStream *stream, MSWebCam *cam);
MS2_PUBLIC void video_stream_set_relay_session_id(VideoStream *stream, const char *relay_session_id);
MS2_PUBLIC void video_stream_set_rtcp_information(VideoStream *st, const char *cname, const char *tool);
MS2_PUBLIC void video_stream_change_camera(VideoStream *stream, MSWebCam *cam);
/* 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 redrawing 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 */
void video_stream_iterate(VideoStream *stream);
void video_stream_send_vfu(VideoStream *stream);
void video_stream_stop(VideoStream * stream);
void video_stream_set_sent_video_size(VideoStream *stream, MSVideoSize vsize);
void video_stream_enable_self_view(VideoStream *stream, bool_t val);
unsigned long video_stream_get_native_window_id(VideoStream *stream);
void video_stream_set_native_window_id(VideoStream *stream, unsigned long id);
void video_stream_set_native_preview_window_id(VideoStream *stream, unsigned long id);
unsigned long video_stream_get_native_preview_window_id(VideoStream *stream);
void video_stream_use_preview_video_window(VideoStream *stream, bool_t yesno);
MS2_PUBLIC void video_stream_iterate(VideoStream *stream);
MS2_PUBLIC void video_stream_send_vfu(VideoStream *stream);
MS2_PUBLIC void video_stream_stop(VideoStream * stream);
MS2_PUBLIC void video_stream_set_sent_video_size(VideoStream *stream, MSVideoSize vsize);
MS2_PUBLIC void video_stream_enable_self_view(VideoStream *stream, bool_t val);
MS2_PUBLIC unsigned long video_stream_get_native_window_id(VideoStream *stream);
MS2_PUBLIC void video_stream_set_native_window_id(VideoStream *stream, unsigned long id);
MS2_PUBLIC void video_stream_set_native_preview_window_id(VideoStream *stream, unsigned long id);
MS2_PUBLIC unsigned long video_stream_get_native_preview_window_id(VideoStream *stream);
MS2_PUBLIC void video_stream_use_preview_video_window(VideoStream *stream, bool_t yesno);
/*provided for compatibility, use video_stream_set_direction() instead */
int video_stream_recv_only_start(VideoStream *videostream, RtpProfile *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_recv_only_start(VideoStream *videostream, RtpProfile *profile, const char *addr, int port, int used_pt, int jitt_comp);
MS2_PUBLIC int video_stream_send_only_start(VideoStream *videostream,
RtpProfile *profile, const char *addr, int port, int rtcp_port,
int used_pt, int jitt_comp, MSWebCam *device);
void video_stream_recv_only_stop(VideoStream *vs);
void video_stream_send_only_stop(VideoStream *vs);
MS2_PUBLIC void video_stream_recv_only_stop(VideoStream *vs);
MS2_PUBLIC void video_stream_send_only_stop(VideoStream *vs);
/**
......@@ -255,15 +255,15 @@ void video_stream_send_only_stop(VideoStream *vs);
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_display_filter_name(p,dt) video_stream_set_display_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_get_native_window_id(p) video_stream_get_native_preview_window_id (p)
void video_preview_start(VideoPreview *stream, MSWebCam *device);
void video_preview_stop(VideoPreview *stream);
MS2_PUBLIC void video_preview_start(VideoPreview *stream, MSWebCam *device);
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
}
......
......@@ -44,6 +44,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define ms_cond_broadcast ortp_cond_broadcast
#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)
time_t ms_time (time_t *t);
#else
......@@ -109,23 +115,23 @@ extern "C"{
#endif
void ms_thread_exit(void* ret_val);
MSList * ms_list_append(MSList *elem, void * data);
MSList * ms_list_prepend(MSList *elem, void * data);
MSList * ms_list_free(MSList *elem);
MSList * ms_list_concat(MSList *first, MSList *second);
MSList * ms_list_remove(MSList *first, void *data);
int ms_list_size(const MSList *first);
void ms_list_for_each(const MSList *list, void (*func)(void *));
void ms_list_for_each2(const MSList *list, void (*func)(void *, void *), void *user_data);
MSList *ms_list_remove_link(MSList *list, MSList *elem);
MSList *ms_list_find(MSList *list, void *data);
MSList *ms_list_find_custom(MSList *list, MSCompareFunc compare_func, const void *user_data);
void * ms_list_nth_data(const MSList *list, int index);
int ms_list_position(const MSList *list, MSList *elem);
int ms_list_index(const MSList *list, void *data);
MSList *ms_list_insert_sorted(MSList *list, void *data, MSCompareFunc compare_func);
MSList *ms_list_insert(MSList *list, MSList *before, void *data);
MSList *ms_list_copy(const MSList *list);
MS2_PUBLIC MSList * ms_list_append(MSList *elem, void * data);
MS2_PUBLIC MSList * ms_list_prepend(MSList *elem, void * data);
MS2_PUBLIC MSList * ms_list_free(MSList *elem);
MS2_PUBLIC MSList * ms_list_concat(MSList *first, MSList *second);
MS2_PUBLIC MSList * ms_list_remove(MSList *first, void *data);
MS2_PUBLIC int ms_list_size(const MSList *first);
MS2_PUBLIC void ms_list_for_each(const MSList *list, void (*func)(void *));
MS2_PUBLIC void ms_list_for_each2(const MSList *list, void (*func)(void *, void *), void *user_data);
MS2_PUBLIC MSList *ms_list_remove_link(MSList *list, MSList *elem);
MS2_PUBLIC MSList *ms_list_find(MSList *list, void *data);
MS2_PUBLIC MSList *ms_list_find_custom(MSList *list, MSCompareFunc compare_func, const void *user_data);
MS2_PUBLIC void * ms_list_nth_data(const MSList *list, int index);
MS2_PUBLIC int ms_list_position(const MSList *list, MSList *elem);
MS2_PUBLIC int ms_list_index(const MSList *list, void *data);
MS2_PUBLIC MSList *ms_list_insert_sorted(MSList *list, void *data, MSCompareFunc compare_func);
MS2_PUBLIC MSList *ms_list_insert(MSList *list, MSList *before, void *data);
MS2_PUBLIC MSList *ms_list_copy(const MSList *list);
#undef MIN
#define MIN(a,b) ((a)>(b) ? (b) : (a))
......@@ -153,7 +159,7 @@ MSList *ms_list_copy(const MSList *list);
*
* 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.
......@@ -166,20 +172,20 @@ void ms_init(void);
*
* 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.
*
* This must be called once before closing program.
*/
void ms_exit(void);
MS2_PUBLIC void ms_exit(void);
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.
......@@ -190,22 +196,22 @@ void ms_usleep(uint64_t usec);
* 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.
* This will attempt to send one or more big packets to destination_host, to a random port.
* 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 payload 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);
/** @} */
......
......@@ -20,6 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#ifndef mseventqueue_h
#define mseventqueue_h
#include "mediastreamer2/mscommon.h"
typedef struct _MSEventQueue MSEventQueue;
......@@ -30,7 +31,7 @@ typedef struct _MSEventQueue MSEventQueue;
* The application can then schedule the callbacks for the events
* received by the queue by calling ms_event_queue_pump()
**/
MSEventQueue *ms_event_queue_new();
MS2_PUBLIC MSEventQueue *ms_event_queue_new();
/**
* Install a global event queue.
......@@ -39,7 +40,7 @@ MSEventQueue *ms_event_queue_new();
* to the event queue.
*
**/
void ms_set_global_event_queue(MSEventQueue *q);
MS2_PUBLIC void ms_set_global_event_queue(MSEventQueue *q);
/**
* Run callbacks associated to the events received.
......@@ -47,16 +48,16 @@ void ms_set_global_event_queue(MSEventQueue *q);
* ms_filter_set_notify_callback() in order to be informed
* of various events generated by a MSFilter.
**/
void ms_event_queue_pump(MSEventQueue *q);
MS2_PUBLIC void ms_event_queue_pump(MSEventQueue *q);
/**
* Discard all pending events.
**/
void ms_event_queue_skip(MSEventQueue *q);
MS2_PUBLIC void ms_event_queue_skip(MSEventQueue *q);
/**
* Destroys an event queue.
**/
void ms_event_queue_destroy(MSEventQueue *q);
MS2_PUBLIC void ms_event_queue_destroy(MSEventQueue *q);
#endif
......@@ -193,7 +193,7 @@ extern "C"{
*
* @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.
......@@ -207,7 +207,7 @@ void ms_filter_register(MSFilterDesc *desc);
*
* 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.
......@@ -221,7 +221,7 @@ MSFilterDesc * ms_filter_get_encoder(const char *mime);
*
* 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.
......@@ -235,7 +235,7 @@ MSFilterDesc * ms_filter_get_decoder(const char *mime);
*
* 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.
......@@ -249,7 +249,7 @@ MSFilter * ms_filter_create_encoder(const char *mime);
*
* 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.
......@@ -263,7 +263,7 @@ MSFilter * ms_filter_create_decoder(const char *mime);
*
* 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.
......@@ -272,7 +272,7 @@ bool_t ms_filter_codec_supported(const char *mime);
*
* 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.
......@@ -281,7 +281,7 @@ MSFilter *ms_filter_new(MSFilterId id);
*
* 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.
......@@ -293,7 +293,7 @@ MSFilter *ms_filter_new_from_name(const char *name);
*
* 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.
......@@ -308,7 +308,7 @@ MSFilter *ms_filter_new_from_desc(MSFilterDesc *desc);
*
* 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 pin2);
/**
* Unlink one OUTPUT pin from a filter to an INPUT pin of another filter.
......@@ -320,7 +320,7 @@ int ms_filter_link(MSFilter *f1, int pin1, MSFilter *f2, int pin2);
*
* 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 pin2);
/**
* Call a filter's method to set or get options.
......@@ -331,7 +331,7 @@ int ms_filter_unlink(MSFilter *f1, int pin1, MSFilter *f2, int pin2);
*
* 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 *arg);
/**
* Call a filter's method to set options.
......@@ -341,7 +341,7 @@ int ms_filter_call_method(MSFilter *f, unsigned int id, void *arg);
*
* 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.
......@@ -355,14 +355,14 @@ int ms_filter_call_method_noarg(MSFilter *f, unsigned int id);
*
*
*/
void ms_filter_set_notify_callback(MSFilter *f, MSFilterNotifyFunc fn, void *userdata);
MS2_PUBLIC void ms_filter_set_notify_callback(MSFilter *f, MSFilterNotifyFunc 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.
*/
void ms_filter_enable_synchronous_notifcations(MSFilter *f, bool_t yesno);
MS2_PUBLIC void ms_filter_enable_synchronous_notifcations(MSFilter *f, bool_t yesno);