<div dir="ltr"><div>Merged, thanks for contributing,<br><br></div><div>Kind regards,<br><br></div>Jean-Paul Saman<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 17, 2015 at 11:09 PM, Daniel Kamil Kozar <span dir="ltr"><<a href="mailto:dkk089@gmail.com" target="_blank">dkk089@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The definition of AAC profile and level values is also used by the MPEG-4 audio<br>
descriptor. Moving this definition to a separate file eliminates unnecessary<br>
code duplication. New values from the 2015 version of H.222 were also added.<br>
---<br>
src/descriptors/dr_7c.c | 13 +++-<br>
src/descriptors/dr_7c.h | 74 +-------------------<br>
src/descriptors/types/aac_profile.h | 132 ++++++++++++++++++++++++++++++++++++<br>
3 files changed, 144 insertions(+), 75 deletions(-)<br>
create mode 100644 src/descriptors/types/aac_profile.h<br>
<br>
diff --git a/src/descriptors/dr_7c.c b/src/descriptors/dr_7c.c<br>
index 41d1d8a..68b0a19 100644<br>
--- a/src/descriptors/dr_7c.c<br>
+++ b/src/descriptors/dr_7c.c<br>
@@ -49,7 +49,8 @@ struct dvbpsi_aac_profile_and_level_table_s<br>
static struct dvbpsi_aac_profile_and_level_table_s aac_profile_and_level_table[] =<br>
{<br>
{ 0x00, DVBPSI_AAC_PROFILE_RESERVED },<br>
- /* 0x00-0x0F Reserved */<br>
+ /* 0x00-0x0E Reserved */<br>
+ { 0x0F, DVBPSI_AAC_PROFILE_NOT_DEFINED },<br>
{ 0x10, DVBPSI_AAC_PROFILE_MAIN_LEVEL_1 },<br>
{ 0x11, DVBPSI_AAC_PROFILE_MAIN_LEVEL_2 },<br>
{ 0x12, DVBPSI_AAC_PROFILE_MAIN_LEVEL_3 },<br>
@@ -103,8 +104,14 @@ static struct dvbpsi_aac_profile_and_level_table_s aac_profile_and_level_table[]<br>
{ 0x58, DVBPSI_HE_AAC_PROFILE_LEVEL_2 },<br>
{ 0x59, DVBPSI_HE_AAC_PROFILE_LEVEL_3 },<br>
{ 0x5A, DVBPSI_HE_AAC_PROFILE_LEVEL_4 },<br>
- { 0x5B, DVBPSI_HE_AAC_PROFILE_LEVEL_5 }<br>
- /* 0x5C-0xFF RESERVED */<br>
+ { 0x5B, DVBPSI_HE_AAC_PROFILE_LEVEL_5 },<br>
+ /* 0x5C-0x5F RESERVED */<br>
+ { 0x60, DVBPSI_HE_AAC_V2_PROFILE_LEVEL_2 },<br>
+ { 0x61, DVBPSI_HE_AAC_V2_PROFILE_LEVEL_3 },<br>
+ { 0x62, DVBPSI_HE_AAC_V2_PROFILE_LEVEL_4 },<br>
+ { 0x63, DVBPSI_HE_AAC_V2_PROFILE_LEVEL_5 },<br>
+ /* 0x64-0xFE RESERVED */<br>
+ { 0xFF, DVBPSI_AAC_PROFILE_NOT_SPECIFIED }<br>
};<br>
static dvbpsi_aac_profile_and_level_t dvbpsi_aac_profile_and_level_lookup(const uint8_t value)<br>
{<br>
diff --git a/src/descriptors/dr_7c.h b/src/descriptors/dr_7c.h<br>
index a2c4d29..5c4ca12 100644<br>
--- a/src/descriptors/dr_7c.h<br>
+++ b/src/descriptors/dr_7c.h<br>
@@ -33,82 +33,12 @@<br>
#ifndef _DVBPSI_DR_7C_H_<br>
#define _DVBPSI_DR_7c_H_<br>
<br>
+#include "types/aac_profile.h"<br>
+<br>
#ifdef __cplusplus<br>
extern "C" {<br>
#endif<br>
<br>
-/*****************************************************************************<br>
- * dvbpsi_aac_dr_t<br>
- *****************************************************************************/<br>
-/*!<br>
- * \enum dvbpsi_aac_profile_and_level_s<br>
- * \brief enumeration of AAC profile and levels as specified in ISO/IEC 13818-1:2007 table 2.71<br>
- */<br>
-/*!<br>
- * \typedef enum dvbpsi_aac_profile_and_level_s dvbpsi_aac_profile_and_level_t<br>
- * \brief AAC profile and level as specified in ISO/IEC 13818-1:2007 table 2.71.<br>
- */<br>
-typedef enum dvbpsi_aac_profile_and_level_s<br>
-{<br>
- DVBPSI_AAC_PROFILE_RESERVED = 0x00, /*!< 0x00-0x0F Reserved */<br>
-<br>
- DVBPSI_AAC_PROFILE_MAIN_LEVEL_1 = 0x10, /*!< Main profile, level 1 */<br>
- DVBPSI_AAC_PROFILE_MAIN_LEVEL_2 = 0x11, /*!< Main profile, level 2 */<br>
- DVBPSI_AAC_PROFILE_MAIN_LEVEL_3 = 0x12, /*!< Main profile, level 3 */<br>
- DVBPSI_AAC_PROFILE_MAIN_LEVEL_4 = 0x13, /*!< Main profile, level 4 */<br>
- /** 0x14-0x17 Reserved */<br>
- DVBPSI_AAC_PROFILE_SCALABLE_LEVEL_1 = 0x18, /*!< Scalable Profile, level 1 */<br>
- DVBPSI_AAC_PROFILE_SCALABLE_LEVEL_2 = 0x19, /*!< Scalable Profile, level 2 */<br>
- DVBPSI_AAC_PROFILE_SCALABLE_LEVEL_3 = 0x1A, /*!< Scalable Profile, level 3 */<br>
- DVBPSI_AAC_PROFILE_SCALABLE_LEVEL_4 = 0x1B, /*!< Scalable Profile, level 4 */<br>
- /** 0x1C-0x1F Reserved */<br>
- DVBPSI_AAC_PROFILE_SPEECH_LEVEL_1 = 0x20, /*!< Speech profile, level 1 */<br>
- DVBPSI_AAC_PROFILE_SPEECH_LEVEL_2 = 0x21, /*!< Speech profile, level 2 */<br>
- /** 0x22-0x27 Reserved */<br>
- DVBPSI_AAC_PROFILE_SYNTHESIS_LEVEL_1 = 0x28, /*!< Synthesis profile, level 1 */<br>
- DVBPSI_AAC_PROFILE_SYNTHESIS_LEVEL_2 = 0x29, /*!< Synthesis profile, level 2 */<br>
- DVBPSI_AAC_PROFILE_SYNTHESIS_LEVEL_3 = 0x2A, /*!< Synthesis profile, level 3 */<br>
- /** 0x2B-0x2F Reserved */<br>
- DVBPSI_AAC_PROFILE_HQ_LEVEL_1 = 0x30, /*!< High quality audio profile, level 1 */<br>
- DVBPSI_AAC_PROFILE_HQ_LEVEL_2 = 0x31, /*!< High quality audio profile, level 2 */<br>
- DVBPSI_AAC_PROFILE_HQ_LEVEL_3 = 0x32, /*!< High quality audio profile, level 3 */<br>
- DVBPSI_AAC_PROFILE_HQ_LEVEL_4 = 0x33, /*!< High quality audio profile, level 4 */<br>
- DVBPSI_AAC_PROFILE_HQ_LEVEL_5 = 0x34, /*!< High quality audio profile, level 5 */<br>
- DVBPSI_AAC_PROFILE_HQ_LEVEL_6 = 0x35, /*!< High quality audio profile, level 6 */<br>
- DVBPSI_AAC_PROFILE_HQ_LEVEL_7 = 0x36, /*!< High quality audio profile, level 7 */<br>
- DVBPSI_AAC_PROFILE_HQ_LEVEL_8 = 0x37, /*!< High quality audio profile, level 8 */<br>
- DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_1 = 0x38, /*!< Low delay audio profile, level 1 */<br>
- DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_2 = 0x39, /*!< Low delay audio profile, level 2 */<br>
- DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_3 = 0x3A, /*!< Low delay audio profile, level 3 */<br>
- DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_4 = 0x3B, /*!< Low delay audio profile, level 4 */<br>
- DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_5 = 0x3C, /*!< Low delay audio profile, level 5 */<br>
- DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_6 = 0x3D, /*!< Low delay audio profile, level 6 */<br>
- DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_7 = 0x3E, /*!< Low delay audio profile, level 7 */<br>
- DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_8 = 0x3F, /*!< Low delay audio profile, level 8 */<br>
- DVBPSI_AAC_PROFILE_NATURAL_LEVEL_1 = 0x40, /*!< Natural audio profile, level 1 */<br>
- DVBPSI_AAC_PROFILE_NATURAL_LEVEL_2 = 0x41, /*!< Natural audio profile, level 2 */<br>
- DVBPSI_AAC_PROFILE_NATURAL_LEVEL_3 = 0x42, /*!< Natural audio profile, level 3 */<br>
- DVBPSI_AAC_PROFILE_NATURAL_LEVEL_4 = 0x43, /*!< Natural audio profile, level 4 */<br>
- /** 0x44-0x47 Reserved */<br>
- DVBPSI_AAC_PROFILE_MOBILE_LEVEL_1 = 0x48, /*!< Mobile audio internetworking profile, level 1 */<br>
- DVBPSI_AAC_PROFILE_MOBILE_LEVEL_2 = 0x49, /*!< Mobile audio internetworking profile, level 2 */<br>
- DVBPSI_AAC_PROFILE_MOBILE_LEVEL_3 = 0x4A, /*!< Mobile audio internetworking profile, level 3 */<br>
- DVBPSI_AAC_PROFILE_MOBILE_LEVEL_4 = 0x4B, /*!< Mobile audio internetworking profile, level 4 */<br>
- DVBPSI_AAC_PROFILE_MOBILE_LEVEL_5 = 0x4C, /*!< Mobile audio internetworking profile, level 5 */<br>
- DVBPSI_AAC_PROFILE_MOBILE_LEVEL_6 = 0x4D, /*!< Mobile audio internetworking profile, level 6 */<br>
- /** 0x4E-0x4F Reserved */<br>
- DVBPSI_AAC_PROFILE_LEVEL_1 = 0x50, /*!< AAC profile, level 1 */<br>
- DVBPSI_AAC_PROFILE_LEVEL_2 = 0x51, /*!< AAC profile, level 2 */<br>
- DVBPSI_AAC_PROFILE_LEVEL_4 = 0x52, /*!< AAC profile, level 4 */<br>
- DVBPSI_AAC_PROFILE_LEVEL_5 = 0x53, /*!< AAC profile, level 5 */<br>
- /** 0x54-0x57 RESERVED */<br>
- DVBPSI_HE_AAC_PROFILE_LEVEL_2 = 0x58, /*!< High efficiency AAC profile, level 2 */<br>
- DVBPSI_HE_AAC_PROFILE_LEVEL_3 = 0x59, /*!< High efficiency AAC profile, level 3 */<br>
- DVBPSI_HE_AAC_PROFILE_LEVEL_4 = 0x5A, /*!< High efficiency AAC profile, level 4 */<br>
- DVBPSI_HE_AAC_PROFILE_LEVEL_5 = 0x5B /*!< High efficiency AAC profile, level 5 */<br>
- /** 0x5C-0xFF RESERVED */<br>
-} dvbpsi_aac_profile_and_level_t;<br>
-<br>
/*!<br>
* \enum dvbpsi_aac_type_s<br>
* \brief AAC type information as described in table 26, page 41 where column<br>
diff --git a/src/descriptors/types/aac_profile.h b/src/descriptors/types/aac_profile.h<br>
new file mode 100644<br>
index 0000000..307a91c<br>
--- /dev/null<br>
+++ b/src/descriptors/types/aac_profile.h<br>
@@ -0,0 +1,132 @@<br>
+/*****************************************************************************<br>
+ * aac_profile.h<br>
+ * Copyright (c) 2012 VideoLAN<br>
+ * $Id$<br>
+ *<br>
+ * Authors: Jean-Paul Saman <<a href="mailto:jpsaman@videolan.org">jpsaman@videolan.org</a>><br>
+ * Daniel Kamil Kozar <<a href="mailto:dkk089@gmail.com">dkk089@gmail.com</a>><br>
+ *<br>
+ * This library is free software; you can redistribute it and/or<br>
+ * modify it under the terms of the GNU Lesser General Public<br>
+ * License as published by the Free Software Foundation; either<br>
+ * version 2.1 of the License, or (at your option) any later version.<br>
+ *<br>
+ * This library is distributed in the hope that it will be useful,<br>
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br>
+ * Lesser General Public License for more details.<br>
+ *<br>
+ * You should have received a copy of the GNU Lesser General Public<br>
+ * License along with this library; if not, write to the Free Software<br>
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA<br>
+ *<br>
+ *****************************************************************************/<br>
+<br>
+/*!<br>
+ * \file <aac_profile.h><br>
+ * \author Jean-Paul Saman <<a href="mailto:jpsaman@videolan.org">jpsaman@videolan.org</a>><br>
+ * \author Daniel Kamil Kozar <<a href="mailto:dkk089@gmail.com">dkk089@gmail.com</a>><br>
+ * \brief AAC Audio Profile and Level values<br>
+ *<br>
+ * Definitions of the values used for specifying the AAC audio profile and level,<br>
+ * as specified in ISO/IEC 13818-1:2015 table 2.71.<br>
+ */<br>
+<br>
+#ifndef _DVBPSI_AAC_PROFILE_H_<br>
+#define _DVBPSI_AAC_PROFILE_H_<br>
+<br>
+#ifdef __cplusplus<br>
+extern "C" {<br>
+#endif<br>
+<br>
+/*****************************************************************************<br>
+ * dvbpsi_aac_dr_t<br>
+ *****************************************************************************/<br>
+/*!<br>
+ * \enum dvbpsi_aac_profile_and_level_s<br>
+ * \brief enumeration of AAC profile and levels as specified in ISO/IEC 13818-1:2015 table 2.71<br>
+ */<br>
+/*!<br>
+ * \typedef enum dvbpsi_aac_profile_and_level_s dvbpsi_aac_profile_and_level_t<br>
+ * \brief AAC profile and level as specified in ISO/IEC 13818-1:2015 table 2.71.<br>
+ */<br>
+typedef enum dvbpsi_aac_profile_and_level_s<br>
+{<br>
+ DVBPSI_AAC_PROFILE_RESERVED = 0x00, /*!< 0x00-0x0E Reserved */<br>
+<br>
+ /** No audio profile and level defined for the associated MPEG-4 audio stream */<br>
+ DVBPSI_AAC_PROFILE_NOT_DEFINED = 0x0F,<br>
+<br>
+ DVBPSI_AAC_PROFILE_MAIN_LEVEL_1 = 0x10, /*!< Main profile, level 1 */<br>
+ DVBPSI_AAC_PROFILE_MAIN_LEVEL_2 = 0x11, /*!< Main profile, level 2 */<br>
+ DVBPSI_AAC_PROFILE_MAIN_LEVEL_3 = 0x12, /*!< Main profile, level 3 */<br>
+ DVBPSI_AAC_PROFILE_MAIN_LEVEL_4 = 0x13, /*!< Main profile, level 4 */<br>
+ /** 0x14-0x17 Reserved */<br>
+ DVBPSI_AAC_PROFILE_SCALABLE_LEVEL_1 = 0x18, /*!< Scalable Profile, level 1 */<br>
+ DVBPSI_AAC_PROFILE_SCALABLE_LEVEL_2 = 0x19, /*!< Scalable Profile, level 2 */<br>
+ DVBPSI_AAC_PROFILE_SCALABLE_LEVEL_3 = 0x1A, /*!< Scalable Profile, level 3 */<br>
+ DVBPSI_AAC_PROFILE_SCALABLE_LEVEL_4 = 0x1B, /*!< Scalable Profile, level 4 */<br>
+ /** 0x1C-0x1F Reserved */<br>
+ DVBPSI_AAC_PROFILE_SPEECH_LEVEL_1 = 0x20, /*!< Speech profile, level 1 */<br>
+ DVBPSI_AAC_PROFILE_SPEECH_LEVEL_2 = 0x21, /*!< Speech profile, level 2 */<br>
+ /** 0x22-0x27 Reserved */<br>
+ DVBPSI_AAC_PROFILE_SYNTHESIS_LEVEL_1 = 0x28, /*!< Synthesis profile, level 1 */<br>
+ DVBPSI_AAC_PROFILE_SYNTHESIS_LEVEL_2 = 0x29, /*!< Synthesis profile, level 2 */<br>
+ DVBPSI_AAC_PROFILE_SYNTHESIS_LEVEL_3 = 0x2A, /*!< Synthesis profile, level 3 */<br>
+ /** 0x2B-0x2F Reserved */<br>
+ DVBPSI_AAC_PROFILE_HQ_LEVEL_1 = 0x30, /*!< High quality audio profile, level 1 */<br>
+ DVBPSI_AAC_PROFILE_HQ_LEVEL_2 = 0x31, /*!< High quality audio profile, level 2 */<br>
+ DVBPSI_AAC_PROFILE_HQ_LEVEL_3 = 0x32, /*!< High quality audio profile, level 3 */<br>
+ DVBPSI_AAC_PROFILE_HQ_LEVEL_4 = 0x33, /*!< High quality audio profile, level 4 */<br>
+ DVBPSI_AAC_PROFILE_HQ_LEVEL_5 = 0x34, /*!< High quality audio profile, level 5 */<br>
+ DVBPSI_AAC_PROFILE_HQ_LEVEL_6 = 0x35, /*!< High quality audio profile, level 6 */<br>
+ DVBPSI_AAC_PROFILE_HQ_LEVEL_7 = 0x36, /*!< High quality audio profile, level 7 */<br>
+ DVBPSI_AAC_PROFILE_HQ_LEVEL_8 = 0x37, /*!< High quality audio profile, level 8 */<br>
+ DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_1 = 0x38, /*!< Low delay audio profile, level 1 */<br>
+ DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_2 = 0x39, /*!< Low delay audio profile, level 2 */<br>
+ DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_3 = 0x3A, /*!< Low delay audio profile, level 3 */<br>
+ DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_4 = 0x3B, /*!< Low delay audio profile, level 4 */<br>
+ DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_5 = 0x3C, /*!< Low delay audio profile, level 5 */<br>
+ DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_6 = 0x3D, /*!< Low delay audio profile, level 6 */<br>
+ DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_7 = 0x3E, /*!< Low delay audio profile, level 7 */<br>
+ DVBPSI_AAC_PROFILE_LOW_DELAY_LEVEL_8 = 0x3F, /*!< Low delay audio profile, level 8 */<br>
+ DVBPSI_AAC_PROFILE_NATURAL_LEVEL_1 = 0x40, /*!< Natural audio profile, level 1 */<br>
+ DVBPSI_AAC_PROFILE_NATURAL_LEVEL_2 = 0x41, /*!< Natural audio profile, level 2 */<br>
+ DVBPSI_AAC_PROFILE_NATURAL_LEVEL_3 = 0x42, /*!< Natural audio profile, level 3 */<br>
+ DVBPSI_AAC_PROFILE_NATURAL_LEVEL_4 = 0x43, /*!< Natural audio profile, level 4 */<br>
+ /** 0x44-0x47 Reserved */<br>
+ DVBPSI_AAC_PROFILE_MOBILE_LEVEL_1 = 0x48, /*!< Mobile audio internetworking profile, level 1 */<br>
+ DVBPSI_AAC_PROFILE_MOBILE_LEVEL_2 = 0x49, /*!< Mobile audio internetworking profile, level 2 */<br>
+ DVBPSI_AAC_PROFILE_MOBILE_LEVEL_3 = 0x4A, /*!< Mobile audio internetworking profile, level 3 */<br>
+ DVBPSI_AAC_PROFILE_MOBILE_LEVEL_4 = 0x4B, /*!< Mobile audio internetworking profile, level 4 */<br>
+ DVBPSI_AAC_PROFILE_MOBILE_LEVEL_5 = 0x4C, /*!< Mobile audio internetworking profile, level 5 */<br>
+ DVBPSI_AAC_PROFILE_MOBILE_LEVEL_6 = 0x4D, /*!< Mobile audio internetworking profile, level 6 */<br>
+ /** 0x4E-0x4F Reserved */<br>
+ DVBPSI_AAC_PROFILE_LEVEL_1 = 0x50, /*!< AAC profile, level 1 */<br>
+ DVBPSI_AAC_PROFILE_LEVEL_2 = 0x51, /*!< AAC profile, level 2 */<br>
+ DVBPSI_AAC_PROFILE_LEVEL_4 = 0x52, /*!< AAC profile, level 4 */<br>
+ DVBPSI_AAC_PROFILE_LEVEL_5 = 0x53, /*!< AAC profile, level 5 */<br>
+ /** 0x54-0x57 RESERVED */<br>
+ DVBPSI_HE_AAC_PROFILE_LEVEL_2 = 0x58, /*!< High efficiency AAC profile, level 2 */<br>
+ DVBPSI_HE_AAC_PROFILE_LEVEL_3 = 0x59, /*!< High efficiency AAC profile, level 3 */<br>
+ DVBPSI_HE_AAC_PROFILE_LEVEL_4 = 0x5A, /*!< High efficiency AAC profile, level 4 */<br>
+ DVBPSI_HE_AAC_PROFILE_LEVEL_5 = 0x5B, /*!< High efficiency AAC profile, level 5 */<br>
+ /** 0x5C-0x5F RESERVED */<br>
+ DVBPSI_HE_AAC_V2_PROFILE_LEVEL_2 = 0x60, /*!< High efficiency AAC v2 profile, level 2 */<br>
+ DVBPSI_HE_AAC_V2_PROFILE_LEVEL_3 = 0x61, /*!< High efficiency AAC v2 profile, level 3 */<br>
+ DVBPSI_HE_AAC_V2_PROFILE_LEVEL_4 = 0x62, /*!< High efficiency AAC v2 profile, level 4 */<br>
+ DVBPSI_HE_AAC_V2_PROFILE_LEVEL_5 = 0x63, /*!< High efficiency AAC v2 profile, level 5 */<br>
+ /** 0x64-0xFE RESERVED */<br>
+<br>
+ /** Audio profile and level not specified by the MPEG-4_audio_profile_and_level<br>
+ * field in this descriptor. */<br>
+ DVBPSI_AAC_PROFILE_NOT_SPECIFIED = 0xFF<br>
+} dvbpsi_aac_profile_and_level_t;<br>
+<br>
+#ifdef __cplusplus<br>
+};<br>
+#endif<br>
+<br>
+#else<br>
+#error "Multiple inclusions of aac_profile.h"<br>
+#endif<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.3.3<br>
<br>
_______________________________________________<br>
libdvbpsi-devel mailing list<br>
<a href="mailto:libdvbpsi-devel@videolan.org">libdvbpsi-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/libdvbpsi-devel" target="_blank">https://mailman.videolan.org/listinfo/libdvbpsi-devel</a><br>
</font></span></blockquote></div><br></div>