mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-29 19:50:40 +00:00
gst/mpegtsparse/: Remove no longer needed files.
Original commit message from CVS: * gst/mpegtsparse/Makefile.am: * gst/mpegtsparse/flutspatinfo.c: * gst/mpegtsparse/flutspatinfo.h: * gst/mpegtsparse/flutspmtinfo.c: * gst/mpegtsparse/flutspmtinfo.h: * gst/mpegtsparse/flutspmtstreaminfo.c: * gst/mpegtsparse/flutspmtstreaminfo.h: Remove no longer needed files.
This commit is contained in:
parent
7a3ec2a842
commit
655b6b8194
8 changed files with 13 additions and 707 deletions
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2008-01-03 Zaheer Abbas Merali <zaheerabbas at merali dot org>
|
||||
|
||||
* gst/mpegtsparse/Makefile.am:
|
||||
* gst/mpegtsparse/flutspatinfo.c:
|
||||
* gst/mpegtsparse/flutspatinfo.h:
|
||||
* gst/mpegtsparse/flutspmtinfo.c:
|
||||
* gst/mpegtsparse/flutspmtinfo.h:
|
||||
* gst/mpegtsparse/flutspmtstreaminfo.c:
|
||||
* gst/mpegtsparse/flutspmtstreaminfo.h:
|
||||
Remove no longer needed files.
|
||||
|
||||
2008-01-02 David Schleef <ds@schleef.org>
|
||||
|
||||
* tests/check/Makefile.am:
|
||||
|
|
|
@ -2,10 +2,7 @@ plugin_LTLIBRARIES = libgstmpegtsparse.la
|
|||
|
||||
libgstmpegtsparse_la_SOURCES = \
|
||||
mpegtsparse.c \
|
||||
mpegtspacketizer.c\
|
||||
flutspatinfo.c \
|
||||
flutspmtinfo.c \
|
||||
flutspmtstreaminfo.c
|
||||
mpegtspacketizer.c
|
||||
|
||||
libgstmpegtsparse_la_CFLAGS = $(GST_CFLAGS)
|
||||
libgstmpegtsparse_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS)
|
||||
|
@ -13,7 +10,4 @@ libgstmpegtsparse_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
|||
|
||||
noinst_HEADERS = \
|
||||
mpegtsparse.h \
|
||||
mpegtspacketizer.h \
|
||||
flutspatinfo.h \
|
||||
flutspmtinfo.h \
|
||||
flutspmtstreaminfo.h
|
||||
mpegtspacketizer.h
|
||||
|
|
|
@ -1,127 +0,0 @@
|
|||
/*
|
||||
* The contents of this file are subject to the Mozilla Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/.
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing rights and limitations
|
||||
* under the License.
|
||||
*
|
||||
* The Original Code is Fluendo MPEG Demuxer plugin.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Fluendo, S.L.
|
||||
* Portions created by Fluendo, S.L. are Copyright (C) 2005
|
||||
* Fluendo, S.L. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Jan Schmidt <jan@fluendo.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* the GNU Lesser General Public License Version 2 or later (the "LGPL"),
|
||||
* in which case the provisions of the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of the MPL or the LGPL.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <gst/gst.h>
|
||||
|
||||
#include "flutspatinfo.h"
|
||||
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
PROP_PROGRAM_NO,
|
||||
PROP_PID
|
||||
};
|
||||
|
||||
static void mpegts_pat_info_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * spec);
|
||||
static void mpegts_pat_info_get_property (GObject * object, guint prop_id,
|
||||
GValue * value, GParamSpec * spec);
|
||||
|
||||
GST_BOILERPLATE (MpegTSPatInfo, mpegts_pat_info, GObject, G_TYPE_OBJECT);
|
||||
|
||||
MpegTSPatInfo *
|
||||
mpegts_pat_info_new (guint16 program_no, guint16 pid)
|
||||
{
|
||||
MpegTSPatInfo *info;
|
||||
|
||||
info = g_object_new (MPEGTS_TYPE_PAT_INFO, NULL);
|
||||
|
||||
info->program_no = program_no;
|
||||
info->pid = pid;
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pat_info_base_init (gpointer klass)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pat_info_class_init (MpegTSPatInfoClass * klass)
|
||||
{
|
||||
GObjectClass *gobject_klass = (GObjectClass *) klass;
|
||||
|
||||
gobject_klass->set_property = mpegts_pat_info_set_property;
|
||||
gobject_klass->get_property = mpegts_pat_info_get_property;
|
||||
|
||||
g_object_class_install_property (gobject_klass, PROP_PROGRAM_NO,
|
||||
g_param_spec_uint ("program-number", "Program Number",
|
||||
"Program Number for this program", 0, G_MAXUINT16, 1,
|
||||
G_PARAM_READABLE));
|
||||
|
||||
g_object_class_install_property (gobject_klass, PROP_PID,
|
||||
g_param_spec_uint ("pid", "PID carrying PMT",
|
||||
"PID which carries the PMT for this program", 1, G_MAXUINT16, 1,
|
||||
G_PARAM_READABLE));
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pat_info_init (MpegTSPatInfo * pat_info, MpegTSPatInfoClass * klass)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pat_info_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * spec)
|
||||
{
|
||||
g_return_if_fail (MPEGTS_IS_PAT_INFO (object));
|
||||
|
||||
/* No settable properties */
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, spec);
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pat_info_get_property (GObject * object, guint prop_id,
|
||||
GValue * value, GParamSpec * spec)
|
||||
{
|
||||
MpegTSPatInfo *pat_info;
|
||||
|
||||
g_return_if_fail (MPEGTS_IS_PAT_INFO (object));
|
||||
|
||||
pat_info = MPEGTS_PAT_INFO (object);
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_PROGRAM_NO:
|
||||
g_value_set_uint (value, pat_info->program_no);
|
||||
break;
|
||||
case PROP_PID:
|
||||
g_value_set_uint (value, pat_info->pid);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, spec);
|
||||
break;
|
||||
}
|
||||
}
|
|
@ -1,60 +0,0 @@
|
|||
/*
|
||||
* The contents of this file are subject to the Mozilla Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/.
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing rights and limitations
|
||||
* under the License.
|
||||
*
|
||||
* The Original Code is Fluendo MPEG Demuxer plugin.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Fluendo, S.L.
|
||||
* Portions created by Fluendo, S.L. are Copyright (C) 2005
|
||||
* Fluendo, S.L. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Jan Schmidt <jan@fluendo.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* the GNU Lesser General Public License Version 2 or later (the "LGPL"),
|
||||
* in which case the provisions of the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of the MPL or the LGPL.
|
||||
*/
|
||||
|
||||
#ifndef __MPEGTS_PAT_INFO_H__
|
||||
#define __MPEGTS_PAT_INFO_H__
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct MpegTSPatInfoClass {
|
||||
GObjectClass parent_class;
|
||||
} MpegTSPatInfoClass;
|
||||
|
||||
typedef struct MpegTSPatInfo {
|
||||
GObject parent;
|
||||
|
||||
guint16 pid;
|
||||
guint16 program_no;
|
||||
} MpegTSPatInfo;
|
||||
|
||||
#define MPEGTS_TYPE_PAT_INFO (mpegts_pat_info_get_type ())
|
||||
#define MPEGTS_IS_PAT_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), MPEGTS_TYPE_PAT_INFO))
|
||||
#define MPEGTS_PAT_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),MPEGTS_TYPE_PAT_INFO, MpegTSPatInfo))
|
||||
|
||||
GType mpegts_pat_info_get_type (void);
|
||||
|
||||
MpegTSPatInfo *mpegts_pat_info_new (guint16 program_no, guint16 pid);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
|
@ -1,207 +0,0 @@
|
|||
/*
|
||||
* The contents of this file are subject to the Mozilla Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/.
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing rights and limitations
|
||||
* under the License.
|
||||
*
|
||||
* The Original Code is Fluendo MPEG Demuxer plugin.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Fluendo, S.L.
|
||||
* Portions created by Fluendo, S.L. are Copyright (C) 2005
|
||||
* Fluendo, S.L. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Jan Schmidt <jan@fluendo.com>
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* the GNU Lesser General Public License Version 2 or later (the "LGPL"),
|
||||
* in which case the provisions of the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of the MPL or the LGPL.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <gst/gst.h>
|
||||
|
||||
#include "flutspmtinfo.h"
|
||||
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
PROP_PROGRAM_NO,
|
||||
PROP_VERSION_NO,
|
||||
PROP_PCR_PID,
|
||||
PROP_DESCRIPTORS,
|
||||
PROP_STREAMINFO
|
||||
};
|
||||
|
||||
GST_BOILERPLATE (MpegTSPmtInfo, mpegts_pmt_info, GObject, G_TYPE_OBJECT);
|
||||
|
||||
static void mpegts_pmt_info_finalize (GObject * object);
|
||||
static void mpegts_pmt_info_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * spec);
|
||||
static void mpegts_pmt_info_get_property (GObject * object, guint prop_id,
|
||||
GValue * value, GParamSpec * spec);
|
||||
|
||||
static void
|
||||
mpegts_pmt_info_base_init (gpointer klass)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pmt_info_class_init (MpegTSPmtInfoClass * klass)
|
||||
{
|
||||
GObjectClass *gobject_klass = (GObjectClass *) klass;
|
||||
|
||||
gobject_klass->finalize = mpegts_pmt_info_finalize;
|
||||
gobject_klass->set_property = mpegts_pmt_info_set_property;
|
||||
gobject_klass->get_property = mpegts_pmt_info_get_property;
|
||||
|
||||
g_object_class_install_property (gobject_klass, PROP_PROGRAM_NO,
|
||||
g_param_spec_uint ("program-number", "Program Number",
|
||||
"Program Number for this program", 0, G_MAXUINT16, 1,
|
||||
G_PARAM_READABLE));
|
||||
|
||||
g_object_class_install_property (gobject_klass, PROP_PCR_PID,
|
||||
g_param_spec_uint ("pcr-pid", "PID carrying the PCR for this program",
|
||||
"PID which carries the PCR for this program", 1, G_MAXUINT16, 1,
|
||||
G_PARAM_READABLE));
|
||||
|
||||
g_object_class_install_property (gobject_klass, PROP_STREAMINFO,
|
||||
g_param_spec_value_array ("stream-info",
|
||||
"GValueArray containing GObjects with properties",
|
||||
"Array of GObjects containing information about the program streams",
|
||||
g_param_spec_object ("flu-pmt-streaminfo", "FluPMTStreamInfo",
|
||||
"Fluendo TS Demuxer PMT Stream info object",
|
||||
MPEGTS_TYPE_PMT_STREAM_INFO, G_PARAM_READABLE),
|
||||
G_PARAM_READABLE));
|
||||
|
||||
g_object_class_install_property (gobject_klass, PROP_VERSION_NO,
|
||||
g_param_spec_uint ("version-number", "Version Number",
|
||||
"Version number of this program information", 0, G_MAXUINT8, 1,
|
||||
G_PARAM_READABLE));
|
||||
|
||||
g_object_class_install_property (gobject_klass, PROP_DESCRIPTORS,
|
||||
g_param_spec_value_array ("descriptors",
|
||||
"Descriptors",
|
||||
"Value array of strings containing program descriptors",
|
||||
g_param_spec_boxed ("descriptor",
|
||||
"descriptor",
|
||||
"", G_TYPE_GSTRING, G_PARAM_READABLE), G_PARAM_READABLE));
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pmt_info_init (MpegTSPmtInfo * pmt_info, MpegTSPmtInfoClass * klass)
|
||||
{
|
||||
pmt_info->streams = g_value_array_new (0);
|
||||
pmt_info->descriptors = g_value_array_new (0);
|
||||
}
|
||||
|
||||
MpegTSPmtInfo *
|
||||
mpegts_pmt_info_new (guint16 program_no, guint16 pcr_pid, guint8 version_no)
|
||||
{
|
||||
MpegTSPmtInfo *info;
|
||||
|
||||
info = g_object_new (MPEGTS_TYPE_PMT_INFO, NULL);
|
||||
|
||||
info->program_no = program_no;
|
||||
info->pcr_pid = pcr_pid;
|
||||
info->version_no = version_no;
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pmt_info_finalize (GObject * object)
|
||||
{
|
||||
MpegTSPmtInfo *info = MPEGTS_PMT_INFO (object);
|
||||
|
||||
g_value_array_free (info->streams);
|
||||
g_value_array_free (info->descriptors);
|
||||
|
||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pmt_info_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * spec)
|
||||
{
|
||||
g_return_if_fail (MPEGTS_IS_PMT_INFO (object));
|
||||
|
||||
/* No settable properties */
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, spec);
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pmt_info_get_property (GObject * object, guint prop_id,
|
||||
GValue * value, GParamSpec * spec)
|
||||
{
|
||||
MpegTSPmtInfo *pmt_info;
|
||||
|
||||
g_return_if_fail (MPEGTS_IS_PMT_INFO (object));
|
||||
|
||||
pmt_info = MPEGTS_PMT_INFO (object);
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_PROGRAM_NO:
|
||||
g_value_set_uint (value, pmt_info->program_no);
|
||||
break;
|
||||
case PROP_PCR_PID:
|
||||
g_value_set_uint (value, pmt_info->pcr_pid);
|
||||
break;
|
||||
case PROP_STREAMINFO:
|
||||
g_value_set_boxed (value, pmt_info->streams);
|
||||
break;
|
||||
case PROP_VERSION_NO:
|
||||
g_value_set_uint (value, pmt_info->version_no);
|
||||
break;
|
||||
case PROP_DESCRIPTORS:
|
||||
g_value_set_boxed (value, pmt_info->descriptors);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, spec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
mpegts_pmt_info_add_descriptor (MpegTSPmtInfo * pmt_info,
|
||||
const gchar * descriptor, guint length)
|
||||
{
|
||||
GValue value = { 0 };
|
||||
GString *string;
|
||||
|
||||
g_return_if_fail (MPEGTS_IS_PMT_INFO (pmt_info));
|
||||
|
||||
string = g_string_new_len (descriptor, length);
|
||||
|
||||
g_value_init (&value, G_TYPE_GSTRING);
|
||||
g_value_take_boxed (&value, string);
|
||||
g_value_array_append (pmt_info->descriptors, &value);
|
||||
g_value_unset (&value);
|
||||
}
|
||||
|
||||
void
|
||||
mpegts_pmt_info_add_stream (MpegTSPmtInfo * pmt_info,
|
||||
MpegTSPmtStreamInfo * stream)
|
||||
{
|
||||
GValue v = { 0, };
|
||||
|
||||
g_return_if_fail (MPEGTS_IS_PMT_INFO (pmt_info));
|
||||
g_return_if_fail (MPEGTS_IS_PMT_STREAM_INFO (stream));
|
||||
|
||||
g_value_init (&v, G_TYPE_OBJECT);
|
||||
g_value_take_object (&v, stream);
|
||||
g_value_array_append (pmt_info->streams, &v);
|
||||
}
|
|
@ -1,69 +0,0 @@
|
|||
/*
|
||||
* The contents of this file are subject to the Mozilla Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/.
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing rights and limitations
|
||||
* under the License.
|
||||
*
|
||||
* The Original Code is Fluendo MPEG Demuxer plugin.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Fluendo, S.L.
|
||||
* Portions created by Fluendo, S.L. are Copyright (C) 2005
|
||||
* Fluendo, S.L. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Jan Schmidt <jan@fluendo.com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* the GNU Lesser General Public License Version 2 or later (the "LGPL"),
|
||||
* in which case the provisions of the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of the MPL or the LGPL.
|
||||
*/
|
||||
|
||||
#ifndef __MPEGTS_PMT_INFO_H__
|
||||
#define __MPEGTS_PMT_INFO_H__
|
||||
|
||||
#include <glib.h>
|
||||
#include "flutspmtstreaminfo.h"
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
typedef struct MpegTSPmtInfoClass {
|
||||
GObjectClass parent_class;
|
||||
} MpegTSPmtInfoClass;
|
||||
|
||||
typedef struct MpegTSPmtInfo {
|
||||
GObject parent;
|
||||
|
||||
guint16 program_no;
|
||||
guint16 pcr_pid;
|
||||
|
||||
guint8 version_no;
|
||||
|
||||
GValueArray *descriptors;
|
||||
GValueArray *streams;
|
||||
} MpegTSPmtInfo;
|
||||
|
||||
MpegTSPmtInfo *mpegts_pmt_info_new (guint16 program_no, guint16 pcr_pid, guint8 version);
|
||||
void mpegts_pmt_info_add_stream (MpegTSPmtInfo *pmt_info, MpegTSPmtStreamInfo *stream);
|
||||
void mpegts_pmt_info_add_descriptor (MpegTSPmtInfo *pmt_info,
|
||||
const gchar *descriptor, guint length);
|
||||
|
||||
GType mpegts_pmt_info_get_type (void);
|
||||
|
||||
#define MPEGTS_TYPE_PMT_INFO (mpegts_pmt_info_get_type ())
|
||||
#define MPEGTS_IS_PMT_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), MPEGTS_TYPE_PMT_INFO))
|
||||
#define MPEGTS_PMT_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),MPEGTS_TYPE_PMT_INFO, MpegTSPmtInfo))
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
|
@ -1,181 +0,0 @@
|
|||
/*
|
||||
* The contents of this file are subject to the Mozilla Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/.
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing rights and limitations
|
||||
* under the License.
|
||||
*
|
||||
* The Original Code is Fluendo MPEG Demuxer plugin.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Fluendo, S.L.
|
||||
* Portions created by Fluendo, S.L. are Copyright (C) 2005
|
||||
* Fluendo, S.L. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Jan Schmidt <jan@fluendo.com>
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <gst/gst.h>
|
||||
|
||||
#include "flutspmtstreaminfo.h"
|
||||
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
PROP_PID,
|
||||
PROP_LANGUAGES,
|
||||
PROP_STREAM_TYPE,
|
||||
PROP_DESCRIPTORS,
|
||||
};
|
||||
|
||||
GST_BOILERPLATE (MpegTSPmtStreamInfo, mpegts_pmt_stream_info, GObject,
|
||||
G_TYPE_OBJECT);
|
||||
|
||||
static void mpegts_pmt_stream_info_set_property (GObject * object,
|
||||
guint prop_id, const GValue * value, GParamSpec * spec);
|
||||
static void mpegts_pmt_stream_info_get_property (GObject * object,
|
||||
guint prop_id, GValue * value, GParamSpec * spec);
|
||||
static void mpegts_pmt_stream_info_finalize (GObject * object);
|
||||
|
||||
static void
|
||||
mpegts_pmt_stream_info_base_init (gpointer klass)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pmt_stream_info_class_init (MpegTSPmtStreamInfoClass * klass)
|
||||
{
|
||||
GObjectClass *gobject_klass = (GObjectClass *) klass;
|
||||
|
||||
gobject_klass->set_property = mpegts_pmt_stream_info_set_property;
|
||||
gobject_klass->get_property = mpegts_pmt_stream_info_get_property;
|
||||
gobject_klass->finalize = mpegts_pmt_stream_info_finalize;
|
||||
|
||||
g_object_class_install_property (gobject_klass, PROP_PID,
|
||||
g_param_spec_uint ("pid", "PID carrying this stream",
|
||||
"PID which carries this stream", 1, G_MAXUINT16, 1,
|
||||
G_PARAM_READABLE));
|
||||
g_object_class_install_property (gobject_klass, PROP_LANGUAGES,
|
||||
g_param_spec_value_array ("languages", "Languages of this stream",
|
||||
"Value array of the languages of this stream",
|
||||
g_param_spec_string ("language", "language", "language", "",
|
||||
G_PARAM_READABLE), G_PARAM_READABLE));
|
||||
|
||||
g_object_class_install_property (gobject_klass, PROP_STREAM_TYPE,
|
||||
g_param_spec_uint ("stream-type",
|
||||
"Stream type", "Stream type", 0, G_MAXUINT8, 0, G_PARAM_READABLE));
|
||||
|
||||
g_object_class_install_property (gobject_klass, PROP_DESCRIPTORS,
|
||||
g_param_spec_value_array ("descriptors",
|
||||
"Descriptors",
|
||||
"Value array of strings containing stream descriptors",
|
||||
g_param_spec_boxed ("descriptor",
|
||||
"descriptor",
|
||||
"", G_TYPE_GSTRING, G_PARAM_READABLE), G_PARAM_READABLE));
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pmt_stream_info_init (MpegTSPmtStreamInfo * pmt_stream_info,
|
||||
MpegTSPmtStreamInfoClass * klass)
|
||||
{
|
||||
pmt_stream_info->languages = g_value_array_new (0);
|
||||
pmt_stream_info->descriptors = g_value_array_new (0);
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pmt_stream_info_finalize (GObject * object)
|
||||
{
|
||||
MpegTSPmtStreamInfo *info = MPEGTS_PMT_STREAM_INFO (object);
|
||||
|
||||
g_value_array_free (info->languages);
|
||||
g_value_array_free (info->descriptors);
|
||||
}
|
||||
|
||||
MpegTSPmtStreamInfo *
|
||||
mpegts_pmt_stream_info_new (guint16 pid, guint8 type)
|
||||
{
|
||||
MpegTSPmtStreamInfo *info;
|
||||
|
||||
info = g_object_new (MPEGTS_TYPE_PMT_STREAM_INFO, NULL);
|
||||
|
||||
info->pid = pid;
|
||||
info->stream_type = type;
|
||||
return info;
|
||||
}
|
||||
|
||||
void
|
||||
mpegts_pmt_stream_info_add_language (MpegTSPmtStreamInfo * pmt_info,
|
||||
gchar * language)
|
||||
{
|
||||
GValue v = { 0, };
|
||||
|
||||
g_return_if_fail (MPEGTS_IS_PMT_STREAM_INFO (pmt_info));
|
||||
|
||||
g_value_init (&v, G_TYPE_STRING);
|
||||
g_value_take_string (&v, language);
|
||||
g_value_array_append (pmt_info->languages, &v);
|
||||
g_value_unset (&v);
|
||||
}
|
||||
|
||||
void
|
||||
mpegts_pmt_stream_info_add_descriptor (MpegTSPmtStreamInfo * pmt_info,
|
||||
const gchar * descriptor, guint length)
|
||||
{
|
||||
GValue value = { 0 };
|
||||
GString *string;
|
||||
|
||||
g_return_if_fail (MPEGTS_IS_PMT_STREAM_INFO (pmt_info));
|
||||
|
||||
string = g_string_new_len (descriptor, length);
|
||||
|
||||
g_value_init (&value, G_TYPE_GSTRING);
|
||||
g_value_take_boxed (&value, string);
|
||||
g_value_array_append (pmt_info->descriptors, &value);
|
||||
g_value_unset (&value);
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pmt_stream_info_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * spec)
|
||||
{
|
||||
g_return_if_fail (MPEGTS_IS_PMT_STREAM_INFO (object));
|
||||
|
||||
/* No settable properties */
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, spec);
|
||||
}
|
||||
|
||||
static void
|
||||
mpegts_pmt_stream_info_get_property (GObject * object, guint prop_id,
|
||||
GValue * value, GParamSpec * spec)
|
||||
{
|
||||
MpegTSPmtStreamInfo *si;
|
||||
|
||||
g_return_if_fail (MPEGTS_IS_PMT_STREAM_INFO (object));
|
||||
|
||||
si = MPEGTS_PMT_STREAM_INFO (object);
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_STREAM_TYPE:
|
||||
g_value_set_uint (value, si->stream_type);
|
||||
break;
|
||||
case PROP_PID:
|
||||
g_value_set_uint (value, si->pid);
|
||||
break;
|
||||
case PROP_LANGUAGES:
|
||||
g_value_set_boxed (value, si->languages);
|
||||
break;
|
||||
case PROP_DESCRIPTORS:
|
||||
g_value_set_boxed (value, si->descriptors);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, spec);
|
||||
break;
|
||||
}
|
||||
}
|
|
@ -1,55 +0,0 @@
|
|||
/*
|
||||
* The contents of this file are subject to the Mozilla Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/.
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS"
|
||||
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing rights and limitations
|
||||
* under the License.
|
||||
*
|
||||
* The Original Code is Fluendo MPEG Demuxer plugin.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Fluendo, S.L.
|
||||
* Portions created by Fluendo, S.L. are Copyright (C) 2005
|
||||
* Fluendo, S.L. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s): Jan Schmidt <jan@fluendo.com>
|
||||
*/
|
||||
|
||||
#ifndef __MPEGTS_PMT_STREAM_INFO_H__
|
||||
#define __MPEGTS_PMT_STREAM_INFO_H__
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
|
||||
typedef struct MpegTSPmtStreamInfoClass {
|
||||
GObjectClass parent_class;
|
||||
} MpegTSPmtStreamInfoClass;
|
||||
|
||||
typedef struct MpegTSPmtStreamInfo {
|
||||
GObject parent;
|
||||
|
||||
guint16 pid;
|
||||
GValueArray *languages; /* null terminated 3 character ISO639 language code */
|
||||
guint8 stream_type;
|
||||
GValueArray *descriptors;
|
||||
} MpegTSPmtStreamInfo;
|
||||
|
||||
MpegTSPmtStreamInfo *mpegts_pmt_stream_info_new (guint16 pid, guint8 type);
|
||||
void mpegts_pmt_stream_info_add_language(MpegTSPmtStreamInfo* si, gchar* language);
|
||||
void mpegts_pmt_stream_info_add_descriptor (MpegTSPmtStreamInfo *si, const gchar *descriptor, guint length);
|
||||
|
||||
GType mpegts_pmt_stream_info_get_type (void);
|
||||
|
||||
#define MPEGTS_TYPE_PMT_STREAM_INFO (mpegts_pmt_stream_info_get_type ())
|
||||
|
||||
#define MPEGTS_IS_PMT_STREAM_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), MPEGTS_TYPE_PMT_STREAM_INFO))
|
||||
#define MPEGTS_PMT_STREAM_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),MPEGTS_TYPE_PMT_STREAM_INFO, MpegTSPmtStreamInfo))
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif
|
Loading…
Reference in a new issue