[vlc-devel] commit: zvbi: Added a table with language -> zvbi default_region mappings. Far from perfect, but will solve some cases. (Derk-Jan Hartman )
git version control
git at videolan.org
Thu Sep 11 15:26:02 CEST 2008
vlc | branch: 0.9-bugfix | Derk-Jan Hartman <hartman at videolan.org> | Thu Sep 11 13:34:09 2008 +0200| [16ac05ef32699d51d03280e7a812ccb9d2121d43] | committer: Derk-Jan Hartman
zvbi: Added a table with language -> zvbi default_region mappings. Far from perfect, but will solve some cases.
(cherry picked from commit 718739e91a61aab6f95f264bdc5635eaa1caeb5c)
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=16ac05ef32699d51d03280e7a812ccb9d2121d43
---
modules/codec/zvbi.c | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/modules/codec/zvbi.c b/modules/codec/zvbi.c
index 9405834..8218fe6 100644
--- a/modules/codec/zvbi.c
+++ b/modules/codec/zvbi.c
@@ -102,6 +102,27 @@ vlc_module_end();
// #define ZVBI_DEBUG
+//Guessing table for missing "default region triplet"
+static const int pi_default_triplet[] = {
+ 0, 0, // slo cze
+ 8, // pol
+ 24,24,24,24, //ssc scr slv rum
+ 32,32,32,32,32, //est lit rus bul ukr
+ 48,48, //gre ell
+ 64, //ara
+ 88, //heb
+ 16 }; //default
+static const char *const ppsz_default_triplet[] = {
+ "slo", "cze",
+ "pol",
+ "ssc", "scr", "slv", "rum",
+ "est", "lit", "rus", "bul", "ukr",
+ "gre", "ell",
+ "ara",
+ "heb",
+ NULL
+};
+
typedef enum {
DATA_UNIT_EBU_TELETEXT_NON_SUBTITLE = 0x02,
DATA_UNIT_EBU_TELETEXT_SUBTITLE = 0x03,
@@ -187,6 +208,19 @@ static int Open( vlc_object_t *p_this )
return VLC_ENOMEM;
}
+ /* Some broadcasters in countries with level 1 and level 1.5 still not send a G0 to do
+ * matches against table 32 of ETSI 300 706. We try to do some best effort guessing
+ * This is not perfect, but might handle some cases where we know the vbi language
+ * is known. It would be better if people started sending G0 */
+ for( int i = 0; ppsz_default_triplet[i] != NULL; i++ )
+ {
+ if( p_dec->fmt_in.psz_language && !strcmp( p_dec->fmt_in.psz_language, ppsz_default_triplet[i] ) )
+ {
+ vbi_teletext_set_default_region( p_sys->p_vbi_dec, pi_default_triplet[i]);
+ msg_Dbg( p_dec, "overwriting default zvbi region: %d", pi_default_triplet[i] );
+ }
+ }
+
vbi_event_handler_register( p_sys->p_vbi_dec, VBI_EVENT_TTX_PAGE |
VBI_EVENT_CAPTION | VBI_EVENT_NETWORK |
VBI_EVENT_ASPECT | VBI_EVENT_PROG_INFO,
More information about the vlc-devel
mailing list