summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2014-03-10 09:01:18 +0000
committerNanang Izzuddin <nanang@teluu.com>2014-03-10 09:01:18 +0000
commite309d458718a406f7d4c8e0fd00f6cd0d3390ef0 (patch)
tree2aca26ec45277e5920a8e7b454dd04880025e53d
parent369f12026f81c0723ab6799810bbe5f0291d50ae (diff)
Re #1745 (Shared lib on MinGW): Avoid circular dependency caused by pjmedia-audiodev dependency on pjmedia/format.c for pjmedia_format_init_audio().
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4785 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjmedia/include/pjmedia/format.h34
-rw-r--r--pjmedia/src/pjmedia/format.c22
2 files changed, 26 insertions, 30 deletions
diff --git a/pjmedia/include/pjmedia/format.h b/pjmedia/include/pjmedia/format.h
index 50199541..6e7ac89e 100644
--- a/pjmedia/include/pjmedia/format.h
+++ b/pjmedia/include/pjmedia/format.h
@@ -581,14 +581,32 @@ PJ_INLINE(unsigned) PJMEDIA_AFD_MAX_FSZ(const pjmedia_audio_format_detail *afd)
* @param avg_bps Average bitrate.
* @param max_bps Maximum bitrate.
*/
-PJ_DECL(void) pjmedia_format_init_audio(pjmedia_format *fmt,
- pj_uint32_t fmt_id,
- unsigned clock_rate,
- unsigned channel_count,
- unsigned bits_per_sample,
- unsigned frame_time_usec,
- pj_uint32_t avg_bps,
- pj_uint32_t max_bps);
+PJ_INLINE(void) pjmedia_format_init_audio(pjmedia_format *fmt,
+ pj_uint32_t fmt_id,
+ unsigned clock_rate,
+ unsigned channel_count,
+ unsigned bits_per_sample,
+ unsigned frame_time_usec,
+ pj_uint32_t avg_bps,
+ pj_uint32_t max_bps)
+{
+ /* This function is inlined to avoid build problem due to circular
+ * dependency, i.e: this function is part of pjmedia and is needed
+ * by pjmedia-audiodev, while pjmedia depends on pjmedia-audiodev.
+ */
+
+ fmt->id = fmt_id;
+ fmt->type = PJMEDIA_TYPE_AUDIO;
+ fmt->detail_type = PJMEDIA_FORMAT_DETAIL_AUDIO;
+
+ fmt->det.aud.clock_rate = clock_rate;
+ fmt->det.aud.channel_count = channel_count;
+ fmt->det.aud.bits_per_sample = bits_per_sample;
+ fmt->det.aud.frame_time_usec = frame_time_usec;
+ fmt->det.aud.avg_bps = avg_bps;
+ fmt->det.aud.max_bps = max_bps;
+}
+
/**
* Initialize the format as video format with the specified parameters.
diff --git a/pjmedia/src/pjmedia/format.c b/pjmedia/src/pjmedia/format.c
index f344ad62..3bd64209 100644
--- a/pjmedia/src/pjmedia/format.c
+++ b/pjmedia/src/pjmedia/format.c
@@ -24,28 +24,6 @@
#include <pj/string.h>
-PJ_DEF(void) pjmedia_format_init_audio( pjmedia_format *fmt,
- pj_uint32_t fmt_id,
- unsigned clock_rate,
- unsigned channel_count,
- unsigned bits_per_sample,
- unsigned frame_time_usec,
- pj_uint32_t avg_bps,
- pj_uint32_t max_bps)
-{
- fmt->id = fmt_id;
- fmt->type = PJMEDIA_TYPE_AUDIO;
- fmt->detail_type = PJMEDIA_FORMAT_DETAIL_AUDIO;
-
- fmt->det.aud.clock_rate = clock_rate;
- fmt->det.aud.channel_count = channel_count;
- fmt->det.aud.bits_per_sample = bits_per_sample;
- fmt->det.aud.frame_time_usec = frame_time_usec;
- fmt->det.aud.avg_bps = avg_bps;
- fmt->det.aud.max_bps = max_bps;
-}
-
-
PJ_DEF(pjmedia_audio_format_detail*)
pjmedia_format_get_audio_format_detail(const pjmedia_format *fmt,
pj_bool_t assert_valid)