From: Jehan Monnier Date: Mon, 21 Nov 2011 11:52:11 +0000 (+0100) Subject: update doxygen for linphoen 1.1 for IOS X-Git-Url: http://sjero.net/git/?p=linphone;a=commitdiff_plain;h=63d70bc59f4a3cdc6777ef69ffb793ff73f35414 update doxygen for linphoen 1.1 for IOS --- diff --git a/.cproject b/.cproject index 82c15ae4..52dd1639 100644 --- a/.cproject +++ b/.cproject @@ -208,9 +208,16 @@ - + make + all + true + true + true + + + make install true false @@ -218,12 +225,19 @@ make - install true true true + + make + + all + true + true + true + diff --git a/coreapi/help/doxygen.dox b/coreapi/help/doxygen.dox index 7d0a8284..0ddb4e76 100644 --- a/coreapi/help/doxygen.dox +++ b/coreapi/help/doxygen.dox @@ -224,45 +224,8 @@ void text_received(LinphoneCore *lc, LinphoneChatRoom *room, const LinphoneAddre
+ Sound cards +
Since IOS 5.0, liblinphone supports 2 sound cards. AU: Audio Unit Receiver based on IO units for voice calls plus AQ: Audio Queue Device dedicated to rings. Here under the recommended settings (I.E default one) +\code + linphone_core_set_playback_device(lc, "AU: Audio Unit Receiver"); + linphone_core_set_ringer_device(lc, "AQ: Audio Queue Device"); + linphone_core_set_capture_device(lc, "AU: Audio Unit Receiver"); +\endcode + Video +
Since 3.5 video support has been added to liblinphone for IOS. It requires the application to provide liblinphone with pointers to IOS's views hosting video display and video previous. +
These 2 UIView objects must be passed to the core using functions #linphone_core_set_native_video_window_id() and #linphone_core_set_native_preview_window_id(). here under speudo code: +\code + UIView* display = [[UIView alloc] init]; + UIView* preview = [[UIView alloc] init]; + linphone_core_set_native_video_window_id(lc,(unsigned long)display); + linphone_core_set_native_preview_window_id(lc,(unsigned long)preview); +\endcode +
Screen rotations are also handled by liblinphone. 2 positions are currently supported, namely UIInterfaceOrientationPortrait and UIInterfaceOrientationLandscapeRight. Applications may invoke #linphone_core_set_device_rotation() followed by #linphone_core_update_call() to notify liblinphone of an orientation change. Here under a speudo code to handle orientation changes +\code + +-(void) configureOrientation:(UIInterfaceOrientation) oritentation { + int oldLinphoneOrientation = linphone_core_get_device_rotation(lc); + if (oritentation == UIInterfaceOrientationPortrait ) { + linphone_core_set_native_video_window_id(lc,(unsigned long)display-portrait); + linphone_core_set_native_preview_window_id(lc,(unsigned long)preview-portrait); + linphone_core_set_device_rotation(lc, 0); + + } else if (oritentation == UIInterfaceOrientationLandscapeRight ) { + linphone_core_set_native_video_window_id(lc,(unsigned long)display-landscape); + linphone_core_set_native_preview_window_id(lc,(unsigned long)preview-landscape); + linphone_core_set_device_rotation(lc, 270); + } + + if ((oldLinphoneOrientation != linphone_core_get_device_rotation(lc)) + && linphone_core_get_current_call(lc)) { + //Orientation has changed, must call update call + linphone_core_update_call(lc, linphone_core_get_current_call(lc), NULL); + } +} + +\endcode + DTMF feebacks
Liblinphone provides functions \link #linphone_core_play_dtmf() to play dtmf \endlink to the local user. Usually this is used to play a sound when the user presses a digit, inside or outside of any call. On IOS, libLinphone relies on AudioUnits for interfacing with the audio system. Unfortunately the Audio Unit initialization is a quite long operation that may trigger a bad user experience if performed each time a DTMF is played, the sound being delayed half a second after the press. To solve this issue and thus insure real-time precision, liblinphone introduces 2 functions for \link linphone_core_start_dtmf_stream() preloading \endlink and \link #linphone_core_start_dtmf_stream() unloading \endlink the underlying audio graph responsible for playing DTMFs.
For an application using function #linphone_core_play_dtmf(), it is recommanded to call #linphone_core_start_dtmf_stream() when entering in foreground and #linphone_core_stop_dtmf_stream() upon entering background mode. diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 624b104d..22b33d0a 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -2235,13 +2235,14 @@ bool_t linphone_core_inc_invite_pending(LinphoneCore*lc){ } /** + * @ingroup call_control * Updates a running call according to supplied call parameters or parameters changed in the LinphoneCore. * * In this version this is limited to the following use cases: * - setting up/down the video stream according to the video parameter of the LinphoneCallParams (see linphone_call_params_enable_video() ). * - changing the size of the transmitted video after calling linphone_core_set_preferred_video_size() * - * In case no changes are requested through the LinphoneCallParams argument, then this argument can be ommitted and set to NULL. + * In case no changes are requested through the LinphoneCallParams argument, then this argument can be omitted and set to NULL. * * @return 0 if successful, -1 otherwise. **/ @@ -3499,7 +3500,7 @@ unsigned long linphone_core_get_native_video_window_id(const LinphoneCore *lc){ return lc->video_window_id; } -/** +/**@ingroup media_parameters * Set the native video window id where the video is to be displayed. * If not set the core will create its own window. **/ @@ -3530,6 +3531,7 @@ unsigned long linphone_core_get_native_preview_window_id(const LinphoneCore *lc) } /** + * @ingroup media_parameters * Set the native window id where the preview video (local camera) is to be displayed. * This has to be used in conjonction with linphone_core_use_preview_window(). * If not set the core will create its own window. @@ -3553,16 +3555,20 @@ void linphone_core_use_preview_window(LinphoneCore *lc, bool_t yesno){ lc->use_preview_window=yesno; } /** + * @ingroup media_parameters *returns current device orientation */ int linphone_core_get_device_rotation(LinphoneCore *lc ) { return lc->device_rotation; } /** + * @ingroup media_parameters * Tells the core the device current orientation. This can be used by capture filters * on mobile devices to select between portrait/landscape mode and to produce properly - * orientated images. The exact meaning of the value in rotation if left to each device + * oriented images. The exact meaning of the value in rotation if left to each device * specific implementations. + *@param lc object. + *@param rotation . IOS supported values are 0 for UIInterfaceOrientationPortrait and 270 for UIInterfaceOrientationLandscapeRight. * **/ void linphone_core_set_device_rotation(LinphoneCore *lc, int rotation) { diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index 01353a3c..239e259c 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -818,7 +818,7 @@ int linphone_core_set_sip_transports(LinphoneCore *lc, const LCSipTransports *tr int linphone_core_get_sip_transports(LinphoneCore *lc, LCSipTransports *transports); /** - * @ingroup IOS + * * Give access to the UDP sip socket. Can be useful to configure this socket as persistent I.E kCFStreamNetworkServiceType set to kCFStreamNetworkServiceTypeVoIP) * @param lc #LinphoneCore * @return socket file descriptor