mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 15:27:07 +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>
|
2008-01-02 David Schleef <ds@schleef.org>
|
||||||
|
|
||||||
* tests/check/Makefile.am:
|
* tests/check/Makefile.am:
|
||||||
|
|
|
@ -2,10 +2,7 @@ plugin_LTLIBRARIES = libgstmpegtsparse.la
|
||||||
|
|
||||||
libgstmpegtsparse_la_SOURCES = \
|
libgstmpegtsparse_la_SOURCES = \
|
||||||
mpegtsparse.c \
|
mpegtsparse.c \
|
||||||
mpegtspacketizer.c\
|
mpegtspacketizer.c
|
||||||
flutspatinfo.c \
|
|
||||||
flutspmtinfo.c \
|
|
||||||
flutspmtstreaminfo.c
|
|
||||||
|
|
||||||
libgstmpegtsparse_la_CFLAGS = $(GST_CFLAGS)
|
libgstmpegtsparse_la_CFLAGS = $(GST_CFLAGS)
|
||||||
libgstmpegtsparse_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS)
|
libgstmpegtsparse_la_LIBADD = $(GST_BASE_LIBS) $(GST_LIBS)
|
||||||
|
@ -13,7 +10,4 @@ libgstmpegtsparse_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
|
||||||
noinst_HEADERS = \
|
noinst_HEADERS = \
|
||||||
mpegtsparse.h \
|
mpegtsparse.h \
|
||||||
mpegtspacketizer.h \
|
mpegtspacketizer.h
|
||||||
flutspatinfo.h \
|
|
||||||
flutspmtinfo.h \
|
|
||||||
flutspmtstreaminfo.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