[Bug 671136] mpegtsmux: add support for SDT and NIT tables for DVB-S/DVB-T
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Nov 18 00:30:57 PST 2013
https://bugzilla.gnome.org/show_bug.cgi?id=671136
GStreamer | gst-plugins-bad | git
--- Comment #33 from Jesper Larsen <jesper.larsen at ixonos.com> 2013-11-18 08:30:50 UTC ---
(In reply to comment #27)
> (In reply to comment #15)
> > Created an attachment (id=258536)
View: https://bugzilla.gnome.org/attachment.cgi?id=258536
Review: https://bugzilla.gnome.org/review?bug=671136&attachment=258536
[details] [review]
> > Use big endian UCS-2 coding
> >
> > Decoding of control codes in multi byte character maps requires big endian
>
> Is that compatible with the previous behaviour ?
>
No, but I suspect a small bug in the previous behaviour. The problem is only
seen on strings with a multi byte character map and with the special control
codes. I.e. 0xE08A for newline.
The control codes are parsed in
gst-libs/gst/mpegts/gstmpegtsdescriptor.c:convert_to_utf8
while (*text != '\0') {
guint16 code = GST_READ_UINT16_BE (text);
switch (code) {
case 0xE086: /* emphasis on */
case 0xE087: /* emphasis off */
/* skip it */
break;
case 0xE08A:{
pos[0] = 0x00; /* 0x00 0x0A is a new line */
pos[1] = 0x0A;
pos += 2;
break;
}
default:
pos[0] = text[0];
pos[1] = text[1];
pos += 2;
break;
}
text += 2;
}
This parsing is big endian specific.
The character maps _ICONV_ISO10646_UC2 and _ICONV_UCS_2BE should be compliant,
but the old _ICONV_ISO10646_UC2 produces little endian strings on my setup.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list