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 pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org