Index: include/opus_defines.h |
diff --git a/include/opus_defines.h b/include/opus_defines.h |
index 82a5f06bb1e65c705ab2348e4c0b6f37081110db..cdde061a567323fd5ebb75a6caf1e279a88f2409 100644 |
--- a/include/opus_defines.h |
+++ b/include/opus_defines.h |
@@ -63,20 +63,18 @@ extern "C" { |
/** @cond OPUS_INTERNAL_DOC */ |
/**Export control for opus functions */ |
-#if !defined(OPUS_EXPORT) |
- |
-#if defined(__GNUC__) && defined(OPUS_BUILD) |
-# define OPUS_EXPORT __attribute__ ((visibility ("default"))) |
-#elif defined(WIN32) && !defined(__MINGW32__) |
-# ifdef OPUS_BUILD |
+#ifndef OPUS_EXPORT |
+# if defined(__GNUC__) && defined(OPUS_BUILD) |
+# define OPUS_EXPORT __attribute__ ((visibility ("default"))) |
+# elif defined(WIN32) && !defined(__MINGW32__) |
+# ifdef OPUS_BUILD |
# define OPUS_EXPORT __declspec(dllexport) |
-# else |
+# else |
# define OPUS_EXPORT |
+# endif |
+# else |
+# define OPUS_EXPORT |
# endif |
-#else |
-# define OPUS_EXPORT |
-#endif |
- |
#endif |
# if !defined(OPUS_GNUC_PREREQ) |
@@ -147,10 +145,14 @@ extern "C" { |
#define OPUS_GET_FINAL_RANGE_REQUEST 4031 |
#define OPUS_GET_PITCH_REQUEST 4033 |
#define OPUS_SET_GAIN_REQUEST 4034 |
-#define OPUS_GET_GAIN_REQUEST 4045 |
+#define OPUS_GET_GAIN_REQUEST 4045 /* Should have been 4035 */ |
#define OPUS_SET_LSB_DEPTH_REQUEST 4036 |
#define OPUS_GET_LSB_DEPTH_REQUEST 4037 |
+#define OPUS_GET_LAST_PACKET_DURATION_REQUEST 4039 |
+ |
+/* Don't use 4045, it's already taken by OPUS_GET_GAIN_REQUEST */ |
+ |
/* Macros to trigger compilation errors when the wrong types are provided to a CTL */ |
#define __opus_check_int(x) (((void)((x) == (opus_int32)0)), (opus_int32)(x)) |
#define __opus_check_int_ptr(ptr) ((ptr) + ((ptr) - (opus_int32*)(ptr))) |
@@ -505,6 +507,24 @@ extern "C" { |
* </dl> |
* @hideinitializer */ |
#define OPUS_GET_DTX(x) OPUS_GET_DTX_REQUEST, __opus_check_int_ptr(x) |
+/** Configures the depth of signal being encoded. |
+ * This is a hint which helps the encoder identify silence and near-silence. |
+ * @see OPUS_GET_LSB_DEPTH |
+ * @param[in] x <tt>opus_int32</tt>: Input precision in bits, between 8 and 24 |
+ * (default: 24). |
+ * @hideinitializer */ |
+#define OPUS_SET_LSB_DEPTH(x) OPUS_SET_LSB_DEPTH_REQUEST, __opus_check_int(x) |
+/** Gets the encoder's configured signal depth. |
+ * @see OPUS_SET_LSB_DEPTH |
+ * @param[out] x <tt>opus_int32 *</tt>: Input precision in bits, between 8 and |
+ * 24 (default: 24). |
+ * @hideinitializer */ |
+#define OPUS_GET_LSB_DEPTH(x) OPUS_GET_LSB_DEPTH_REQUEST, __opus_check_int_ptr(x) |
+ |
+/** Gets the duration (in samples) of the last packet successfully decoded or concealed. |
+ * @param[out] x <tt>opus_int32 *</tt>: Number of samples (at current sampling rate). |
+ * @hideinitializer */ |
+#define OPUS_GET_LAST_PACKET_DURATION(x) OPUS_GET_LAST_PACKET_DURATION_REQUEST, __opus_check_int_ptr(x) |
/**@}*/ |
/** @defgroup opus_genericctls Generic CTLs |
@@ -584,19 +604,6 @@ extern "C" { |
* @hideinitializer */ |
#define OPUS_GET_BANDWIDTH(x) OPUS_GET_BANDWIDTH_REQUEST, __opus_check_int_ptr(x) |
-/** Configures the depth of signal being encoded. |
- * This is a hint which helps the encoder identify silence and near-silence. |
- * @see OPUS_GET_LSB_DEPTH |
- * @param[in] x <tt>opus_int32</tt>: Input precision in bits, between 8 and 24 |
- * (default: 24). |
- * @hideinitializer */ |
-#define OPUS_SET_LSB_DEPTH(x) OPUS_SET_LSB_DEPTH_REQUEST, __opus_check_int(x) |
-/** Gets the encoder's configured signal depth. |
- * @see OPUS_SET_LSB_DEPTH |
- * @param[out] x <tt>opus_int32 *</tt>: Input precision in bits, between 8 and |
- * 24 (default: 24). |
- * @hideinitializer */ |
-#define OPUS_GET_LSB_DEPTH(x) OPUS_GET_LSB_DEPTH_REQUEST, __opus_check_int_ptr(x) |
/**@}*/ |
/** @defgroup opus_decoderctls Decoder related CTLs |