Discussion:
[pjsip] Doxygen LaTeX documentation troubles fixed
Michael Scheiffler
2017-07-04 07:20:58 UTC
Permalink
Hey there,

when trying to generate a PDF documentation of PJMedia using Doxygen
with LaTeX output, I ran into several issues:
1. Doxygen/LaTeX seems to have severe troubles with unnamed nested compounds.
2. Percent sign characters in comments must be escaped (otherwise
those get interpreted in an incorrect way).

I managed to solve those issues. See the patches below...



pjmedia/include/pjmedia/wave.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pjmedia/include/pjmedia/wave.h b/pjmedia/include/pjmedia/wave.h
index a1fec7c..8128ca4 100644
--- a/pjmedia/include/pjmedia/wave.h
+++ b/pjmedia/include/pjmedia/wave.h
@@ -91,14 +91,14 @@ typedef enum {
struct pjmedia_wave_hdr
{
/** This structure describes RIFF WAVE file header */
- struct {
+ struct pjmedia_wave_hdr_riff {
pj_uint32_t riff; /**< "RIFF" ASCII tag. */
pj_uint32_t file_len; /**< File length minus 8 bytes */
pj_uint32_t wave; /**< "WAVE" ASCII tag. */
} riff_hdr;

/** This structure describes format chunks/header */
- struct {
+ struct pjmedia_wave_hdr_fmt {
pj_uint32_t fmt; /**< "fmt " ASCII tag. */
pj_uint32_t len; /**< 16 for PCM. */
pj_uint16_t fmt_tag; /**< 1 for PCM */
@@ -110,7 +110,7 @@ struct pjmedia_wave_hdr
} fmt_hdr;

/** The data header preceeds the actual data in the file. */
- struct {
+ struct pjmedia_wave_hdr_data {
pj_uint32_t data; /**< "data" ASCII tag. */
pj_uint32_t len; /**< Data length. */
} data_hdr;



pjmedia/include/pjmedia/rtcp_xr.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pjmedia/include/pjmedia/rtcp_xr.h
b/pjmedia/include/pjmedia/rtcp_xr.h
index 9050f25..8491c1a 100644
--- a/pjmedia/include/pjmedia/rtcp_xr.h
+++ b/pjmedia/include/pjmedia/rtcp_xr.h
@@ -216,7 +216,7 @@ typedef struct pjmedia_rtcp_xr_rb_voip_mtc
*/
typedef struct pjmedia_rtcp_xr_pkt
{
- struct {
+ struct pjmedia_rtcp_xr_pkt_common {
#if defined(PJ_IS_BIG_ENDIAN) && PJ_IS_BIG_ENDIAN!=0
unsigned version:2; /**< packet type */
unsigned p:1; /**< padding flag */
@@ -244,7 +244,7 @@ typedef struct pjmedia_rtcp_xr_pkt
*/
typedef struct pjmedia_rtcp_xr_stream_stat
{
- struct {
+ struct pjmedia_rtcp_xr_stream_stat_sum {
pj_time_val update; /**< Time of last update. */

pj_uint32_t begin_seq; /**< Begin # seq of this interval. */
@@ -266,7 +266,7 @@ typedef struct pjmedia_rtcp_xr_stream_stat
pj_math_stat toh; /**< TTL of hop limit statistics. */
} stat_sum;

- struct {
+ struct pjmedia_rtcp_xr_stream_stat_voip_mtc {
pj_time_val update; /**< Time of last update. */

pj_uint8_t loss_rate; /**< Packet loss rate */
@@ -341,7 +341,7 @@ struct pjmedia_rtcp_xr_session
/* This structure contains variables needed for calculating
* burst metrics.
*/
- struct {
+ struct pjmedia_rtcp_xr_session_voip_mtc_stat {
pj_uint32_t pkt;
pj_uint32_t lost;
pj_uint32_t loss_count;



pjmedia/include/pjmedia/format.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pjmedia/include/pjmedia/format.h b/pjmedia/include/pjmedia/format.h
index 1bbd96c..5c2c56f 100644
--- a/pjmedia/include/pjmedia/format.h
+++ b/pjmedia/include/pjmedia/format.h
@@ -122,7 +122,7 @@ typedef enum pjmedia_format_id
* This is a packed 4:4:4/32bpp format, where each pixel is encoded as
* four consecutive bytes, arranged in the following sequence: V0, U0,
* Y0, A0. Source:
- * http://msdn.microsoft.com/en-us/library/dd206750%28v=VS.85%29.aspx#ayuv
+ * http://msdn.microsoft.com/en-us/library/dd206750\%28v=VS.85\%29.aspx#ayuv
*/
PJMEDIA_FORMAT_AYUV = PJMEDIA_FORMAT_PACK('A', 'Y', 'U', 'V'),

@@ -132,7 +132,7 @@ typedef enum pjmedia_format_id
* the first Y sample, the second byte contains the first U (Cb) sample,
* the third byte contains the second Y sample, and the fourth byte
* contains the first V (Cr) sample, and so forth. Source:
- * http://msdn.microsoft.com/en-us/library/dd206750%28v=VS.85%29.aspx#yuy2
+ * http://msdn.microsoft.com/en-us/library/dd206750\%28v=VS.85\%29.aspx#yuy2
*/
PJMEDIA_FORMAT_YUY2 = PJMEDIA_FORMAT_PACK('Y', 'U', 'Y', '2'),

@@ -142,7 +142,7 @@ typedef enum pjmedia_format_id
* image is addressed as an array of two little-endian WORD values, the
* first WORD contains U in the LSBs and Y0 in the MSBs, and the second
* WORD contains V in the LSBs and Y1 in the MSBs. Source:
- * http://msdn.microsoft.com/en-us/library/dd206750%28v=VS.85%29.aspx#uyvy
+ * http://msdn.microsoft.com/en-us/library/dd206750\%28v=VS.85\%29.aspx#uyvy
*/
PJMEDIA_FORMAT_UYVY = PJMEDIA_FORMAT_PACK('U', 'Y', 'V', 'Y'),

@@ -303,7 +303,7 @@ typedef struct pjmedia_format
/**
* Detail section to describe the media.
*/
- union
+ union pjmedia_format_detail
{
/**
* Detail section for audio format.



Regards,
Michael

_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
***@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Loading...