mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-09-02 10:13:51 +00:00
mpegts: Ensure NULL-terminated language code
Yup, it breaks API and ABI, I know. But let's avoid people and bindings printing out garbage
This commit is contained in:
parent
f7b1b5fcd3
commit
1797802bd2
2 changed files with 10 additions and 8 deletions
|
@ -941,6 +941,7 @@ gst_mpegts_descriptor_parse_dvb_extended_event (const GstMpegTsDescriptor
|
||||||
data += 1;
|
data += 1;
|
||||||
|
|
||||||
memcpy (res->language_code, data, 3);
|
memcpy (res->language_code, data, 3);
|
||||||
|
res->language_code[3] = 0;
|
||||||
|
|
||||||
data += 3;
|
data += 3;
|
||||||
|
|
||||||
|
|
|
@ -473,6 +473,7 @@ struct _GstMpegTsExtendedEventItem
|
||||||
* GstMpegTsExtendedEventDescriptor:
|
* GstMpegTsExtendedEventDescriptor:
|
||||||
* @desctiptor_number:
|
* @desctiptor_number:
|
||||||
* @last_descriptor_number:
|
* @last_descriptor_number:
|
||||||
|
* @language_code: NULL terminated language code.
|
||||||
* @items: (element-type GstMpegTsExtendedEventItem): the #GstMpegTsExtendedEventItem
|
* @items: (element-type GstMpegTsExtendedEventItem): the #GstMpegTsExtendedEventItem
|
||||||
* @text:
|
* @text:
|
||||||
*
|
*
|
||||||
|
@ -482,7 +483,7 @@ struct _GstMpegTsExtendedEventDescriptor
|
||||||
{
|
{
|
||||||
guint8 descriptor_number;
|
guint8 descriptor_number;
|
||||||
guint8 last_descriptor_number;
|
guint8 last_descriptor_number;
|
||||||
gchar language_code[3];
|
gchar language_code[4];
|
||||||
GPtrArray *items;
|
GPtrArray *items;
|
||||||
gchar *text;
|
gchar *text;
|
||||||
};
|
};
|
||||||
|
@ -498,7 +499,7 @@ struct _GstMpegTsComponentDescriptor
|
||||||
guint8 component_type;
|
guint8 component_type;
|
||||||
guint8 component_tag;
|
guint8 component_tag;
|
||||||
/* FIXME : Make it a separate (allocated, null-terminated) return value */
|
/* FIXME : Make it a separate (allocated, null-terminated) return value */
|
||||||
gchar language_code[3];
|
gchar language_code[4];
|
||||||
gchar *text;
|
gchar *text;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -536,7 +537,7 @@ typedef struct _GstMpegTsDVBParentalRatingItem GstMpegTsDVBParentalRatingItem;
|
||||||
*/
|
*/
|
||||||
struct _GstMpegTsDVBParentalRatingItem
|
struct _GstMpegTsDVBParentalRatingItem
|
||||||
{
|
{
|
||||||
gchar country_code[3];
|
gchar country_code[4];
|
||||||
guint8 rating;
|
guint8 rating;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -665,7 +666,7 @@ typedef struct _GstMpegTsDvbMultilingualNetworkNameItem GstMpegTsDvbMultilingual
|
||||||
*/
|
*/
|
||||||
struct _GstMpegTsDvbMultilingualNetworkNameItem
|
struct _GstMpegTsDvbMultilingualNetworkNameItem
|
||||||
{
|
{
|
||||||
gchar language_code[3];
|
gchar language_code[4];
|
||||||
gchar *network_name;
|
gchar *network_name;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -684,7 +685,7 @@ typedef struct _GstMpegTsDvbMultilingualBouquetNameItem GstMpegTsDvbMultilingual
|
||||||
*/
|
*/
|
||||||
struct _GstMpegTsDvbMultilingualBouquetNameItem
|
struct _GstMpegTsDvbMultilingualBouquetNameItem
|
||||||
{
|
{
|
||||||
gchar language_code[3];
|
gchar language_code[4];
|
||||||
gchar *bouquet_name;
|
gchar *bouquet_name;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -704,7 +705,7 @@ typedef struct _GstMpegTsDvbMultilingualServiceNameItem GstMpegTsDvbMultilingual
|
||||||
*/
|
*/
|
||||||
struct _GstMpegTsDvbMultilingualServiceNameItem
|
struct _GstMpegTsDvbMultilingualServiceNameItem
|
||||||
{
|
{
|
||||||
gchar language_code[3];
|
gchar language_code[4];
|
||||||
gchar *provider_name;
|
gchar *provider_name;
|
||||||
gchar *service_name;
|
gchar *service_name;
|
||||||
};
|
};
|
||||||
|
@ -722,7 +723,7 @@ typedef struct _GstMpegTsDvbMultilingualComponentItem GstMpegTsDvbMultilingualCo
|
||||||
*/
|
*/
|
||||||
struct _GstMpegTsDvbMultilingualComponentItem
|
struct _GstMpegTsDvbMultilingualComponentItem
|
||||||
{
|
{
|
||||||
gchar language_code[3];
|
gchar language_code[4];
|
||||||
gchar *description;
|
gchar *description;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -754,7 +755,7 @@ struct _GstMpegTsDataBroadcastDescriptor
|
||||||
guint16 data_broadcast_id;
|
guint16 data_broadcast_id;
|
||||||
guint8 component_tag;
|
guint8 component_tag;
|
||||||
guint8 *selector_bytes;
|
guint8 *selector_bytes;
|
||||||
gchar language_code[3];
|
gchar language_code[4];
|
||||||
gchar *text;
|
gchar *text;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue