Projects
Essentials
gstreamer-plugins-ugly-codecs
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 20
View file
gstreamer-plugins-ugly-codecs.changes
Changed
@@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Fri Jun 28 09:04:23 UTC 2024 - Bjørn Lie <zaitor@opensuse.org> + +- Update to version 1.24.5 + +------------------------------------------------------------------- Mon Nov 27 08:40:51 UTC 2023 - Bjørn Lie <zaitor@opensuse.org> - Drop asfdemux plugin, now available in main distro package.
View file
gstreamer-plugins-ugly-codecs.spec
Changed
@@ -4,10 +4,10 @@ %define _name gst-plugins-ugly %define gst_branch 1.0 -%define _version 1.22.0 +%define _version 1.24.0 Name: gstreamer-plugins-ugly-codecs -Version: 1.22.7 +Version: 1.24.5 Release: 0 Summary: Codecs/plugins for gstreamer-plugins-ugly License: LGPL-2.1-or-later @@ -38,7 +38,7 @@ BuildRequires: pkgconfig(gstreamer-sdp-1.0) BuildRequires: pkgconfig(gstreamer-tag-1.0) BuildRequires: pkgconfig(gstreamer-video-1.0) -BuildRequires: pkgconfig(x264) >= 0.120 +BuildRequires: pkgconfig(x264) >= 0.156 Requires: gstreamer-plugins-ugly >= %{_version} Supplements: gstreamer-plugins-ugly
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrnb
Deleted
-(directory)
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrnb/GstAmrnbEnc.prs
Deleted
@@ -1,11 +0,0 @@ -_presets_ -version=0.10 -element-name=GstAmrnbEnc - -enhance-size -_meta/comment=Maximize compression, lowest bitrate -band-mode=0 - -enhance-quality -_meta/comment=Maximize quality, highest bitrate -band-mode=7
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrnb/README
Deleted
@@ -1,6 +0,0 @@ -Compiling AMRNB: -================ - -To compile the amrnb plugin, you need the opencore-amrnb development package. -If your distribution does not provide this package, you can download the -source code from "http://sourceforge.net/projects/opencore-amr".
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrnb/amrnb.c
Deleted
@@ -1,44 +0,0 @@ -/* GStreamer Adaptive Multi-Rate Narrow-Band (AMR-NB) plugin - * Copyright (C) 2004 Ronald Bultje <rbultje@ronald.bitfreak.net> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "amrnbdec.h" -#include "amrnbenc.h" - -static gboolean -plugin_init (GstPlugin * plugin) -{ - gboolean ret = FALSE; - - ret |= GST_ELEMENT_REGISTER (amrnbdec, plugin); - ret |= GST_ELEMENT_REGISTER (amrnbenc, plugin); - - return ret; -} - - -GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, - GST_VERSION_MINOR, - amrnb, - "Adaptive Multi-Rate Narrow-Band", - plugin_init, VERSION, GST_LICENSE_UNKNOWN, GST_PACKAGE_NAME, - GST_PACKAGE_ORIGIN);
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrnb/amrnbdec.c
Deleted
@@ -1,309 +0,0 @@ -/* GStreamer Adaptive Multi-Rate Narrow-Band (AMR-NB) plugin - * Copyright (C) 2004 Ronald Bultje <rbultje@ronald.bitfreak.net> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -/** - * SECTION:element-amrnbdec - * @title: amrnbdec - * @see_also: #GstAmrnbEnc, #GstAmrParse - * - * AMR narrowband decoder based on the - * opencore codec implementation(http://sourceforge.net/projects/opencore-amr). - * - * ## Example launch line - * | - * gst-launch-1.0 filesrc location=abc.amr ! amrparse ! amrnbdec ! audioconvert ! audioresample ! autoaudiosink - * | - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "amrnbdec.h" - -static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("audio/AMR, " "rate = (int) 8000, " "channels = (int) 1") - ); - -static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src", - GST_PAD_SRC, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("audio/x-raw, format = (string) " GST_AUDIO_NE (S16) ", " - "layout = (string) interleaved, " - "rate = (int) 8000," "channels = (int) 1") - ); - -GST_DEBUG_CATEGORY_STATIC (gst_amrnbdec_debug); -#define GST_CAT_DEFAULT gst_amrnbdec_debug - -static const gint block_size_if116 = { 12, 13, 15, 17, 19, 20, 26, 31, 5, - 0, 0, 0, 0, 0, 0, 0 -}; - -static const gint block_size_if216 = { 12, 13, 15, 17, 18, 20, 25, 30, 5, - 0, 0, 0, 0, 0, 0, 0 -}; - -static GType -gst_amrnb_variant_get_type (void) -{ - static GType gst_amrnb_variant_type = 0; - static const GEnumValue gst_amrnb_variant = { - {GST_AMRNB_VARIANT_IF1, "IF1", "IF1"}, - {GST_AMRNB_VARIANT_IF2, "IF2", "IF2"}, - {0, NULL, NULL}, - }; - if (!gst_amrnb_variant_type) { - gst_amrnb_variant_type = - g_enum_register_static ("GstAmrnbVariant", gst_amrnb_variant); - } - return gst_amrnb_variant_type; -} - -#define GST_AMRNB_VARIANT_TYPE (gst_amrnb_variant_get_type()) - -#define VARIANT_DEFAULT GST_AMRNB_VARIANT_IF1 -enum -{ - PROP_0, - PROP_VARIANT -}; - -static void gst_amrnbdec_set_property (GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec); -static void gst_amrnbdec_get_property (GObject * object, guint prop_id, - GValue * value, GParamSpec * pspec); - -static gboolean gst_amrnbdec_start (GstAudioDecoder * dec); -static gboolean gst_amrnbdec_stop (GstAudioDecoder * dec); -static gboolean gst_amrnbdec_set_format (GstAudioDecoder * dec, GstCaps * caps); -static GstFlowReturn gst_amrnbdec_parse (GstAudioDecoder * dec, - GstAdapter * adapter, gint * offset, gint * length); -static GstFlowReturn gst_amrnbdec_handle_frame (GstAudioDecoder * dec, - GstBuffer * buffer); - -#define gst_amrnbdec_parent_class parent_class -G_DEFINE_TYPE (GstAmrnbDec, gst_amrnbdec, GST_TYPE_AUDIO_DECODER); -GST_ELEMENT_REGISTER_DEFINE (amrnbdec, "amrnbdec", GST_RANK_PRIMARY, - GST_TYPE_AMRNBDEC); - -static void -gst_amrnbdec_class_init (GstAmrnbDecClass * klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - GstElementClass *element_class = GST_ELEMENT_CLASS (klass); - GstAudioDecoderClass *base_class = GST_AUDIO_DECODER_CLASS (klass); - - object_class->set_property = gst_amrnbdec_set_property; - object_class->get_property = gst_amrnbdec_get_property; - - gst_element_class_add_static_pad_template (element_class, &sink_template); - gst_element_class_add_static_pad_template (element_class, &src_template); - - gst_element_class_set_static_metadata (element_class, "AMR-NB audio decoder", - "Codec/Decoder/Audio", - "Adaptive Multi-Rate Narrow-Band audio decoder", - "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>"); - - base_class->start = GST_DEBUG_FUNCPTR (gst_amrnbdec_start); - base_class->stop = GST_DEBUG_FUNCPTR (gst_amrnbdec_stop); - base_class->set_format = GST_DEBUG_FUNCPTR (gst_amrnbdec_set_format); - base_class->parse = GST_DEBUG_FUNCPTR (gst_amrnbdec_parse); - base_class->handle_frame = GST_DEBUG_FUNCPTR (gst_amrnbdec_handle_frame); - - g_object_class_install_property (object_class, PROP_VARIANT, - g_param_spec_enum ("variant", "Variant", - "The decoder variant", GST_AMRNB_VARIANT_TYPE, - VARIANT_DEFAULT, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); - - GST_DEBUG_CATEGORY_INIT (gst_amrnbdec_debug, "amrnbdec", 0, - "AMR-NB audio decoder"); - - gst_type_mark_as_plugin_api (GST_AMRNB_VARIANT_TYPE, 0); -} - -static void -gst_amrnbdec_init (GstAmrnbDec * amrnbdec) -{ - gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (amrnbdec), TRUE); - gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST - (amrnbdec), TRUE); - GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (amrnbdec)); -} - -static gboolean -gst_amrnbdec_start (GstAudioDecoder * dec) -{ - GstAmrnbDec *amrnbdec = GST_AMRNBDEC (dec); - - GST_DEBUG_OBJECT (dec, "start"); - if (!(amrnbdec->handle = Decoder_Interface_init ())) - return FALSE; - - amrnbdec->rate = 0; - amrnbdec->channels = 0; - - return TRUE; -} - -static gboolean -gst_amrnbdec_stop (GstAudioDecoder * dec) -{ - GstAmrnbDec *amrnbdec = GST_AMRNBDEC (dec); - - GST_DEBUG_OBJECT (dec, "stop"); - Decoder_Interface_exit (amrnbdec->handle); - - return TRUE; -} - -static void -gst_amrnbdec_set_property (GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec) -{ - GstAmrnbDec *self = GST_AMRNBDEC (object); - - switch (prop_id) { - case PROP_VARIANT: - self->variant = g_value_get_enum (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } - return; -} - -static void -gst_amrnbdec_get_property (GObject * object, guint prop_id, - GValue * value, GParamSpec * pspec)
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrnb/amrnbdec.h
Deleted
@@ -1,71 +0,0 @@ -/* GStreamer Adaptive Multi-Rate Narrow-Band (AMR-NB) plugin - * Copyright (C) 2004 Ronald Bultje <rbultje@ronald.bitfreak.net> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __GST_AMRNBDEC_H__ -#define __GST_AMRNBDEC_H__ - -#include <gst/gst.h> -#include <gst/audio/gstaudiodecoder.h> - -#include <opencore-amrnb/interf_dec.h> - -G_BEGIN_DECLS - -#define GST_TYPE_AMRNBDEC \ - (gst_amrnbdec_get_type()) -#define GST_AMRNBDEC(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_AMRNBDEC, GstAmrnbDec)) -#define GST_AMRNBDEC_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_AMRNBDEC, GstAmrnbDecClass)) -#define GST_IS_AMRNBDEC(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_AMRNBDEC)) -#define GST_IS_AMRNBDEC_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_AMRNBDEC)) - -typedef struct _GstAmrnbDec GstAmrnbDec; -typedef struct _GstAmrnbDecClass GstAmrnbDecClass; - -typedef enum -{ - GST_AMRNB_VARIANT_IF1, - GST_AMRNB_VARIANT_IF2 -} GstAmrnbVariant; - -struct _GstAmrnbDec { - GstAudioDecoder element; - - GstAmrnbVariant variant; - - /* library handle */ - void *handle; - - /* output settings */ - gint channels, rate; -}; - -struct _GstAmrnbDecClass { - GstAudioDecoderClass parent_class; -}; - -GType gst_amrnbdec_get_type (void); -GST_ELEMENT_REGISTER_DECLARE (amrnbdec); - -G_END_DECLS - -#endif /* __GST_AMRNBDEC_H__ */
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrnb/amrnbenc.c
Deleted
@@ -1,295 +0,0 @@ -/* GStreamer Adaptive Multi-Rate Narrow-Band (AMR-NB) plugin - * Copyright (C) 2004 Ronald Bultje <rbultje@ronald.bitfreak.net> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -/** - * SECTION:element-amrnbenc - * @title: amrnbenc - * @see_also: #GstAmrnbDec, #GstAmrnbParse - * - * AMR narrowband encoder based on the - * opencore codec implementation(http://sourceforge.net/projects/opencore-amr). - * - * ## Example launch line - * | - * gst-launch-1.0 filesrc location=abc.wav ! wavparse ! audioconvert ! audioresample ! amrnbenc ! filesink location=abc.amr - * | - * Please note that the above stream misses the header, that is needed to play - * the stream. - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "amrnbenc.h" - -static GType -gst_amrnbenc_bandmode_get_type (void) -{ - static GType gst_amrnbenc_bandmode_type = 0; - static const GEnumValue gst_amrnbenc_bandmode = { - {MR475, "MR475", "MR475"}, - {MR515, "MR515", "MR515"}, - {MR59, "MR59", "MR59"}, - {MR67, "MR67", "MR67"}, - {MR74, "MR74", "MR74"}, - {MR795, "MR795", "MR795"}, - {MR102, "MR102", "MR102"}, - {MR122, "MR122", "MR122"}, - {MRDTX, "MRDTX", "MRDTX"}, - {0, NULL, NULL}, - }; - if (!gst_amrnbenc_bandmode_type) { - gst_amrnbenc_bandmode_type = - g_enum_register_static ("GstAmrnbEncBandMode", gst_amrnbenc_bandmode); - } - return gst_amrnbenc_bandmode_type; -} - -#define GST_AMRNBENC_BANDMODE_TYPE (gst_amrnbenc_bandmode_get_type()) - -#define BANDMODE_DEFAULT MR122 -enum -{ - PROP_0, - PROP_BANDMODE -}; - -static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("audio/x-raw, format = (string) " GST_AUDIO_NE (S16) ", " - "layout = (string) interleaved, " - "rate = (int) 8000," "channels = (int) 1") - ); - -static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src", - GST_PAD_SRC, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("audio/AMR, " "rate = (int) 8000, " "channels = (int) 1") - ); - -GST_DEBUG_CATEGORY_STATIC (gst_amrnbenc_debug); -#define GST_CAT_DEFAULT gst_amrnbenc_debug - -static gboolean gst_amrnbenc_start (GstAudioEncoder * enc); -static gboolean gst_amrnbenc_stop (GstAudioEncoder * enc); -static gboolean gst_amrnbenc_set_format (GstAudioEncoder * enc, - GstAudioInfo * info); -static GstFlowReturn gst_amrnbenc_handle_frame (GstAudioEncoder * enc, - GstBuffer * in_buf); - -#define gst_amrnbenc_parent_class parent_class -G_DEFINE_TYPE (GstAmrnbEnc, gst_amrnbenc, GST_TYPE_AUDIO_ENCODER); -GST_ELEMENT_REGISTER_DEFINE (amrnbenc, "amrnbenc", GST_RANK_SECONDARY, - GST_TYPE_AMRNBENC); - -static void -gst_amrnbenc_set_property (GObject * object, guint prop_id, - const GValue * value, GParamSpec * pspec) -{ - GstAmrnbEnc *self = GST_AMRNBENC (object); - - switch (prop_id) { - case PROP_BANDMODE: - self->bandmode = g_value_get_enum (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } - return; -} - -static void -gst_amrnbenc_get_property (GObject * object, guint prop_id, - GValue * value, GParamSpec * pspec) -{ - GstAmrnbEnc *self = GST_AMRNBENC (object); - - switch (prop_id) { - case PROP_BANDMODE: - g_value_set_enum (value, self->bandmode); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } - return; -} - -static void -gst_amrnbenc_class_init (GstAmrnbEncClass * klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - GstElementClass *element_class = GST_ELEMENT_CLASS (klass); - GstAudioEncoderClass *base_class = GST_AUDIO_ENCODER_CLASS (klass); - - object_class->set_property = gst_amrnbenc_set_property; - object_class->get_property = gst_amrnbenc_get_property; - - base_class->start = GST_DEBUG_FUNCPTR (gst_amrnbenc_start); - base_class->stop = GST_DEBUG_FUNCPTR (gst_amrnbenc_stop); - base_class->set_format = GST_DEBUG_FUNCPTR (gst_amrnbenc_set_format); - base_class->handle_frame = GST_DEBUG_FUNCPTR (gst_amrnbenc_handle_frame); - - g_object_class_install_property (object_class, PROP_BANDMODE, - g_param_spec_enum ("band-mode", "Band Mode", - "Encoding Band Mode (Kbps)", GST_AMRNBENC_BANDMODE_TYPE, - BANDMODE_DEFAULT, - G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); - - gst_element_class_add_static_pad_template (element_class, &sink_template); - gst_element_class_add_static_pad_template (element_class, &src_template); - - gst_element_class_set_static_metadata (element_class, "AMR-NB audio encoder", - "Codec/Encoder/Audio", - "Adaptive Multi-Rate Narrow-Band audio encoder", - "Wim Taymans <wim.taymans@gmail.com>"); - - GST_DEBUG_CATEGORY_INIT (gst_amrnbenc_debug, "amrnbenc", 0, - "AMR-NB audio encoder"); - - gst_type_mark_as_plugin_api (GST_AMRNBENC_BANDMODE_TYPE, 0); -} - -static void -gst_amrnbenc_init (GstAmrnbEnc * amrnbenc) -{ - GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_ENCODER_SINK_PAD (amrnbenc)); -} - -static gboolean -gst_amrnbenc_start (GstAudioEncoder * enc) -{ - GstAmrnbEnc *amrnbenc = GST_AMRNBENC (enc); - - GST_DEBUG_OBJECT (amrnbenc, "start"); - - if (!(amrnbenc->handle = Encoder_Interface_init (0))) - return FALSE; - - return TRUE; -} - -static gboolean -gst_amrnbenc_stop (GstAudioEncoder * enc) -{ - GstAmrnbEnc *amrnbenc = GST_AMRNBENC (enc); - - GST_DEBUG_OBJECT (amrnbenc, "stop"); - - Encoder_Interface_exit (amrnbenc->handle);
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrnb/amrnbenc.h
Deleted
@@ -1,67 +0,0 @@ -/* GStreamer Adaptive Multi-Rate Narrow-Band (AMR-NB) plugin - * Copyright (C) 2004 Ronald Bultje <rbultje@ronald.bitfreak.net> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __GST_AMRNBENC_H__ -#define __GST_AMRNBENC_H__ - -#include <gst/gst.h> -#include <gst/audio/gstaudioencoder.h> - -#include <opencore-amrnb/interf_enc.h> - -G_BEGIN_DECLS - -#define GST_TYPE_AMRNBENC \ - (gst_amrnbenc_get_type()) -#define GST_AMRNBENC(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_AMRNBENC, GstAmrnbEnc)) -#define GST_AMRNBENC_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_AMRNBENC, GstAmrnbEncClass)) -#define GST_IS_AMRNBENC(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_AMRNBENC)) -#define GST_IS_AMRNBENC_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_AMRNBENC)) - -typedef struct _GstAmrnbEnc GstAmrnbEnc; -typedef struct _GstAmrnbEncClass GstAmrnbEncClass; - -struct _GstAmrnbEnc { - GstAudioEncoder element; - - /* library handle */ - void *handle; - - /* input settings */ - gint channels, rate; - gint duration; - - /* property */ - enum Mode bandmode; -}; - -struct _GstAmrnbEncClass { - GstAudioEncoderClass parent_class; -}; - -GType gst_amrnbenc_get_type (void); -GST_ELEMENT_REGISTER_DECLARE (amrnbenc); - -G_END_DECLS - -#endif /* __GST_AMRNBENC_H__ */
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrnb/meson.build
Deleted
@@ -1,18 +0,0 @@ -amrnb_dep = dependency('opencore-amrnb', version : '>= 0.1.3', required : get_option('amrnb')) - -if amrnb_dep.found() - amrnb = library('gstamrnb', - 'amrnb.c', 'amrnbdec.c', 'amrnbenc.c', - c_args : ugly_args, - include_directories : configinc, - dependencies : gstaudio_dep, amrnb_dep, - install : true, - install_dir : plugins_install_dir, - ) - plugins += amrnb - install_data(sources: 'GstAmrnbEnc.prs', install_dir: presetdir) - - env = environment() - env.prepend('GST_PRESET_PATH', meson.current_source_dir()) - meson.add_devenv(env) -endif
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrwbdec
Deleted
-(directory)
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrwbdec/README
Deleted
@@ -1,6 +0,0 @@ -Compiling AMRWB decoder: -======================== - -To compile the amrwbdec plugin, you need the opencore-amrwb development -package. If your distribution does not provide this package, you can -download the source code from "http://sourceforge.net/projects/opencore-amr".
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrwbdec/amrwb.c
Deleted
@@ -1,38 +0,0 @@ -/* GStreamer Adaptive Multi-Rate Wide-Band (AMR-WB) Decoder plugin - * Copyright (C) 2006 Edgard Lima <edgard.lima@gmail.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "amrwbdec.h" - -static gboolean -plugin_init (GstPlugin * plugin) -{ - return GST_ELEMENT_REGISTER (amrwbdec, plugin); -} - - -GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, - GST_VERSION_MINOR, - amrwbdec, - "Adaptive Multi-Rate Wide-Band Decoder", - plugin_init, VERSION, GST_LICENSE_UNKNOWN, GST_PACKAGE_NAME, - GST_PACKAGE_ORIGIN);
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrwbdec/amrwbdec.c
Deleted
@@ -1,234 +0,0 @@ -/* GStreamer Adaptive Multi-Rate Narrow-Band (AMR-NB) plugin - * Copyright (C) 2004 Ronald Bultje <rbultje@ronald.bitfreak.net> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -/** - * SECTION:element-amrwbdec - * @title: amrwbdec - * @see_also: #GstAmrwbEnc - * - * AMR wideband decoder based on the - * opencore codec implementation(http://sourceforge.net/projects/opencore-amr). - * - * ## Example launch line - * | - * gst-launch-1.0 filesrc location=abc.amr ! amrparse ! amrwbdec ! audioconvert ! audioresample ! autoaudiosink - * | - * - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include <gst/audio/audio.h> - -#include "amrwbdec.h" - -static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("audio/AMR-WB, " - "rate = (int) 16000, " "channels = (int) 1") - ); - -static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src", - GST_PAD_SRC, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("audio/x-raw, " - "format = (string) " GST_AUDIO_NE (S16) ", " - "layout = (string) interleaved, " - "rate = (int) 16000, " "channels = (int) 1") - ); - -GST_DEBUG_CATEGORY_STATIC (gst_amrwbdec_debug); -#define GST_CAT_DEFAULT gst_amrwbdec_debug - -#define L_FRAME16k 320 /* Frame size at 16kHz */ - -static const unsigned char block_size16 = - { 18, 24, 33, 37, 41, 47, 51, 59, 61, - 6, 0, 0, 0, 0, 1, 1 -}; - -static gboolean gst_amrwbdec_start (GstAudioDecoder * dec); -static gboolean gst_amrwbdec_stop (GstAudioDecoder * dec); -static gboolean gst_amrwbdec_set_format (GstAudioDecoder * dec, GstCaps * caps); -static GstFlowReturn gst_amrwbdec_parse (GstAudioDecoder * dec, - GstAdapter * adapter, gint * offset, gint * length); -static GstFlowReturn gst_amrwbdec_handle_frame (GstAudioDecoder * dec, - GstBuffer * buffer); - -#define gst_amrwbdec_parent_class parent_class -G_DEFINE_TYPE (GstAmrwbDec, gst_amrwbdec, GST_TYPE_AUDIO_DECODER); -GST_ELEMENT_REGISTER_DEFINE (amrwbdec, "amrwbdec", - GST_RANK_PRIMARY, GST_TYPE_AMRWBDEC); - -static void -gst_amrwbdec_class_init (GstAmrwbDecClass * klass) -{ - GstAudioDecoderClass *base_class = GST_AUDIO_DECODER_CLASS (klass); - GstElementClass *element_class = GST_ELEMENT_CLASS (klass); - - gst_element_class_add_static_pad_template (element_class, &sink_template); - gst_element_class_add_static_pad_template (element_class, &src_template); - - gst_element_class_set_static_metadata (element_class, "AMR-WB audio decoder", - "Codec/Decoder/Audio", - "Adaptive Multi-Rate Wideband audio decoder", - "Renato Araujo <renato.filho@indt.org.br>"); - - base_class->start = GST_DEBUG_FUNCPTR (gst_amrwbdec_start); - base_class->stop = GST_DEBUG_FUNCPTR (gst_amrwbdec_stop); - base_class->set_format = GST_DEBUG_FUNCPTR (gst_amrwbdec_set_format); - base_class->parse = GST_DEBUG_FUNCPTR (gst_amrwbdec_parse); - base_class->handle_frame = GST_DEBUG_FUNCPTR (gst_amrwbdec_handle_frame); - - GST_DEBUG_CATEGORY_INIT (gst_amrwbdec_debug, "amrwbdec", 0, - "AMR-WB audio decoder"); -} - -static void -gst_amrwbdec_init (GstAmrwbDec * amrwbdec) -{ - gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (amrwbdec), TRUE); - gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST - (amrwbdec), TRUE); - GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (amrwbdec)); -} - -static gboolean -gst_amrwbdec_start (GstAudioDecoder * dec) -{ - GstAmrwbDec *amrwbdec = GST_AMRWBDEC (dec); - - GST_DEBUG_OBJECT (dec, "start"); - if (!(amrwbdec->handle = D_IF_init ())) - return FALSE; - - amrwbdec->rate = 0; - amrwbdec->channels = 0; - - return TRUE; -} - -static gboolean -gst_amrwbdec_stop (GstAudioDecoder * dec) -{ - GstAmrwbDec *amrwbdec = GST_AMRWBDEC (dec); - - GST_DEBUG_OBJECT (dec, "stop"); - D_IF_exit (amrwbdec->handle); - - return TRUE; -} - -static gboolean -gst_amrwbdec_set_format (GstAudioDecoder * dec, GstCaps * caps) -{ - GstStructure *structure; - GstAmrwbDec *amrwbdec; - GstAudioInfo info; - - amrwbdec = GST_AMRWBDEC (dec); - - structure = gst_caps_get_structure (caps, 0); - - /* get channel count */ - gst_structure_get_int (structure, "channels", &amrwbdec->channels); - gst_structure_get_int (structure, "rate", &amrwbdec->rate); - - /* create reverse caps */ - gst_audio_info_init (&info); - gst_audio_info_set_format (&info, - GST_AUDIO_FORMAT_S16, amrwbdec->rate, amrwbdec->channels, NULL); - - gst_audio_decoder_set_output_format (dec, &info); - - return TRUE; -} - -static GstFlowReturn -gst_amrwbdec_parse (GstAudioDecoder * dec, GstAdapter * adapter, - gint * offset, gint * length) -{ - GstAmrwbDec *amrwbdec = GST_AMRWBDEC (dec); - guint8 header1; - guint size; - gboolean sync, eos; - gint block, mode; - - size = gst_adapter_available (adapter); - if (size < 1) - return GST_FLOW_ERROR; - - gst_audio_decoder_get_parse_state (dec, &sync, &eos); - - /* need to peek data to get the size */ - gst_adapter_copy (adapter, header, 0, 1); - mode = (header0 >> 3) & 0x0F; - block = block_sizemode; - - GST_DEBUG_OBJECT (amrwbdec, "mode %d, block %d", mode, block); - - if (block) { - if (block > size) - return GST_FLOW_EOS; - *offset = 0; - *length = block; - } else { - /* no frame yet, skip one byte */ - GST_LOG_OBJECT (amrwbdec, "skipping byte"); - *offset = 1; - return GST_FLOW_EOS; - }
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrwbdec/amrwbdec.h
Deleted
@@ -1,69 +0,0 @@ -/* GStreamer Adaptive Multi-Rate Wide-Band (AMR-WB) plugin - * Copyright (C) 2006 Edgard Lima <edgard.lima@gmail.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __GST_AMRWBDEC_H__ -#define __GST_AMRWBDEC_H__ - -#include <gst/gst.h> -#include <gst/audio/gstaudiodecoder.h> - -#include <opencore-amrwb/dec_if.h> -#include <opencore-amrwb/if_rom.h> - -G_BEGIN_DECLS - -#define GST_TYPE_AMRWBDEC \ - (gst_amrwbdec_get_type()) -#define GST_AMRWBDEC(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_AMRWBDEC, GstAmrwbDec)) -#define GST_AMRWBDEC_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_AMRWBDEC, GstAmrwbDecClass)) -#define GST_IS_AMRWBDEC(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_AMRWBDEC)) -#define GST_IS_AMRWBDEC_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_AMRWBDEC)) - -typedef struct _GstAmrwbDec GstAmrwbDec; -typedef struct _GstAmrwbDecClass GstAmrwbDecClass; - -/** - * GstAmrwbDec: - * - * Opaque data structure. - */ -struct _GstAmrwbDec { - GstAudioDecoder element; - - /* library handle */ - void *handle; - - /* output settings */ - gint channels, rate; -}; - -struct _GstAmrwbDecClass { - GstAudioDecoderClass parent_class; -}; - -GType gst_amrwbdec_get_type (void); -GST_ELEMENT_REGISTER_DECLARE (amrwbdec); - -G_END_DECLS - -#endif /* __GST_AMRWBDEC_H__ */
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/amrwbdec/meson.build
Deleted
@@ -1,13 +0,0 @@ -amrwb_dep = dependency('opencore-amrwb', version : '>= 0.1.3', required : get_option('amrwbdec')) - -if amrwb_dep.found() - amrwbdec = library('gstamrwbdec', - 'amrwb.c', 'amrwbdec.c', - c_args : ugly_args, - include_directories : configinc, - dependencies : gstaudio_dep, amrwb_dep, - install : true, - install_dir : plugins_install_dir, - ) - plugins += amrwbdec -endif
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/asmrules.c
Deleted
@@ -1,712 +0,0 @@ -/* GStreamer - * Copyright (C) <2007> Wim Taymans <wim.taymans@gmail.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include <string.h> -#include <stdlib.h> - -#include "asmrules.h" - -#define MAX_RULE_LENGTH 2048 - -/* define to enable some more debug */ -#undef DEBUG - -static GstASMNode * -gst_asm_node_new (void) -{ - GstASMNode *node; - - node = g_new0 (GstASMNode, 1); - node->type = GST_ASM_NODE_UNKNOWN; - - return node; -} - -static void -gst_asm_node_free (GstASMNode * node) -{ - if (node->left) - gst_asm_node_free (node->left); - if (node->right) - gst_asm_node_free (node->right); - if (node->type == GST_ASM_NODE_VARIABLE && node->data.varname) - g_free (node->data.varname); - g_free (node); -} - -static gfloat -gst_asm_operator_eval (GstASMOp optype, gfloat left, gfloat right) -{ - gfloat result = 0.0; - - switch (optype) { - case GST_ASM_OP_GREATER: - result = (gfloat) (left > right); - break; - case GST_ASM_OP_LESS: - result = (gfloat) (left < right); - break; - case GST_ASM_OP_GREATEREQUAL: - result = (gfloat) (left >= right); - break; - case GST_ASM_OP_LESSEQUAL: - result = (gfloat) (left <= right); - break; - case GST_ASM_OP_EQUAL: - result = (gfloat) (left == right); - break; - case GST_ASM_OP_NOTEQUAL: - result = (gfloat) (left != right); - break; - case GST_ASM_OP_AND: - result = (gfloat) (left && right); - break; - case GST_ASM_OP_OR: - result = (gfloat) (left || right); - break; - default: - break; - } - return result; -} - -static gfloat -gst_asm_node_evaluate (GstASMNode * node, GHashTable * vars) -{ - gfloat result = 0.0; - - if (node == NULL) - return 0.0; - - switch (node->type) { - case GST_ASM_NODE_VARIABLE: - { - gchar *val; - - val = g_hash_table_lookup (vars, node->data.varname); - if (val) - result = (gfloat) atof (val); - break; - } - case GST_ASM_NODE_INTEGER: - result = (gfloat) node->data.intval; - break; - case GST_ASM_NODE_FLOAT: - result = node->data.floatval; - break; - case GST_ASM_NODE_OPERATOR: - { - gfloat left, right; - - left = gst_asm_node_evaluate (node->left, vars); - right = gst_asm_node_evaluate (node->right, vars); - - result = gst_asm_operator_eval (node->data.optype, left, right); - break; - } - default: - break; - } - return result; -} - -#define IS_SPACE(p) (((p) == ' ') || ((p) == '\n') || \ - ((p) == '\r') || ((p) == '\t')) -#define IS_RULE_DELIM(p) (((p) == ',') || ((p) == ';') || ((p) == ')')) -#define IS_OPERATOR(p) (((p) == '>') || ((p) == '<') || \ - ((p) == '=') || ((p) == '!') || \ - ((p) == '&') || ((p) == '|')) -#define IS_NUMBER(p) ((((p) >= '0') && ((p) <= '9')) || ((p) == '.')) -#define IS_CHAR(p) (!IS_OPERATOR(ch) && !IS_RULE_DELIM(ch) && (ch != '\0')) - -#define IS_OP_TOKEN(t) (((t) == GST_ASM_TOKEN_AND) || ((t) == GST_ASM_TOKEN_OR)) -#define IS_COND_TOKEN(t) (((t) == GST_ASM_TOKEN_LESS) || ((t) == GST_ASM_TOKEN_LESSEQUAL) || \ - ((t) == GST_ASM_TOKEN_GREATER) || ((t) == GST_ASM_TOKEN_GREATEREQUAL) || \ - ((t) == GST_ASM_TOKEN_EQUAL) || ((t) == GST_ASM_TOKEN_NOTEQUAL)) - -typedef struct -{ - const gchar *buffer; - gint pos; - gchar ch; - - GstASMToken token; - gchar valMAX_RULE_LENGTH; -} GstASMScan; - -#define NEXT_CHAR(scan) ((scan)->ch = (scan)->buffer(scan)->pos++) -#define THIS_CHAR(scan) ((scan)->ch) - -static GstASMScan * -gst_asm_scan_new (const gchar * buffer) -{ - GstASMScan *scan; - - scan = g_new0 (GstASMScan, 1); - scan->buffer = buffer; - NEXT_CHAR (scan); - - return scan; -} - -static void -gst_asm_scan_free (GstASMScan * scan) -{ - g_free (scan); -} - -static void -gst_asm_scan_string (GstASMScan * scan, gchar delim) -{ - gchar ch; - gint i = 0; - - ch = THIS_CHAR (scan); - while ((ch != delim) && (ch != '\0')) { - if (i < MAX_RULE_LENGTH - 1) - scan->vali++ = ch; - ch = NEXT_CHAR (scan); - if (ch == '\\') - ch = NEXT_CHAR (scan); - } - scan->vali = '\0'; - - if (ch == delim) - NEXT_CHAR (scan); - - scan->token = GST_ASM_TOKEN_STRING; -} - -static void -gst_asm_scan_number (GstASMScan * scan) -{ - gchar ch;
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/asmrules.h
Deleted
@@ -1,115 +0,0 @@ -/* GStreamer - * Copyright (C) <2007> Wim Taymans <wim.taymans@gmail.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __GST_ASM_RULES_H__ -#define __GST_ASM_RULES_H__ - -#include <gst/gst.h> - -G_BEGIN_DECLS - -#define MAX_RULEMATCHES 16 - -typedef struct _GstASMNode GstASMNode; -typedef struct _GstASMRule GstASMRule; -typedef struct _GstASMRuleBook GstASMRuleBook; - -typedef enum { - GST_ASM_TOKEN_NONE, - GST_ASM_TOKEN_EOF, - - GST_ASM_TOKEN_INT, - GST_ASM_TOKEN_FLOAT, - GST_ASM_TOKEN_IDENTIFIER, - GST_ASM_TOKEN_STRING, - - GST_ASM_TOKEN_HASH, - GST_ASM_TOKEN_SEMICOLON, - GST_ASM_TOKEN_COMMA, - GST_ASM_TOKEN_DOLLAR, - - GST_ASM_TOKEN_LPAREN, - GST_ASM_TOKEN_RPAREN, - - GST_ASM_TOKEN_GREATER, - GST_ASM_TOKEN_LESS, - GST_ASM_TOKEN_GREATEREQUAL, - GST_ASM_TOKEN_LESSEQUAL, - GST_ASM_TOKEN_EQUAL, - GST_ASM_TOKEN_NOTEQUAL, - - GST_ASM_TOKEN_AND, - GST_ASM_TOKEN_OR -} GstASMToken; - -typedef enum { - GST_ASM_NODE_UNKNOWN, - GST_ASM_NODE_VARIABLE, - GST_ASM_NODE_INTEGER, - GST_ASM_NODE_FLOAT, - GST_ASM_NODE_OPERATOR -} GstASMNodeType; - -typedef enum { - GST_ASM_OP_GREATER = GST_ASM_TOKEN_GREATER, - GST_ASM_OP_LESS = GST_ASM_TOKEN_LESS, - GST_ASM_OP_GREATEREQUAL = GST_ASM_TOKEN_GREATEREQUAL, - GST_ASM_OP_LESSEQUAL = GST_ASM_TOKEN_LESSEQUAL, - GST_ASM_OP_EQUAL = GST_ASM_TOKEN_EQUAL, - GST_ASM_OP_NOTEQUAL = GST_ASM_TOKEN_NOTEQUAL, - - GST_ASM_OP_AND = GST_ASM_TOKEN_AND, - GST_ASM_OP_OR = GST_ASM_TOKEN_OR -} GstASMOp; - -struct _GstASMNode { - GstASMNodeType type; - - union { - gchar *varname; - gint intval; - gfloat floatval; - GstASMOp optype; - } data; - - GstASMNode *left; - GstASMNode *right; -}; - -struct _GstASMRule { - GstASMNode *root; - GHashTable *props; -}; - -struct _GstASMRuleBook { - const gchar *rulebook; - - guint n_rules; - GList *rules; -}; - -G_END_DECLS - -GstASMRuleBook* gst_asm_rule_book_new (const gchar *rulebook); -void gst_asm_rule_book_free (GstASMRuleBook *book); - -gint gst_asm_rule_book_match (GstASMRuleBook *book, GHashTable *vars, - gint *rulematches); - -#endif /* __GST_ASM_RULES_H__ */
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/gstrdtbuffer.c
Deleted
@@ -1,477 +0,0 @@ -/* GStreamer - * Copyright (C) <2008> Wim Taymans <wim.taymans@gmail.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ -#include <string.h> - -#include "gstrdtbuffer.h" - -gboolean -gst_rdt_buffer_validate_data (guint8 * data, guint len) -{ - return TRUE; -} - -gboolean -gst_rdt_buffer_validate (GstBuffer * buffer) -{ - return TRUE; -} - -guint -gst_rdt_buffer_get_packet_count (GstBuffer * buffer) -{ - GstRDTPacket packet; - guint count; - - g_return_val_if_fail (GST_IS_BUFFER (buffer), 0); - - count = 0; - if (gst_rdt_buffer_get_first_packet (buffer, &packet)) { - do { - count++; - } while (gst_rdt_packet_move_to_next (&packet)); - } - return count; -} - -static gboolean -read_packet_header (GstRDTPacket * packet) -{ - GstMapInfo map; - guint8 *data; - gsize size; - guint offset; - guint length; - guint length_offset; - - g_return_val_if_fail (packet != NULL, FALSE); - g_return_val_if_fail (GST_IS_BUFFER (packet->buffer), FALSE); - - gst_buffer_map (packet->buffer, &map, GST_MAP_READ); - data = map.data; - size = map.size; - - offset = packet->offset; - - /* check if we are at the end of the buffer, we add 3 because we also want to - * ensure we can read the type, which is always at offset 1 and 2 bytes long. */ - if (offset + 3 > size) - goto packet_end; - - /* read type */ - packet->type = GST_READ_UINT16_BE (&dataoffset + 1); - - length = -1; - length_offset = -1; - - /* figure out the length of the packet, this depends on the type */ - if (GST_RDT_IS_DATA_TYPE (packet->type)) { - if (dataoffset & 0x80) - /* length is present */ - length_offset = 3; - } else { - switch (packet->type) { - case GST_RDT_TYPE_ASMACTION: - if (dataoffset & 0x80) - length_offset = 5; - break; - case GST_RDT_TYPE_BWREPORT: - if (dataoffset & 0x80) - length_offset = 3; - break; - case GST_RDT_TYPE_ACK: - if (dataoffset & 0x80) - length_offset = 3; - break; - case GST_RDT_TYPE_RTTREQ: - length = 3; - break; - case GST_RDT_TYPE_RTTRESP: - length = 11; - break; - case GST_RDT_TYPE_CONGESTION: - length = 11; - break; - case GST_RDT_TYPE_STREAMEND: - length = 9; - /* total_reliable */ - if (dataoffset & 0x80) - length += 2; - /* stream_id_expansion */ - if ((dataoffset & 0x7c) == 0x7c) - length += 2; - /* ext_flag, FIXME, get string length */ - if ((dataoffset & 0x1) == 0x1) - length += 7; - break; - case GST_RDT_TYPE_REPORT: - if (dataoffset & 0x80) - length_offset = 3; - break; - case GST_RDT_TYPE_LATENCY: - if (dataoffset & 0x80) - length_offset = 3; - break; - case GST_RDT_TYPE_INFOREQ: - length = 3; - /* request_time_ms */ - if (dataoffset & 0x2) - length += 2; - break; - case GST_RDT_TYPE_INFORESP: - length = 3; - /* has_rtt_info */ - if (dataoffset & 0x4) { - length += 4; - /* is_delayed */ - if (dataoffset & 0x2) { - length += 4; - } - } - if (dataoffset & 0x1) { - /* buffer_info_count, FIXME read and skip */ - length += 2; - } - break; - case GST_RDT_TYPE_AUTOBW: - if (dataoffset & 0x80) - length_offset = 3; - break; - case GST_RDT_TYPE_INVALID: - default: - goto unknown_packet; - } - } - - if (length != -1) { - /* we have a fixed length */ - packet->length = length; - } else if (length_offset != -1) { - /* we can read the length from an offset */ - packet->length = GST_READ_UINT16_BE (&datalength_offset); - } else { - /* length is remainder of packet */ - packet->length = size - offset; - } - gst_buffer_unmap (packet->buffer, &map); - - /* the length should be smaller than the remaining size */ - if (packet->length + offset > size) - goto invalid_length; - - return TRUE; - - /* ERRORS */ -packet_end: - { - gst_buffer_unmap (packet->buffer, &map); - return FALSE; - } -unknown_packet: - { - packet->type = GST_RDT_TYPE_INVALID; - gst_buffer_unmap (packet->buffer, &map); - return FALSE; - } -invalid_length: - { - packet->type = GST_RDT_TYPE_INVALID; - packet->length = 0; - return FALSE; - } -} - -gboolean
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/gstrdtbuffer.h
Deleted
@@ -1,121 +0,0 @@ -/* GStreamer - * Copyright (C) <2008> Wim Taymans <wim.taymans@gmail.com> - * - * gstrdtbuffer.h: various helper functions to manipulate buffers - * with RDT payload. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __GST_RDTBUFFER_H__ -#define __GST_RDTBUFFER_H__ - -#include <gst/gst.h> - -G_BEGIN_DECLS -/** - * GstRDTType: - * @GST_RDT_TYPE_INVALID: - * @GST_RDT_TYPE_ASMACTION: - * @GST_RDT_TYPE_ACK: - * @GST_RDT_TYPE_RTTREQ: - * @GST_RDT_TYPE_RTTRESP: - * @GST_RDT_TYPE_CONGESTION: - * @GST_RDT_TYPE_STREAMEND: - * @GST_RDT_TYPE_LATENCY: - * @GST_RDT_TYPE_INFOREQ: - * @GST_RDT_TYPE_INFORESP: - * @GST_RDT_TYPE_AUTOBW: - * - * Different RDT packet types. - */ -typedef enum -{ - GST_RDT_TYPE_INVALID = 0xffff, - GST_RDT_TYPE_ASMACTION = 0xff00, - GST_RDT_TYPE_BWREPORT = 0xff01, - GST_RDT_TYPE_ACK = 0xff02, - GST_RDT_TYPE_RTTREQ = 0xff03, - GST_RDT_TYPE_RTTRESP = 0xff04, - GST_RDT_TYPE_CONGESTION = 0xff05, - GST_RDT_TYPE_STREAMEND = 0xff06, - GST_RDT_TYPE_REPORT = 0xff07, - GST_RDT_TYPE_LATENCY = 0xff08, - GST_RDT_TYPE_INFOREQ = 0xff09, - GST_RDT_TYPE_INFORESP = 0xff0a, - GST_RDT_TYPE_AUTOBW = 0xff0b -} GstRDTType; - -/** - * GST_RDT_IS_DATA_TYPE: - * @t: the #GstRDTType to check - * - * Check if @t is a data packet type. - */ -#define GST_RDT_IS_DATA_TYPE(t) ((t) < 0xff00) - -typedef struct _GstRDTPacket GstRDTPacket; - -/** - * GstRDTPacket: - * @buffer: pointer to RDT buffer - * @offset: offset of packet in buffer data - * - * Data structure that points to a packet at @offset in @buffer. - * The size of the structure is made public to allow stack allocations. - */ -struct _GstRDTPacket -{ - GstBuffer *buffer; - guint offset; - - /*< private >*/ - GstRDTType type; /* type of current packet */ - guint16 length; /* length of current packet in bytes */ - GstMapInfo map; /* last mapped data */ -}; - -/* validate buffers */ -gboolean gst_rdt_buffer_validate_data (guint8 *data, guint len); -gboolean gst_rdt_buffer_validate (GstBuffer *buffer); - -/* retrieving packets */ -guint gst_rdt_buffer_get_packet_count (GstBuffer *buffer); -gboolean gst_rdt_buffer_get_first_packet (GstBuffer *buffer, GstRDTPacket *packet); -gboolean gst_rdt_packet_move_to_next (GstRDTPacket *packet); - -/* working with packets */ -GstRDTType gst_rdt_packet_get_type (GstRDTPacket *packet); -guint16 gst_rdt_packet_get_length (GstRDTPacket *packet); -GstBuffer* gst_rdt_packet_to_buffer (GstRDTPacket *packet); - - -/* data packets */ -guint16 gst_rdt_packet_data_get_seq (GstRDTPacket *packet); -guint8 * gst_rdt_packet_data_map (GstRDTPacket *packet, guint *size); -gboolean gst_rdt_packet_data_unmap (GstRDTPacket *packet); -guint16 gst_rdt_packet_data_get_stream_id (GstRDTPacket *packet); -guint32 gst_rdt_packet_data_get_timestamp (GstRDTPacket *packet); - -guint8 gst_rdt_packet_data_get_flags (GstRDTPacket * packet); - -/* utils */ -gint gst_rdt_buffer_compare_seqnum (guint16 seqnum1, guint16 seqnum2); - -G_END_DECLS - -#endif /* __GST_RDTBUFFER_H__ */ -
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/rdtdepay.c
Deleted
@@ -1,496 +0,0 @@ -/* GStreamer - * Copyright (C) <2006> Lutz Mueller <lutz at topfrose dot de> - * <2006> Wim Taymans <wim@fluendo.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include <string.h> - -#include "gstrdtbuffer.h" -#include "rdtdepay.h" - -GST_DEBUG_CATEGORY_STATIC (rdtdepay_debug); -#define GST_CAT_DEFAULT rdtdepay_debug - -/* RDTDepay signals and args */ -enum -{ - /* FILL ME */ - LAST_SIGNAL -}; - -enum -{ - PROP_0, -}; - -static GstStaticPadTemplate gst_rdt_depay_src_template = -GST_STATIC_PAD_TEMPLATE ("src", - GST_PAD_SRC, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("application/vnd.rn-realmedia") - ); - -static GstStaticPadTemplate gst_rdt_depay_sink_template = -GST_STATIC_PAD_TEMPLATE ("sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_STATIC_CAPS ("application/x-rdt, " - "media = (string) \"application\", " - "clock-rate = (int) 1, MAX , " - "encoding-name = (string) \"X-REAL-RDT\"" - /* All optional parameters - * - * "config=" - */ - ) - ); - -#define gst_rdt_depay_parent_class parent_class -G_DEFINE_TYPE (GstRDTDepay, gst_rdt_depay, GST_TYPE_ELEMENT); -GST_ELEMENT_REGISTER_DEFINE (rdtdepay, "rdtdepay", - GST_RANK_MARGINAL, GST_TYPE_RDT_DEPAY); - -static void gst_rdt_depay_finalize (GObject * object); - -static GstStateChangeReturn gst_rdt_depay_change_state (GstElement * - element, GstStateChange transition); - -static gboolean gst_rdt_depay_sink_event (GstPad * pad, GstObject * parent, - GstEvent * event); -static GstFlowReturn gst_rdt_depay_chain (GstPad * pad, GstObject * parent, - GstBuffer * buf); - -static void -gst_rdt_depay_class_init (GstRDTDepayClass * klass) -{ - GObjectClass *gobject_class; - GstElementClass *gstelement_class; - - gobject_class = (GObjectClass *) klass; - gstelement_class = (GstElementClass *) klass; - - parent_class = g_type_class_peek_parent (klass); - - gobject_class->finalize = gst_rdt_depay_finalize; - - gstelement_class->change_state = gst_rdt_depay_change_state; - - gst_element_class_add_static_pad_template (gstelement_class, - &gst_rdt_depay_src_template); - gst_element_class_add_static_pad_template (gstelement_class, - &gst_rdt_depay_sink_template); - - gst_element_class_set_static_metadata (gstelement_class, "RDT packet parser", - "Codec/Depayloader/Network", - "Extracts RealMedia from RDT packets", - "Lutz Mueller <lutz at topfrose dot de>, " - "Wim Taymans <wim@fluendo.com>"); - - GST_DEBUG_CATEGORY_INIT (rdtdepay_debug, "rdtdepay", - 0, "Depayloader for RDT RealMedia packets"); -} - -static void -gst_rdt_depay_init (GstRDTDepay * rdtdepay) -{ - rdtdepay->sinkpad = - gst_pad_new_from_static_template (&gst_rdt_depay_sink_template, "sink"); - gst_pad_set_chain_function (rdtdepay->sinkpad, gst_rdt_depay_chain); - gst_pad_set_event_function (rdtdepay->sinkpad, gst_rdt_depay_sink_event); - gst_element_add_pad (GST_ELEMENT_CAST (rdtdepay), rdtdepay->sinkpad); - - rdtdepay->srcpad = - gst_pad_new_from_static_template (&gst_rdt_depay_src_template, "src"); - gst_element_add_pad (GST_ELEMENT_CAST (rdtdepay), rdtdepay->srcpad); -} - -static void -gst_rdt_depay_finalize (GObject * object) -{ - GstRDTDepay *rdtdepay; - - rdtdepay = GST_RDT_DEPAY (object); - - if (rdtdepay->header) - gst_buffer_unref (rdtdepay->header); - - G_OBJECT_CLASS (parent_class)->finalize (object); -} - -static gboolean -gst_rdt_depay_setcaps (GstPad * pad, GstCaps * caps) -{ - GstStructure *structure; - GstRDTDepay *rdtdepay; - GstCaps *srccaps; - gint clock_rate = 1000; /* default */ - const GValue *value; - GstBuffer *header; - - rdtdepay = GST_RDT_DEPAY (GST_PAD_PARENT (pad)); - - structure = gst_caps_get_structure (caps, 0); - - if (gst_structure_has_field (structure, "clock-rate")) - gst_structure_get_int (structure, "clock-rate", &clock_rate); - - /* config contains the RealMedia header as a buffer. */ - value = gst_structure_get_value (structure, "config"); - if (!value) - goto no_header; - - header = gst_value_get_buffer (value); - if (!header) - goto no_header; - - /* get other values for newsegment */ - value = gst_structure_get_value (structure, "npt-start"); - if (value && G_VALUE_HOLDS_UINT64 (value)) - rdtdepay->npt_start = g_value_get_uint64 (value); - else - rdtdepay->npt_start = 0; - GST_DEBUG_OBJECT (rdtdepay, "NPT start %" G_GUINT64_FORMAT, - rdtdepay->npt_start); - - value = gst_structure_get_value (structure, "npt-stop"); - if (value && G_VALUE_HOLDS_UINT64 (value)) - rdtdepay->npt_stop = g_value_get_uint64 (value); - else - rdtdepay->npt_stop = -1; - - GST_DEBUG_OBJECT (rdtdepay, "NPT stop %" G_GUINT64_FORMAT, - rdtdepay->npt_stop); - - value = gst_structure_get_value (structure, "play-speed"); - if (value && G_VALUE_HOLDS_DOUBLE (value)) - rdtdepay->play_speed = g_value_get_double (value); - else - rdtdepay->play_speed = 1.0; - - value = gst_structure_get_value (structure, "play-scale"); - if (value && G_VALUE_HOLDS_DOUBLE (value)) - rdtdepay->play_scale = g_value_get_double (value); - else - rdtdepay->play_scale = 1.0; - - /* caps seem good, configure element */ - rdtdepay->clock_rate = clock_rate; - - /* set caps on pad and on header */ - srccaps = gst_caps_new_empty_simple ("application/vnd.rn-realmedia");
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/rdtdepay.h
Deleted
@@ -1,74 +0,0 @@ -/* GStreamer - * Copyright (C) <2006> Lutz Mueller <lutz at topfrose dot de> - * <2006> Wim Taymans <wim@fluendo.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __GST_RDT_DEPAY_H__ -#define __GST_RDT_DEPAY_H__ - -#include <gst/gst.h> - -G_BEGIN_DECLS - -#define GST_TYPE_RDT_DEPAY \ - (gst_rdt_depay_get_type()) -#define GST_RDT_DEPAY(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RDT_DEPAY,GstRDTDepay)) -#define GST_RDT_DEPAY_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RDT_DEPAY,GstRDTDepayClass)) -#define GST_IS_RDT_DEPAY(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RDT_DEPAY)) -#define GST_IS_RDT_DEPAY_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RDT_DEPAY)) - -typedef struct _GstRDTDepay GstRDTDepay; -typedef struct _GstRDTDepayClass GstRDTDepayClass; - -struct _GstRDTDepay -{ - GstElement parent; - - GstPad *sinkpad; - GstPad *srcpad; - - guint clock_rate; - GstClockTime npt_start; - GstClockTime npt_stop; - gdouble play_speed; - gdouble play_scale; - - guint32 next_seqnum; - - gboolean discont; - gboolean need_newsegment; - GstSegment segment; - GstBuffer *header; -}; - -struct _GstRDTDepayClass -{ - GstElementClass parent_class; -}; - -GType gst_rdt_depay_get_type (void); - -GST_ELEMENT_REGISTER_DECLARE (rdtdepay); - -G_END_DECLS - -#endif /* __GST_RDT_DEPAY_H__ */
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/rdtjitterbuffer.c
Deleted
@@ -1,531 +0,0 @@ -/* GStreamer - * Copyright (C) <2007> Wim Taymans <wim.taymans@gmail.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ -#include <string.h> -#include <stdlib.h> - -#include "rdtjitterbuffer.h" -#include "gstrdtbuffer.h" - -GST_DEBUG_CATEGORY_STATIC (rdt_jitter_buffer_debug); -#define GST_CAT_DEFAULT rdt_jitter_buffer_debug - -#define MAX_WINDOW RDT_JITTER_BUFFER_MAX_WINDOW -#define MAX_TIME (2 * GST_SECOND) - -/* signals and args */ -enum -{ - LAST_SIGNAL -}; - -enum -{ - PROP_0 -}; - -/* GObject vmethods */ -static void rdt_jitter_buffer_finalize (GObject * object); - -/* static guint rdt_jitter_buffer_signalsLAST_SIGNAL = { 0 }; */ - -G_DEFINE_TYPE (RDTJitterBuffer, rdt_jitter_buffer, G_TYPE_OBJECT); - -static void -rdt_jitter_buffer_class_init (RDTJitterBufferClass * klass) -{ - GObjectClass *gobject_class; - - gobject_class = (GObjectClass *) klass; - - gobject_class->finalize = rdt_jitter_buffer_finalize; - - GST_DEBUG_CATEGORY_INIT (rdt_jitter_buffer_debug, "rdtjitterbuffer", 0, - "RDT Jitter Buffer"); -} - -static void -rdt_jitter_buffer_init (RDTJitterBuffer * jbuf) -{ - jbuf->packets = g_queue_new (); - - rdt_jitter_buffer_reset_skew (jbuf); -} - -static void -rdt_jitter_buffer_finalize (GObject * object) -{ - RDTJitterBuffer *jbuf; - - jbuf = RDT_JITTER_BUFFER_CAST (object); - - rdt_jitter_buffer_flush (jbuf); - g_queue_free (jbuf->packets); - - G_OBJECT_CLASS (rdt_jitter_buffer_parent_class)->finalize (object); -} - -/** - * rdt_jitter_buffer_new: - * - * Create an #RDTJitterBuffer. - * - * Returns: a new #RDTJitterBuffer. Use g_object_unref() after usage. - */ -RDTJitterBuffer * -rdt_jitter_buffer_new (void) -{ - RDTJitterBuffer *jbuf; - - jbuf = g_object_new (RDT_TYPE_JITTER_BUFFER, NULL); - - return jbuf; -} - -void -rdt_jitter_buffer_reset_skew (RDTJitterBuffer * jbuf) -{ - jbuf->base_time = -1; - jbuf->base_rtptime = -1; - jbuf->ext_rtptime = -1; - jbuf->window_pos = 0; - jbuf->window_filling = TRUE; - jbuf->window_min = 0; - jbuf->skew = 0; - jbuf->prev_send_diff = -1; -} - -/* For the clock skew we use a windowed low point averaging algorithm as can be - * found in http://www.grame.fr/pub/TR-050601.pdf. The idea is that the jitter is - * composed of: - * - * J = N + n - * - * N : a constant network delay. - * n : random added noise. The noise is concentrated around 0 - * - * In the receiver we can track the elapsed time at the sender with: - * - * send_diff(i) = (Tsi - Ts0); - * - * Tsi : The time at the sender at packet i - * Ts0 : The time at the sender at the first packet - * - * This is the difference between the RDT timestamp in the first received packet - * and the current packet. - * - * At the receiver we have to deal with the jitter introduced by the network. - * - * recv_diff(i) = (Tri - Tr0) - * - * Tri : The time at the receiver at packet i - * Tr0 : The time at the receiver at the first packet - * - * Both of these values contain a jitter Ji, a jitter for packet i, so we can - * write: - * - * recv_diff(i) = (Cri + D + ni) - (Cr0 + D + n0)) - * - * Cri : The time of the clock at the receiver for packet i - * D + ni : The jitter when receiving packet i - * - * We see that the network delay is irrelevant here as we can eliminate D: - * - * recv_diff(i) = (Cri + ni) - (Cr0 + n0)) - * - * The drift is now expressed as: - * - * Drift(i) = recv_diff(i) - send_diff(i); - * - * We now keep the W latest values of Drift and find the minimum (this is the - * one with the lowest network jitter and thus the one which is least affected - * by it). We average this lowest value to smooth out the resulting network skew. - * - * Both the window and the weighting used for averaging influence the accuracy - * of the drift estimation. Finding the correct parameters turns out to be a - * compromise between accuracy and inertia. - * - * We use a 2 second window or up to 512 data points, which is statistically big - * enough to catch spikes (FIXME, detect spikes). - * We also use a rather large weighting factor (125) to smoothly adapt. During - * startup, when filling the window, we use a parabolic weighting factor, the - * more the window is filled, the faster we move to the detected possible skew. - * - * Returns: @time adjusted with the clock skew. - */ -static GstClockTime -calculate_skew (RDTJitterBuffer * jbuf, guint32 rtptime, GstClockTime time, - guint32 clock_rate) -{ - guint64 ext_rtptime; - guint64 send_diff, recv_diff; - gint64 delta; - gint64 old; - gint pos, i; - GstClockTime gstrtptime, out_time; - - //ext_rtptime = gst_rtp_buffer_ext_timestamp (&jbuf->ext_rtptime, rtptime); - ext_rtptime = rtptime; - - gstrtptime = gst_util_uint64_scale_int (ext_rtptime, GST_SECOND, clock_rate); - -again: - /* first time, lock on to time and gstrtptime */ - if (jbuf->base_time == -1) - jbuf->base_time = time; - if (jbuf->base_rtptime == -1) - jbuf->base_rtptime = gstrtptime; - - if (gstrtptime >= jbuf->base_rtptime) - send_diff = gstrtptime - jbuf->base_rtptime; - else { - /* elapsed time at sender, timestamps can go backwards and thus be smaller - * than our base time, take a new base time in that case. */ - GST_DEBUG ("backward timestamps at server, taking new base time");
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/rdtjitterbuffer.h
Deleted
@@ -1,91 +0,0 @@ -/* GStreamer - * Copyright (C) <2007> Wim Taymans <wim.taymans@gmail.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __RDT_JITTER_BUFFER_H__ -#define __RDT_JITTER_BUFFER_H__ - -#include <gst/gst.h> - -typedef struct _RDTJitterBuffer RDTJitterBuffer; -typedef struct _RDTJitterBufferClass RDTJitterBufferClass; - -#define RDT_TYPE_JITTER_BUFFER (rdt_jitter_buffer_get_type()) -#define RDT_JITTER_BUFFER(src) (G_TYPE_CHECK_INSTANCE_CAST((src),RDT_TYPE_JITTER_BUFFER,RDTJitterBuffer)) -#define RDT_JITTER_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),RDT_TYPE_JITTER_BUFFER,RDTJitterBufferClass)) -#define RDT_IS_JITTER_BUFFER(src) (G_TYPE_CHECK_INSTANCE_TYPE((src),RDT_TYPE_JITTER_BUFFER)) -#define RDT_IS_JITTER_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),RDT_TYPE_JITTER_BUFFER)) -#define RDT_JITTER_BUFFER_CAST(src) ((RDTJitterBuffer *)(src)) - -/** - * RTPTailChanged: - * @jbuf: an #RDTJitterBuffer - * @user_data: user data specified when registering - * - * This callback will be called when the tail buffer of @jbuf changed. - */ -typedef void (*RTPTailChanged) (RDTJitterBuffer *jbuf, gpointer user_data); - -#define RDT_JITTER_BUFFER_MAX_WINDOW 512 -/** - * RDTJitterBuffer: - * - * A JitterBuffer in the #RTPSession - */ -struct _RDTJitterBuffer { - GObject object; - - GQueue *packets; - - /* for calculating skew */ - GstClockTime base_time; - GstClockTime base_rtptime; - guint64 ext_rtptime; - gint64 windowRDT_JITTER_BUFFER_MAX_WINDOW; - guint window_pos; - guint window_size; - gboolean window_filling; - gint64 window_min; - gint64 skew; - gint64 prev_send_diff; -}; - -struct _RDTJitterBufferClass { - GObjectClass parent_class; -}; - -GType rdt_jitter_buffer_get_type (void); - -/* managing lifetime */ -RDTJitterBuffer* rdt_jitter_buffer_new (void); - -void rdt_jitter_buffer_reset_skew (RDTJitterBuffer *jbuf); - -gboolean rdt_jitter_buffer_insert (RDTJitterBuffer *jbuf, GstBuffer *buf, - GstClockTime time, - guint32 clock_rate, - gboolean *tail); -GstBuffer * rdt_jitter_buffer_peek (RDTJitterBuffer *jbuf); -GstBuffer * rdt_jitter_buffer_pop (RDTJitterBuffer *jbuf); - -void rdt_jitter_buffer_flush (RDTJitterBuffer *jbuf); - -guint rdt_jitter_buffer_num_packets (RDTJitterBuffer *jbuf); -guint32 rdt_jitter_buffer_get_ts_diff (RDTJitterBuffer *jbuf); - -#endif /* __RDT_JITTER_BUFFER_H__ */
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/rdtmanager.c
Deleted
@@ -1,1371 +0,0 @@ -/* GStreamer - * Copyright (C) <2005,2006> Wim Taymans <wim@fluendo.com> - * <2013> Wim Taymans <wim.taymans@gmail.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ -/* - * Unless otherwise indicated, Source Code is licensed under MIT license. - * See further explanation attached in License Statement (distributed in the file - * LICENSE). - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -/* Element-Checklist-Version: 5 */ - -/** - * SECTION:element-rdtmanager - * @title: rdtmanager - * @see_also: GstRtspSrc - * - * A simple RTP session manager used internally by rtspsrc. - */ - -/* #define HAVE_RTCP */ - -#include "gstrdtbuffer.h" -#include "rdtmanager.h" -#include "rdtjitterbuffer.h" - -#include <gst/glib-compat-private.h> - -#include <stdio.h> - -GST_DEBUG_CATEGORY_STATIC (rdtmanager_debug); -#define GST_CAT_DEFAULT (rdtmanager_debug) - -/* GstRDTManager signals and args */ -enum -{ - SIGNAL_REQUEST_PT_MAP, - SIGNAL_CLEAR_PT_MAP, - - SIGNAL_ON_NEW_SSRC, - SIGNAL_ON_SSRC_COLLISION, - SIGNAL_ON_SSRC_VALIDATED, - SIGNAL_ON_SSRC_ACTIVE, - SIGNAL_ON_SSRC_SDES, - SIGNAL_ON_BYE_SSRC, - SIGNAL_ON_BYE_TIMEOUT, - SIGNAL_ON_TIMEOUT, - SIGNAL_ON_NPT_STOP, - LAST_SIGNAL -}; - -#define DEFAULT_LATENCY_MS 200 - -enum -{ - PROP_0, - PROP_LATENCY -}; - -static GstStaticPadTemplate gst_rdt_manager_recv_rtp_sink_template = -GST_STATIC_PAD_TEMPLATE ("recv_rtp_sink_%u", - GST_PAD_SINK, - GST_PAD_REQUEST, - GST_STATIC_CAPS ("application/x-rdt") - ); - -static GstStaticPadTemplate gst_rdt_manager_recv_rtcp_sink_template = -GST_STATIC_PAD_TEMPLATE ("recv_rtcp_sink_%u", - GST_PAD_SINK, - GST_PAD_REQUEST, - GST_STATIC_CAPS ("application/x-rtcp") - ); - -static GstStaticPadTemplate gst_rdt_manager_recv_rtp_src_template = -GST_STATIC_PAD_TEMPLATE ("recv_rtp_src_%u_%u_%u", - GST_PAD_SRC, - GST_PAD_SOMETIMES, - GST_STATIC_CAPS ("application/x-rdt") - ); - -static GstStaticPadTemplate gst_rdt_manager_rtcp_src_template = -GST_STATIC_PAD_TEMPLATE ("rtcp_src_%u", - GST_PAD_SRC, - GST_PAD_REQUEST, - GST_STATIC_CAPS ("application/x-rtcp") - ); - -static void gst_rdt_manager_finalize (GObject * object); -static void gst_rdt_manager_set_property (GObject * object, - guint prop_id, const GValue * value, GParamSpec * pspec); -static void gst_rdt_manager_get_property (GObject * object, - guint prop_id, GValue * value, GParamSpec * pspec); - -static gboolean gst_rdt_manager_query_src (GstPad * pad, GstObject * parent, - GstQuery * query); -static gboolean gst_rdt_manager_src_activate_mode (GstPad * pad, - GstObject * parent, GstPadMode mode, gboolean active); - -static GstClock *gst_rdt_manager_provide_clock (GstElement * element); -static GstStateChangeReturn gst_rdt_manager_change_state (GstElement * element, - GstStateChange transition); -static GstPad *gst_rdt_manager_request_new_pad (GstElement * element, - GstPadTemplate * templ, const gchar * name, const GstCaps * caps); -static void gst_rdt_manager_release_pad (GstElement * element, GstPad * pad); - -static gboolean gst_rdt_manager_parse_caps (GstRDTManager * rdtmanager, - GstRDTManagerSession * session, GstCaps * caps); -static gboolean gst_rdt_manager_event_rdt (GstPad * pad, GstObject * parent, - GstEvent * event); - -static GstFlowReturn gst_rdt_manager_chain_rdt (GstPad * pad, - GstObject * parent, GstBuffer * buffer); -static GstFlowReturn gst_rdt_manager_chain_rtcp (GstPad * pad, - GstObject * parent, GstBuffer * buffer); -static void gst_rdt_manager_loop (GstPad * pad); - -static guint gst_rdt_manager_signalsLAST_SIGNAL = { 0 }; - -#define JBUF_LOCK(sess) (g_mutex_lock (&(sess)->jbuf_lock)) - -#define JBUF_LOCK_CHECK(sess,label) G_STMT_START { \ - JBUF_LOCK (sess); \ - if (sess->srcresult != GST_FLOW_OK) \ - goto label; \ -} G_STMT_END - -#define JBUF_UNLOCK(sess) (g_mutex_unlock (&(sess)->jbuf_lock)) -#define JBUF_WAIT(sess) (g_cond_wait (&(sess)->jbuf_cond, &(sess)->jbuf_lock)) - -#define JBUF_WAIT_CHECK(sess,label) G_STMT_START { \ - JBUF_WAIT(sess); \ - if (sess->srcresult != GST_FLOW_OK) \ - goto label; \ -} G_STMT_END - -#define JBUF_SIGNAL(sess) (g_cond_signal (&(sess)->jbuf_cond)) - -/* Manages the receiving end of the packets. - * - * There is one such structure for each RTP session (audio/video/...). - * We get the RTP/RTCP packets and stuff them into the session manager. - */ -struct _GstRDTManagerSession -{ - /* session id */ - gint id; - /* the parent bin */ - GstRDTManager *dec; - - gboolean active; - /* we only support one ssrc and one pt */ - guint32 ssrc; - guint8 pt; - gint clock_rate; - GstCaps *caps; - gint64 clock_base; - - GstSegment segment; - - /* the last seqnum we pushed out */ - guint32 last_popped_seqnum; - /* the next expected seqnum */ - guint32 next_seqnum; - /* last output time */ - GstClockTime last_out_time; - - /* the pads of the session */
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/rdtmanager.h
Deleted
@@ -1,93 +0,0 @@ -/* GStreamer - * Copyright (C) <2005,2006> Wim Taymans <wim@fluendo.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ -/* - * Unless otherwise indicated, Source Code is licensed under MIT license. - * See further explanation attached in License Statement (distributed in the file - * LICENSE). - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is furnished to do - * so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#ifndef __GST_RDT_MANAGER_H__ -#define __GST_RDT_MANAGER_H__ - -#include <gst/gst.h> - -G_BEGIN_DECLS - -#define GST_TYPE_RDT_MANAGER (gst_rdt_manager_get_type()) -#define GST_IS_RDT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RDT_MANAGER)) -#define GST_IS_RDT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RDT_MANAGER)) -#define GST_RDT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RDT_MANAGER, GstRDTManager)) -#define GST_RDT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RDT_MANAGER, GstRDTManagerClass)) - -typedef struct _GstRDTManager GstRDTManager; -typedef struct _GstRDTManagerClass GstRDTManagerClass; -typedef struct _GstRDTManagerSession GstRDTManagerSession; - -struct _GstRDTManager { - GstElement element; - - guint latency; - GSList *sessions; - GstClock *provided_clock; -}; - -struct _GstRDTManagerClass { - GstElementClass parent_class; - - /* get the caps for pt */ - GstCaps* (*request_pt_map) (GstRDTManager *rtpdec, guint session, guint pt); - - void (*clear_pt_map) (GstRDTManager *rtpdec); - - void (*on_new_ssrc) (GstRDTManager *rtpdec, guint session, guint32 ssrc); - void (*on_ssrc_collision) (GstRDTManager *rtpdec, guint session, guint32 ssrc); - void (*on_ssrc_validated) (GstRDTManager *rtpdec, guint session, guint32 ssrc); - void (*on_ssrc_active) (GstRDTManager *rtpdec, guint session, guint32 ssrc); - void (*on_ssrc_sdes) (GstRDTManager *rtpdec, guint session, guint32 ssrc); - void (*on_bye_ssrc) (GstRDTManager *rtpdec, guint session, guint32 ssrc); - void (*on_bye_timeout) (GstRDTManager *rtpdec, guint session, guint32 ssrc); - void (*on_timeout) (GstRDTManager *rtpdec, guint session, guint32 ssrc); - void (*on_npt_stop) (GstRDTManager *rtpdec, guint session, guint32 ssrc); -}; - -GType gst_rdt_manager_get_type(void); - -GST_ELEMENT_REGISTER_DECLARE (rdtmanager); - -G_END_DECLS - -#endif /* __GST_RDT_MANAGER_H__ */
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/realhash.c
Deleted
@@ -1,324 +0,0 @@ -/* GStreamer - * Copyright (C) <2005,2006> Wim Taymans <wim@fluendo.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ -/* Element-Checklist-Version: 5 */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifdef HAVE_STDINT_H -#include <stdint.h> -#endif - -#include <string.h> - -#include <gst/gst.h> - -#include "realhash.h" - -void rtsp_ext_real_calc_response_and_checksum (char *response, - char *chksum, char *challenge); - -/* - * The following code has been copied from - * xine-lib-1.1.1/src/input/libreal/real.c. - */ - -static const unsigned char xor_table = { - 0x05, 0x18, 0x74, 0xd0, 0x0d, 0x09, 0x02, 0x53, - 0xc0, 0x01, 0x05, 0x05, 0x67, 0x03, 0x19, 0x70, - 0x08, 0x27, 0x66, 0x10, 0x10, 0x72, 0x08, 0x09, - 0x63, 0x11, 0x03, 0x71, 0x08, 0x08, 0x70, 0x02, - 0x10, 0x57, 0x05, 0x18, 0x54, 0x00, 0x00, 0x00 -}; - -#define LE_32(x) GST_READ_UINT32_LE(x) -#define BE_32C(x,y) GST_WRITE_UINT32_BE(x,y) -#define LE_32C(x,y) GST_WRITE_UINT32_LE(x,y) - -static void -hash (char *field, char *param) -{ - uint32_t a, b, c, d; - - /* fill variables */ - a = LE_32 (field); - b = LE_32 (field + 4); - c = LE_32 (field + 8); - d = LE_32 (field + 12); - - a = ((b & c) | (~b & d)) + LE_32 ((param + 0x00)) + a - 0x28955B88; - a = ((a << 0x07) | (a >> 0x19)) + b; - d = ((a & b) | (~a & c)) + LE_32 ((param + 0x04)) + d - 0x173848AA; - d = ((d << 0x0c) | (d >> 0x14)) + a; - c = ((d & a) | (~d & b)) + LE_32 ((param + 0x08)) + c + 0x242070DB; - c = ((c << 0x11) | (c >> 0x0f)) + d; - b = ((c & d) | (~c & a)) + LE_32 ((param + 0x0c)) + b - 0x3E423112; - b = ((b << 0x16) | (b >> 0x0a)) + c; - a = ((b & c) | (~b & d)) + LE_32 ((param + 0x10)) + a - 0x0A83F051; - a = ((a << 0x07) | (a >> 0x19)) + b; - d = ((a & b) | (~a & c)) + LE_32 ((param + 0x14)) + d + 0x4787C62A; - d = ((d << 0x0c) | (d >> 0x14)) + a; - c = ((d & a) | (~d & b)) + LE_32 ((param + 0x18)) + c - 0x57CFB9ED; - c = ((c << 0x11) | (c >> 0x0f)) + d; - b = ((c & d) | (~c & a)) + LE_32 ((param + 0x1c)) + b - 0x02B96AFF; - b = ((b << 0x16) | (b >> 0x0a)) + c; - a = ((b & c) | (~b & d)) + LE_32 ((param + 0x20)) + a + 0x698098D8; - a = ((a << 0x07) | (a >> 0x19)) + b; - d = ((a & b) | (~a & c)) + LE_32 ((param + 0x24)) + d - 0x74BB0851; - d = ((d << 0x0c) | (d >> 0x14)) + a; - c = ((d & a) | (~d & b)) + LE_32 ((param + 0x28)) + c - 0x0000A44F; - c = ((c << 0x11) | (c >> 0x0f)) + d; - b = ((c & d) | (~c & a)) + LE_32 ((param + 0x2C)) + b - 0x76A32842; - b = ((b << 0x16) | (b >> 0x0a)) + c; - a = ((b & c) | (~b & d)) + LE_32 ((param + 0x30)) + a + 0x6B901122; - a = ((a << 0x07) | (a >> 0x19)) + b; - d = ((a & b) | (~a & c)) + LE_32 ((param + 0x34)) + d - 0x02678E6D; - d = ((d << 0x0c) | (d >> 0x14)) + a; - c = ((d & a) | (~d & b)) + LE_32 ((param + 0x38)) + c - 0x5986BC72; - c = ((c << 0x11) | (c >> 0x0f)) + d; - b = ((c & d) | (~c & a)) + LE_32 ((param + 0x3c)) + b + 0x49B40821; - b = ((b << 0x16) | (b >> 0x0a)) + c; - - a = ((b & d) | (~d & c)) + LE_32 ((param + 0x04)) + a - 0x09E1DA9E; - a = ((a << 0x05) | (a >> 0x1b)) + b; - d = ((a & c) | (~c & b)) + LE_32 ((param + 0x18)) + d - 0x3FBF4CC0; - d = ((d << 0x09) | (d >> 0x17)) + a; - c = ((d & b) | (~b & a)) + LE_32 ((param + 0x2c)) + c + 0x265E5A51; - c = ((c << 0x0e) | (c >> 0x12)) + d; - b = ((c & a) | (~a & d)) + LE_32 ((param + 0x00)) + b - 0x16493856; - b = ((b << 0x14) | (b >> 0x0c)) + c; - a = ((b & d) | (~d & c)) + LE_32 ((param + 0x14)) + a - 0x29D0EFA3; - a = ((a << 0x05) | (a >> 0x1b)) + b; - d = ((a & c) | (~c & b)) + LE_32 ((param + 0x28)) + d + 0x02441453; - d = ((d << 0x09) | (d >> 0x17)) + a; - c = ((d & b) | (~b & a)) + LE_32 ((param + 0x3c)) + c - 0x275E197F; - c = ((c << 0x0e) | (c >> 0x12)) + d; - b = ((c & a) | (~a & d)) + LE_32 ((param + 0x10)) + b - 0x182C0438; - b = ((b << 0x14) | (b >> 0x0c)) + c; - a = ((b & d) | (~d & c)) + LE_32 ((param + 0x24)) + a + 0x21E1CDE6; - a = ((a << 0x05) | (a >> 0x1b)) + b; - d = ((a & c) | (~c & b)) + LE_32 ((param + 0x38)) + d - 0x3CC8F82A; - d = ((d << 0x09) | (d >> 0x17)) + a; - c = ((d & b) | (~b & a)) + LE_32 ((param + 0x0c)) + c - 0x0B2AF279; - c = ((c << 0x0e) | (c >> 0x12)) + d; - b = ((c & a) | (~a & d)) + LE_32 ((param + 0x20)) + b + 0x455A14ED; - b = ((b << 0x14) | (b >> 0x0c)) + c; - a = ((b & d) | (~d & c)) + LE_32 ((param + 0x34)) + a - 0x561C16FB; - a = ((a << 0x05) | (a >> 0x1b)) + b; - d = ((a & c) | (~c & b)) + LE_32 ((param + 0x08)) + d - 0x03105C08; - d = ((d << 0x09) | (d >> 0x17)) + a; - c = ((d & b) | (~b & a)) + LE_32 ((param + 0x1c)) + c + 0x676F02D9; - c = ((c << 0x0e) | (c >> 0x12)) + d; - b = ((c & a) | (~a & d)) + LE_32 ((param + 0x30)) + b - 0x72D5B376; - b = ((b << 0x14) | (b >> 0x0c)) + c; - - a = (b ^ c ^ d) + LE_32 ((param + 0x14)) + a - 0x0005C6BE; - a = ((a << 0x04) | (a >> 0x1c)) + b; - d = (a ^ b ^ c) + LE_32 ((param + 0x20)) + d - 0x788E097F; - d = ((d << 0x0b) | (d >> 0x15)) + a; - c = (d ^ a ^ b) + LE_32 ((param + 0x2c)) + c + 0x6D9D6122; - c = ((c << 0x10) | (c >> 0x10)) + d; - b = (c ^ d ^ a) + LE_32 ((param + 0x38)) + b - 0x021AC7F4; - b = ((b << 0x17) | (b >> 0x09)) + c; - a = (b ^ c ^ d) + LE_32 ((param + 0x04)) + a - 0x5B4115BC; - a = ((a << 0x04) | (a >> 0x1c)) + b; - d = (a ^ b ^ c) + LE_32 ((param + 0x10)) + d + 0x4BDECFA9; - d = ((d << 0x0b) | (d >> 0x15)) + a; - c = (d ^ a ^ b) + LE_32 ((param + 0x1c)) + c - 0x0944B4A0; - c = ((c << 0x10) | (c >> 0x10)) + d; - b = (c ^ d ^ a) + LE_32 ((param + 0x28)) + b - 0x41404390; - b = ((b << 0x17) | (b >> 0x09)) + c; - a = (b ^ c ^ d) + LE_32 ((param + 0x34)) + a + 0x289B7EC6; - a = ((a << 0x04) | (a >> 0x1c)) + b; - d = (a ^ b ^ c) + LE_32 ((param + 0x00)) + d - 0x155ED806; - d = ((d << 0x0b) | (d >> 0x15)) + a; - c = (d ^ a ^ b) + LE_32 ((param + 0x0c)) + c - 0x2B10CF7B; - c = ((c << 0x10) | (c >> 0x10)) + d; - b = (c ^ d ^ a) + LE_32 ((param + 0x18)) + b + 0x04881D05; - b = ((b << 0x17) | (b >> 0x09)) + c; - a = (b ^ c ^ d) + LE_32 ((param + 0x24)) + a - 0x262B2FC7; - a = ((a << 0x04) | (a >> 0x1c)) + b; - d = (a ^ b ^ c) + LE_32 ((param + 0x30)) + d - 0x1924661B; - d = ((d << 0x0b) | (d >> 0x15)) + a; - c = (d ^ a ^ b) + LE_32 ((param + 0x3c)) + c + 0x1fa27cf8; - c = ((c << 0x10) | (c >> 0x10)) + d; - b = (c ^ d ^ a) + LE_32 ((param + 0x08)) + b - 0x3B53A99B; - b = ((b << 0x17) | (b >> 0x09)) + c; - - a = ((~d | b) ^ c) + LE_32 ((param + 0x00)) + a - 0x0BD6DDBC; - a = ((a << 0x06) | (a >> 0x1a)) + b; - d = ((~c | a) ^ b) + LE_32 ((param + 0x1c)) + d + 0x432AFF97; - d = ((d << 0x0a) | (d >> 0x16)) + a; - c = ((~b | d) ^ a) + LE_32 ((param + 0x38)) + c - 0x546BDC59; - c = ((c << 0x0f) | (c >> 0x11)) + d; - b = ((~a | c) ^ d) + LE_32 ((param + 0x14)) + b - 0x036C5FC7; - b = ((b << 0x15) | (b >> 0x0b)) + c; - a = ((~d | b) ^ c) + LE_32 ((param + 0x30)) + a + 0x655B59C3; - a = ((a << 0x06) | (a >> 0x1a)) + b; - d = ((~c | a) ^ b) + LE_32 ((param + 0x0C)) + d - 0x70F3336E; - d = ((d << 0x0a) | (d >> 0x16)) + a; - c = ((~b | d) ^ a) + LE_32 ((param + 0x28)) + c - 0x00100B83; - c = ((c << 0x0f) | (c >> 0x11)) + d; - b = ((~a | c) ^ d) + LE_32 ((param + 0x04)) + b - 0x7A7BA22F; - b = ((b << 0x15) | (b >> 0x0b)) + c; - a = ((~d | b) ^ c) + LE_32 ((param + 0x20)) + a + 0x6FA87E4F; - a = ((a << 0x06) | (a >> 0x1a)) + b; - d = ((~c | a) ^ b) + LE_32 ((param + 0x3c)) + d - 0x01D31920; - d = ((d << 0x0a) | (d >> 0x16)) + a; - c = ((~b | d) ^ a) + LE_32 ((param + 0x18)) + c - 0x5CFEBCEC; - c = ((c << 0x0f) | (c >> 0x11)) + d; - b = ((~a | c) ^ d) + LE_32 ((param + 0x34)) + b + 0x4E0811A1; - b = ((b << 0x15) | (b >> 0x0b)) + c; - a = ((~d | b) ^ c) + LE_32 ((param + 0x10)) + a - 0x08AC817E; - a = ((a << 0x06) | (a >> 0x1a)) + b; - d = ((~c | a) ^ b) + LE_32 ((param + 0x2c)) + d - 0x42C50DCB; - d = ((d << 0x0a) | (d >> 0x16)) + a; - c = ((~b | d) ^ a) + LE_32 ((param + 0x08)) + c + 0x2AD7D2BB; - c = ((c << 0x0f) | (c >> 0x11)) + d; - b = ((~a | c) ^ d) + LE_32 ((param + 0x24)) + b - 0x14792C6F; - b = ((b << 0x15) | (b >> 0x0b)) + c; - - a += LE_32 (field); - b += LE_32 (field + 4);
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/realhash.h
Deleted
@@ -1,31 +0,0 @@ -/* GStreamer - * Copyright (C) <2005,2006> Wim Taymans <wim@fluendo.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __GST_RTSP_HASH_H__ -#define __GST_RTSP_HASH_H__ - -G_BEGIN_DECLS - -void -gst_rtsp_ext_real_calc_response_and_checksum (char *response, char *chksum, - char *challenge); - -G_END_DECLS - -#endif /* __GST_RTSP_HASH_H__ */
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/rtspreal.c
Deleted
@@ -1,735 +0,0 @@ -/* GStreamer - * Copyright (C) <2005,2006> Wim Taymans <wim@fluendo.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ -/* Element-Checklist-Version: 5 */ - -/** - * SECTION:element-rtspreal - * @title: rtspreal - * - * A RealMedia RTSP extension - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifdef HAVE_STDINT_H -#include <stdint.h> -#endif - -#include <stdlib.h> -#include <string.h> - -#include <gst/rtsp/gstrtspextension.h> - -#include "realhash.h" -#include "rtspreal.h" -#include "asmrules.h" - -GST_DEBUG_CATEGORY_STATIC (rtspreal_debug); -#define GST_CAT_DEFAULT (rtspreal_debug) - -#define SERVER_PREFIX "RealServer" -#define DEFAULT_BANDWIDTH "10485800" - -static GstRTSPResult -rtsp_ext_real_get_transports (GstRTSPExtension * ext, - GstRTSPLowerTrans protocols, gchar ** transport) -{ - GstRTSPReal *ctx = (GstRTSPReal *) ext; - GString *str; - - if (!ctx->isreal) - return GST_RTSP_OK; - - GST_DEBUG_OBJECT (ext, "generating transports for %d", protocols); - - str = g_string_new (""); - - /* - if (protocols & GST_RTSP_LOWER_TRANS_UDP_MCAST) { - g_string_append (str, "x-real-rdt/mcast;client_port=%%u1;mode=play,"); - } - if (protocols & GST_RTSP_LOWER_TRANS_UDP) { - g_string_append (str, "x-real-rdt/udp;client_port=%%u1;mode=play,"); - g_string_append (str, "x-pn-tng/udp;client_port=%%u1;mode=play,"); - } - */ - if (protocols & GST_RTSP_LOWER_TRANS_TCP) { - g_string_append (str, "x-real-rdt/tcp;mode=play,"); - g_string_append (str, "x-pn-tng/tcp;mode=play,"); - } - - /* if we added something, remove trailing ',' */ - if (str->len > 0) - g_string_truncate (str, str->len - 1); - - *transport = g_string_free (str, FALSE); - - return GST_RTSP_OK; -} - -static GstRTSPResult -rtsp_ext_real_before_send (GstRTSPExtension * ext, GstRTSPMessage * request) -{ - GstRTSPReal *ctx = (GstRTSPReal *) ext; - - switch (request->type_data.request.method) { - case GST_RTSP_OPTIONS: - { - gst_rtsp_message_add_header (request, GST_RTSP_HDR_USER_AGENT, - //"RealMedia Player (" GST_PACKAGE_NAME ")"); - "RealMedia Player Version 6.0.9.1235 (linux-2.0-libc6-i386-gcc2.95)"); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_CLIENT_CHALLENGE, - "9e26d33f2984236010ef6253fb1887f7"); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_COMPANY_ID, - "KnKV4M4I/B2FjJ1TToLycw=="); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_GUID, - "00000000-0000-0000-0000-000000000000"); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_REGION_DATA, "0"); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_PLAYER_START_TIME, - "28/03/2003:22:50:23 00:00"); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_CLIENT_ID, - "Linux_2.4_6.0.9.1235_play32_RN01_EN_586"); - ctx->isreal = FALSE; - break; - } - case GST_RTSP_DESCRIBE: - { - if (ctx->isreal) { - gst_rtsp_message_add_header (request, GST_RTSP_HDR_BANDWIDTH, - DEFAULT_BANDWIDTH); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_GUID, - "00000000-0000-0000-0000-000000000000"); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_REGION_DATA, "0"); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_CLIENT_ID, - "Linux_2.4_6.0.9.1235_play32_RN01_EN_586"); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_MAX_ASM_WIDTH, "1"); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_LANGUAGE, "en-US"); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_REQUIRE, - "com.real.retain-entity-for-setup"); - } - break; - } - case GST_RTSP_SETUP: - { - if (ctx->isreal) { - gchar *value = - g_strdup_printf ("%s, sd=%s", ctx->challenge2, ctx->checksum); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_REAL_CHALLENGE2, - value); - gst_rtsp_message_add_header (request, GST_RTSP_HDR_IF_MATCH, ctx->etag); - g_free (value); - } - break; - } - default: - break; - } - return GST_RTSP_OK; -} - -static GstRTSPResult -rtsp_ext_real_after_send (GstRTSPExtension * ext, GstRTSPMessage * req, - GstRTSPMessage * resp) -{ - GstRTSPReal *ctx = (GstRTSPReal *) ext; - - switch (req->type_data.request.method) { - case GST_RTSP_OPTIONS: - { - gchar *challenge1 = NULL; - gchar *server = NULL; - - gst_rtsp_message_get_header (resp, GST_RTSP_HDR_SERVER, &server, 0); - - gst_rtsp_message_get_header (resp, GST_RTSP_HDR_REAL_CHALLENGE1, - &challenge1, 0); - if (!challenge1) - goto no_challenge1; - - gst_rtsp_ext_real_calc_response_and_checksum (ctx->challenge2, - ctx->checksum, challenge1); - - GST_DEBUG_OBJECT (ctx, "Found Real challenge tag"); - ctx->isreal = TRUE; - break; - } - case GST_RTSP_DESCRIBE: - { - gchar *etag = NULL; - guint len; - - gst_rtsp_message_get_header (resp, GST_RTSP_HDR_ETAG, &etag, 0); - if (etag) { - len = sizeof (ctx->etag); - strncpy (ctx->etag, etag, len); - ctx->etaglen - 1 = '\0'; - } - break; - } - default: - break; - } - return GST_RTSP_OK; - - /* ERRORS */ -no_challenge1: - { - GST_DEBUG_OBJECT (ctx, "Could not find challenge tag."); - ctx->isreal = FALSE; - return GST_RTSP_OK; - } -}
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/rtspreal.h
Deleted
@@ -1,93 +0,0 @@ -/* GStreamer - * Copyright (C) <2005,2006> Wim Taymans <wim@fluendo.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#ifndef __GST_RTSP_REAL_H__ -#define __GST_RTSP_REAL_H__ - -#include <gst/gst.h> - -#include "asmrules.h" - -G_BEGIN_DECLS - -#define GST_TYPE_RTSP_REAL (gst_rtsp_real_get_type()) -#define GST_IS_RTSP_REAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTSP_REAL)) -#define GST_IS_RTSP_REAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTSP_REAL)) -#define GST_RTSP_REAL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTSP_REAL, GstRTSPReal)) -#define GST_RTSP_REAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTSP_REAL, GstRTSPRealClass)) - -typedef struct _GstRTSPReal GstRTSPReal; -typedef struct _GstRTSPRealClass GstRTSPRealClass; - -typedef struct _GstRTSPRealStream GstRTSPRealStream; - -struct _GstRTSPRealStream { - guint id; - guint max_bit_rate; - guint avg_bit_rate; - guint max_packet_size; - guint avg_packet_size; - guint start_time; - guint preroll; - guint duration; - gchar *stream_name; - guint stream_name_len; - gchar *mime_type; - guint mime_type_len; - - GstASMRuleBook *rulebook; - - gchar *type_specific_data; - guint type_specific_data_len; - - guint16 num_rules, j, sel, codec; -}; - -struct _GstRTSPReal { - GstElement element; - - gchar checksum34; - gchar challenge264; - gchar etag64; - gboolean isreal; - - guint n_streams; - GList *streams; - - guint max_bit_rate; - guint avg_bit_rate; - guint max_packet_size; - guint avg_packet_size; - guint duration; - - gchar *rules; -}; - -struct _GstRTSPRealClass { - GstElementClass parent_class; -}; - -GType gst_rtsp_real_get_type(void); - -GST_ELEMENT_REGISTER_DECLARE (rtspreal); - - -G_END_DECLS - -#endif /* __GST_RTSP_REAL_H__ */
View file
gst-plugins-ugly-1.22.7.tar.xz/tests/check/elements/amrnbenc.c
Deleted
@@ -1,144 +0,0 @@ -/* - * GStreamer - * - * unit test for amrnbenc - * - * Copyright (C) 2006 Thomas Vander Stichele <thomas at apestaart dot org> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -#include <gst/check/gstcheck.h> -#include <gst/audio/audio.h> - -#define SRC_CAPS "audio/x-raw, format = (string)" GST_AUDIO_NE (S16) ", " \ - "layout = (string) interleaved, channels = (int) 1, rate = (int) 8000" -#define SINK_CAPS "audio/AMR" - -static GstPad *srcpad, *sinkpad; - -static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink", - GST_PAD_SINK, - GST_PAD_ALWAYS, - GST_STATIC_CAPS (SINK_CAPS) - ); - -static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src", - GST_PAD_SRC, - GST_PAD_ALWAYS, - GST_STATIC_CAPS (SRC_CAPS) - ); - -static void -buffer_unref (void *buffer, void *user_data) -{ - gst_buffer_unref (GST_BUFFER (buffer)); -} - -static GstElement * -setup_amrnbenc (void) -{ - GstElement *amrnbenc; - GstCaps *caps; - GstBus *bus; - - GST_DEBUG ("setup_amrnbenc"); - - amrnbenc = gst_check_setup_element ("amrnbenc"); - srcpad = gst_check_setup_src_pad (amrnbenc, &srctemplate); - sinkpad = gst_check_setup_sink_pad (amrnbenc, &sinktemplate); - gst_pad_set_active (srcpad, TRUE); - gst_pad_set_active (sinkpad, TRUE); - - bus = gst_bus_new (); - gst_element_set_bus (amrnbenc, bus); - - fail_unless (gst_element_set_state (amrnbenc, - GST_STATE_PLAYING) != GST_STATE_CHANGE_FAILURE, - "could not set to playing"); - - caps = gst_caps_from_string (SRC_CAPS); - gst_check_setup_events (srcpad, amrnbenc, caps, GST_FORMAT_TIME); - gst_caps_unref (caps); - - buffers = NULL; - return amrnbenc; -} - -static void -cleanup_amrnbenc (GstElement * amrnbenc) -{ - GstBus *bus; - - /* free encoded buffers */ - g_list_foreach (buffers, buffer_unref, NULL); - g_list_free (buffers); - buffers = NULL; - - bus = GST_ELEMENT_BUS (amrnbenc); - gst_bus_set_flushing (bus, TRUE); - gst_object_unref (bus); - - GST_DEBUG ("cleanup_amrnbenc"); - gst_pad_set_active (srcpad, FALSE); - gst_pad_set_active (sinkpad, FALSE); - gst_check_teardown_src_pad (amrnbenc); - gst_check_teardown_sink_pad (amrnbenc); - gst_check_teardown_element (amrnbenc); -} - -/* push a random block of audio of the given size */ -static void -push_data (gint size, GstFlowReturn expected_return) -{ - GstBuffer *buffer; - GstFlowReturn res; - - buffer = gst_buffer_new_and_alloc (size); - /* make valgrind happier */ - gst_buffer_memset (buffer, 0, 0, size); - - res = gst_pad_push (srcpad, buffer); - fail_unless (res == expected_return, - "pushing audio returned %d (%s) not %d (%s)", res, - gst_flow_get_name (res), expected_return, - gst_flow_get_name (expected_return)); -} - -GST_START_TEST (test_enc) -{ - GstElement *amrnbenc; - - amrnbenc = setup_amrnbenc (); - push_data (1000, GST_FLOW_OK); - - cleanup_amrnbenc (amrnbenc); -} - -GST_END_TEST; - -static Suite * -amrnbenc_suite () -{ - Suite *s = suite_create ("amrnbenc"); - TCase *tc_chain = tcase_create ("general"); - - suite_add_tcase (s, tc_chain); - tcase_add_test (tc_chain, test_enc); - return s; -} - -GST_CHECK_MAIN (amrnbenc);
View file
gst-plugins-ugly-1.22.7.tar.xz/ChangeLog -> gst-plugins-ugly-1.24.5.tar.xz/ChangeLog
Changed
@@ -1,537 +1,384 @@ -=== release 1.22.7 === +=== release 1.24.5 === -2023-11-13 11:04:22 +0000 Tim-Philipp Müller <tim@centricular.com> +2024-06-20 12:54:15 +0100 Tim-Philipp Müller <tim@centricular.com> * NEWS: * RELEASE: * gst-plugins-ugly.doap: * meson.build: - Release 1.22.7 + Release 1.24.5 -2023-09-20 19:41:00 +0100 Tim-Philipp Müller <tim@centricular.com> +2024-05-29 13:51:27 +0300 Tim-Philipp Müller <tim@centricular.com> * meson.build: - Back to development - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5371> + Back to development after 1.24.4 -=== release 1.22.6 === +=== release 1.24.4 === -2023-09-20 18:10:57 +0100 Tim-Philipp Müller <tim@centricular.com> +2024-05-29 13:44:50 +0300 Tim-Philipp Müller <tim@centricular.com> * NEWS: * RELEASE: * gst-plugins-ugly.doap: * meson.build: - Release 1.22.6 + Release 1.24.4 -2023-07-20 16:57:47 +0100 Tim-Philipp Müller <tim@centricular.com> +2024-04-30 00:36:59 +0100 Tim-Philipp Müller <tim@centricular.com> * meson.build: - Back to development - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5082> + Back to development after 1.24.3 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6772> -=== release 1.22.5 === +=== release 1.24.3 === -2023-07-20 15:22:48 +0100 Tim-Philipp Müller <tim@centricular.com> +2024-04-30 00:15:23 +0100 Tim-Philipp Müller <tim@centricular.com> * NEWS: * RELEASE: * gst-plugins-ugly.doap: * meson.build: - Release 1.22.5 - -2023-07-07 10:08:21 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/realmedia/rmdemux.c: - rmdemux: Check for integer overflow when calculation audio packet size - Fixes ZDI-CAN-21444 - https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2782 - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5073> - -2023-07-07 10:08:03 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/realmedia/rmdemux.c: - rmdemux: Use GST_LOG_OBJECT instead of GST_LOG - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5073> - -2023-07-07 10:00:19 +0300 Sebastian Dröge <sebastian@centricular.com> + Release 1.24.3 - * gst/realmedia/rmdemux.c: - rmdemux: Check that enough SIPR audio data is available when copying - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5073> - -2023-07-07 09:59:20 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/realmedia/rmdemux.c: - rmdemux: Check for integer overflows when calculating the size of SIPR audio buffers - Fixes ZDI-CAN-21443 - Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2782 - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5073> - -2023-07-07 09:59:04 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/realmedia/rmdemux.c: - rmdemux: Use GST_LOG_OBJECT instead of GST_LOG - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5073> - -2023-06-20 19:10:38 +0100 Tim-Philipp Müller <tim@centricular.com> +2024-04-10 00:04:02 +0100 Tim-Philipp Müller <tim@centricular.com> * meson.build: - Back to development - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4907> + Back to development after 1.24.2 -=== release 1.22.4 === +=== release 1.24.2 === -2023-06-20 17:42:25 +0100 Tim-Philipp Müller <tim@centricular.com> +2024-04-09 21:48:55 +0100 Tim-Philipp Müller <tim@centricular.com> * NEWS: * RELEASE: * gst-plugins-ugly.doap: * meson.build: - Release 1.22.4 + Release 1.24.2 -2023-05-19 12:36:19 +0100 Tim-Philipp Müller <tim@centricular.com> +2024-03-22 01:38:06 +0100 Tim-Philipp Müller <tim@centricular.com> * meson.build: Back to development - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4679> -=== release 1.22.3 === +=== release 1.24.1 === -2023-05-19 09:23:19 +0100 Tim-Philipp Müller <tim@centricular.com> +2024-03-21 21:47:53 +0100 Tim-Philipp Müller <tim@centricular.com> * NEWS: - * README.md: * RELEASE: * gst-plugins-ugly.doap: * meson.build: - Release 1.22.3 + Release 1.24.1 -2023-04-12 00:31:17 +0100 Tim-Philipp Müller <tim@centricular.com> +2024-03-05 13:45:27 +0000 Tim-Philipp Müller <tim@centricular.com> * meson.build: Back to development + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6264> -=== release 1.22.2 === +=== release 1.24.0 === -2023-04-11 17:29:28 +0100 Tim-Philipp Müller <tim@centricular.com> - - * NEWS: - * RELEASE: - * gst-plugins-ugly.doap: - * meson.build: - Release 1.22.2 - -2023-03-17 16:32:45 +0200 Sebastian Dröge <sebastian@centricular.com> - - * tests/check/elements/x264enc.c: - plugins: Fix various trivial clang compiler warnings - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4221> - -2023-03-04 16:13:04 +0000 Tim-Philipp Müller <tim@centricular.com> - - * meson.build: - Back to development - -=== release 1.22.1 === - -2023-03-04 13:42:32 +0000 Tim-Philipp Müller <tim@centricular.com> +2024-03-04 23:51:42 +0000 Tim-Philipp Müller <tim@centricular.com> * NEWS: + * README.md: * RELEASE: * gst-plugins-ugly.doap: * meson.build: - Release 1.22.1 + Release 1.24.0 -2023-01-25 16:46:42 +0000 Tim-Philipp Müller <tim@centricular.com> +2024-02-26 09:27:40 +0100 Edward Hervey <edward@centricular.com> - * meson.build: - Back to development - -=== release 1.22.0 === - -2023-01-23 19:29:34 +0000 Tim-Philipp Müller <tim@centricular.com> - - * NEWS: + * README.md: * RELEASE: - * gst-plugins-ugly.doap: - * meson.build: - Release 1.22.0 - -2023-01-23 16:28:13 +0000 Tim-Philipp Müller <tim@centricular.com> - - * po/hr.po: - * po/ro.po: - gst-plugins-ugly: update translations - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773> + docs: Use Discourse and Matrix as prefered communication channels + Part of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6220
View file
gst-plugins-ugly-1.22.7.tar.xz/NEWS -> gst-plugins-ugly-1.24.5.tar.xz/NEWS
Changed
@@ -1,1776 +1,1465 @@ -GStreamer 1.22 Release Notes +GStreamer 1.24 Release Notes -GStreamer 1.22.0 was originally released on 23 January 2023. +GStreamer 1.24.0 was originally released on 4 March 2024. -The latest bug-fix release in the stable 1.22 series is 1.22.7 and was -released on 13 November 2023. +The latest bug-fix release in the stable 1.24 series is 1.24.5 and was released on 20 June 2024. -See https://gstreamer.freedesktop.org/releases/1.22/ for the latest -version of this document. - -Last updated: Monday 13 November 2023, 10:00 UTC (log) - -Introduction - -The GStreamer team is proud to announce a new major feature release in -the stable 1.x API series of your favourite cross-platform multimedia -framework! - -As always, this release is again packed with many new features, bug -fixes and other improvements. - -Highlights - -- AV1 video codec support improvements -- New HLS, DASH and Microsoft Smooth Streaming adaptive streaming - clients -- Qt6 support for rendering video inside a QML scene -- Minimal builds optimised for binary size, including only the - individual elements needed -- Playbin3, Decodebin3, UriDecodebin3, Parsebin enhancements and - stabilisation -- WebRTC simulcast support and support for Google Congestion Control -- WebRTC-based media server ingestion/egress (WHIP/WHEP) support -- New easy to use batteries-included WebRTC sender plugin -- Easy RTP sender timestamp reconstruction for RTP and RTSP -- ONVIF timed metadata support -- New fragmented MP4 muxer and non-fragmented MP4 muxer -- New plugins for Amazon AWS storage and audio transcription services -- New gtk4paintablesink and gtkwaylandsink renderers -- New videocolorscale element that can convert and scale in one go for - better performance -- High bit-depth video improvements -- Touchscreen event support in navigation API -- Rust plugins now shipped in macOS and Windows/MSVC binary packages -- H.264/H.265 timestamp correction elements for PTS/DTS reconstruction - before muxers -- Improved design for DMA buffer sharing and modifier handling for - hardware-accelerated video decoders/encoders/filters and - capturing/rendering on Linux -- Video4Linux2 hardware accelerated decoder improvements -- CUDA integration and Direct3D11 integration and plugin improvements -- New H.264 / AVC, H.265 / HEVC and AV1 hardware-accelerated video - encoders for AMD GPUs using the Advanced Media Framework (AMF) SDK -- applemedia: H.265 / HEVC video encoding + decoding support -- androidmedia: H.265 / HEVC video encoding support -- New “force-live” property for audiomixer, compositor, glvideomixer, - d3d11compositor etc. -- Lots of new plugins, features, performance improvements and bug - fixes - -Major new features and changes - -AV1 video codec support improvements - -AV1 is a royalty free next-generation video codec by AOMedia and a free -alternative to H.265/HEVC. - -While supported in earlier versions of GStreamer already, this release -saw a lot of improvements across the board: - -- Support for hardware encoding and decoding via VAAPI/VA, AMF, D3D11, - NVCODEC, QSV and Intel MediaSDK. Hardware codecs for AV1 are slowly - becoming available in embedded systems and desktop GPUs (AMD, Intel, - NVIDIA), and these can now be used via GStreamer. - -- New AV1 RTP payloader and depayloader elements. - -- New encoder settings in the AOM reference encoder-based av1enc - element. - -- Various improvements in the AV1 parser and in the MP4/Matroska/WebM - muxers/demuxers. - -- dav1d and rav1e based software decoder/encoder elements shipped as - part of the binaries. - -- AV1 parser improvements and various bugfixes all over the place. - -Touchscreen event support in Navigation API - -The Navigation API supports the sending of key press events and mouse -events through a GStreamer pipeline. Typically these will be picked up -by a video sink on which these events happen and then the event is -transmitted into the pipeline so it can be handled by elements inside -the pipeline if it wasn’t handled by the application. - -This has traditionally been used for DVD menu support, but can also be -used to forward such inputs to source elements that render a web page -using a browser engine such as WebKit or Chromium. - -This API has now gained support for touchscreen events, and this has -been implemented in various plugins such as the GTK, Qt, XV, and x11 -video sinks as well as the wpevideosrc element. - -GStreamer CUDA integration - -- New gst-cuda library -- integration with D3D11 and NVIDIA dGPU NVMM elements -- new cudaconvertscale element - -GStreamer Direct3D11 integration - -- New gst-d3d11 public library - - gst-d3d11 library is not integrated with GStreamer documentation - system yet. Please refer to the examples -- d3d11screencapture: Add Windows Graphics Capture API based capture - mode, including Win32 application window capturing -- d3d11videosink and d3d11convert can support flip/rotation and crop - meta -- d3d11videosink: New emit-present property and present signal so that - applications can overlay an image on Direct3D11 swapchain’s - backbuffer via Direct3D/Direct2D APIs. See also C++ and Rust - examples -- d3d11compositor supports YUV blending/composing without intermediate - RGB(A) conversion to improve performance -- Direct3D11 video decoders are promoted to GST_RANK_PRIMARY or - higher, except for the MPEG2 decoder - -H.264/H.265 timestamp correction elements - -- Muxers are often picky and need proper PTS/DTS timestamps set on the - input buffers, but that can be a problem if the encoded input media - stream comes from a source that doesn’t provide proper signalling of - DTS, such as is often the case for RTP, RTSP and WebRTC streams or - Matroska container files. Theoretically parsers should be able to - fix this up, but it would probably require fairly invasive changes - in the parsers, so two new elements h264timestamper and - h265timestamper bridge the gap in the meantime and can reconstruct - missing PTS/DTS. - -Easy sender timestamp reconstruction for RTP and RTSP - -- it was always possible to reconstruct and retrieve the original RTP - sender timestamps in GStreamer, but required a fair bit of - understanding of the internal mechanisms and the right property - configuration and clock setup. - -- rtspsrc and rtpjitterbuffer gained a new - “add-reference-timestamp-meta” property that if set puts the - original absolute reconstructed sender timestamps on the output - buffers via a meta. This is particularly useful if the sender is - synced to an NTP clock or PTP clock. The original sender timestamps - are either based on the RTCP NTP times, NTP RTP header extensions - (RFC6051) or RFC7273-style clock signalling. - -Qt6 support - -- new qml6glsink element for Qt6 similar to the existing Qt5 element. - Matching source and overlay elements will hopefully follow in the - near future. - -OpenGL + Video library enhancements - -- Support for new video formats (NV12_4L4, NV12_16L32S, NV12_8L128, - NV12_10BE_8L128) and dmabuf import in more formats (Y410, Y212_LE, - Y212_BE, Y210, NV21, NV61) - -- Improved support for tiled formats with arbitrary tile dimensions, - as needed by certain hardware decoders/encoders - -- glvideomixer: New “crop-left,”crop-right, “crop-top” and - “crop-bottom” pad properties for cropping inputs - -- OpenGL support for gst_video_sample_convert(): - - - Used for video snapshotting and thumbnailing, to convert buffers - retrieved from appsinks or sink “last-sample” properties in - JPG/PNG thumbnails. - - This function can now take samples and buffers backed by GL - textures as input and will automatically plug a gldownload - element in that case. - -High bit-depth support (10, 12, 16 bits per component value) improvements - -- compositor can now handle any supported input format and also mix - high-bitdepth (10-16 bit) formats (naively) - -- videoflip has gained support for higher bit depth formats. - -- vp9enc, vp9dec now support 12-bit formats and also 10-bit 4:4:4 - -WebRTC - -- Allow insertion of bandwidth estimation elements e.g. for Google - Congestion Control (GCC) support -
View file
gst-plugins-ugly-1.22.7.tar.xz/README.md -> gst-plugins-ugly-1.24.5.tar.xz/README.md
Changed
@@ -1,4 +1,4 @@ -GStreamer 1.22.x stable series +GStreamer 1.24.x stable series WHAT IT IS ---------- @@ -16,17 +16,17 @@ https://gstreamer.freedesktop.org/documentation/ -You can subscribe to our mailing lists: +You can ask questions on the GStreamer Discourse at - https://lists.freedesktop.org/mailman/listinfo/gstreamer-announce - - https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel + https://discourse.gstreamer.org/ We track bugs, feature requests and merge requests (patches) in GitLab at https://gitlab.freedesktop.org/gstreamer/ -You can join us on IRC - #gstreamer on irc.oftc.net +You can join us on our Matrix room at + + https://matrix.to/#/#gstreamer:gstreamer.org GStreamer 1.0 series --------------------
View file
gst-plugins-ugly-1.22.7.tar.xz/RELEASE -> gst-plugins-ugly-1.24.5.tar.xz/RELEASE
Changed
@@ -1,17 +1,17 @@ -This is GStreamer gst-plugins-ugly 1.22.7. +This is GStreamer gst-plugins-ugly 1.24.5. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! As always, this release is again packed with new features, bug fixes and other improvements. - -The 1.22 release series adds new features on top of the 1.20 series and is + +The 1.24 release series adds new features on top of the 1.22 series and is part of the API and ABI-stable 1.x release series. Full release notes can be found at: - https://gstreamer.freedesktop.org/releases/1.22/ + https://gstreamer.freedesktop.org/releases/1.24/ Binaries for Android, iOS, Mac OS X and Windows will usually be provided shortly after the release. @@ -44,10 +44,7 @@ - gstreamer-vaapi: hardware-accelerated video decoding and encoding using VA-API on Linux. Primarily for Intel graphics hardware. - - - gst-omx: hardware-accelerated video decoding and encoding, primarily for - embedded Linux systems that provide an OpenMax - implementation layer such as the Raspberry Pi. + (Deprecated, use the new "va" plugin instead) - gst-rtsp-server: library to serve files or streaming pipelines via RTSP @@ -80,14 +77,18 @@ for more details. -For help and support, please subscribe to and send questions to the -gstreamer-devel mailing list (see below for details). +For help and support, please head over to our Discourse forum at -There is also a #gstreamer IRC channel on the OFTC IRC network, which is -also bridged into the Matrix network. + https://discourse.gstreamer.org/ -Please do not submit support requests in GitLab, we only use it -for bug tracking and merge requests review. +or pop into one of our Matrix chat rooms, see + + https://discourse.gstreamer.org/t/new-gstreamer-matrix-chat-space/675 + +for more details. + +Please do not submit support requests in GitLab, we only use it for +bug tracking and merge requests review. Use the Discourse forum instead. ==== Developers ==== @@ -99,6 +100,9 @@ Merge Requests or file issues for bugs or feature requests. Interested developers of the core library, plugins, and applications should -subscribe to the gstreamer-devel list: +join us on Matrix for chat and the Discourse forum for announcements, help +and discussions. + +There is also a gstreamer-devel mailing list, but Discourse is preferred: https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
View file
gst-plugins-ugly-1.22.7.tar.xz/REQUIREMENTS -> gst-plugins-ugly-1.24.5.tar.xz/REQUIREMENTS
Changed
@@ -32,8 +32,6 @@ a52dec (for the a52dec AC-3 decoder) http://liba52.sourceforge.net/ -opencore-amr (for the AMR-NB decoder and encoder and the AMR-WB decoder) - http://sourceforge.net/projects/opencore-amr/ libdvdread (for the dvdreadsrc) http://www.dtek.chalmers.se/groups/dvd/ (optional: libcss for encrypted DVDs)
View file
gst-plugins-ugly-1.22.7.tar.xz/docs/gst_plugins_cache.json -> gst-plugins-ugly-1.24.5.tar.xz/docs/gst_plugins_cache.json
Changed
@@ -122,209 +122,6 @@ "tracers": {}, "url": "Unknown package origin" }, - "amrnb": { - "description": "Adaptive Multi-Rate Narrow-Band", - "elements": { - "amrnbdec": { - "author": "GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>", - "description": "Adaptive Multi-Rate Narrow-Band audio decoder", - "hierarchy": - "GstAmrnbDec", - "GstAudioDecoder", - "GstElement", - "GstObject", - "GInitiallyUnowned", - "GObject" - , - "klass": "Codec/Decoder/Audio", - "long-name": "AMR-NB audio decoder", - "pad-templates": { - "sink": { - "caps": "audio/AMR:\n rate: 8000\n channels: 1\n", - "direction": "sink", - "presence": "always" - }, - "src": { - "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n rate: 8000\n channels: 1\n", - "direction": "src", - "presence": "always" - } - }, - "properties": { - "variant": { - "blurb": "The decoder variant", - "conditionally-available": false, - "construct": true, - "construct-only": false, - "controllable": false, - "default": "IF1 (0)", - "mutable": "null", - "readable": true, - "type": "GstAmrnbVariant", - "writable": true - } - }, - "rank": "primary" - }, - "amrnbenc": { - "author": "Wim Taymans <wim.taymans@gmail.com>", - "description": "Adaptive Multi-Rate Narrow-Band audio encoder", - "hierarchy": - "GstAmrnbEnc", - "GstAudioEncoder", - "GstElement", - "GstObject", - "GInitiallyUnowned", - "GObject" - , - "interfaces": - "GstPreset" - , - "klass": "Codec/Encoder/Audio", - "long-name": "AMR-NB audio encoder", - "pad-templates": { - "sink": { - "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n rate: 8000\n channels: 1\n", - "direction": "sink", - "presence": "always" - }, - "src": { - "caps": "audio/AMR:\n rate: 8000\n channels: 1\n", - "direction": "src", - "presence": "always" - } - }, - "properties": { - "band-mode": { - "blurb": "Encoding Band Mode (Kbps)", - "conditionally-available": false, - "construct": true, - "construct-only": false, - "controllable": false, - "default": "MR122 (7)", - "mutable": "null", - "readable": true, - "type": "GstAmrnbEncBandMode", - "writable": true - } - }, - "rank": "secondary" - } - }, - "filename": "gstamrnb", - "license": "unknown", - "other-types": { - "GstAmrnbEncBandMode": { - "kind": "enum", - "values": - { - "desc": "MR475", - "name": "MR475", - "value": "0" - }, - { - "desc": "MR515", - "name": "MR515", - "value": "1" - }, - { - "desc": "MR59", - "name": "MR59", - "value": "2" - }, - { - "desc": "MR67", - "name": "MR67", - "value": "3" - }, - { - "desc": "MR74", - "name": "MR74", - "value": "4" - }, - { - "desc": "MR795", - "name": "MR795", - "value": "5" - }, - { - "desc": "MR102", - "name": "MR102", - "value": "6" - }, - { - "desc": "MR122", - "name": "MR122", - "value": "7" - }, - { - "desc": "MRDTX", - "name": "MRDTX", - "value": "8" - } - - }, - "GstAmrnbVariant": { - "kind": "enum", - "values": - { - "desc": "IF1", - "name": "IF1", - "value": "0" - }, - { - "desc": "IF2", - "name": "IF2", - "value": "1" - } - - } - }, - "package": "GStreamer Ugly Plug-ins", - "source": "gst-plugins-ugly", - "tracers": {}, - "url": "Unknown package origin" - }, - "amrwbdec": { - "description": "Adaptive Multi-Rate Wide-Band Decoder", - "elements": { - "amrwbdec": { - "author": "Renato Araujo <renato.filho@indt.org.br>", - "description": "Adaptive Multi-Rate Wideband audio decoder", - "hierarchy": - "GstAmrwbDec", - "GstAudioDecoder", - "GstElement", - "GstObject", - "GInitiallyUnowned", - "GObject" - , - "klass": "Codec/Decoder/Audio", - "long-name": "AMR-WB audio decoder", - "pad-templates": { - "sink": { - "caps": "audio/AMR-WB:\n rate: 16000\n channels: 1\n", - "direction": "sink", - "presence": "always" - }, - "src": { - "caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n rate: 16000\n channels: 1\n", - "direction": "src", - "presence": "always" - } - }, - "properties": {}, - "rank": "primary" - } - }, - "filename": "gstamrwbdec",
View file
gst-plugins-ugly-1.22.7.tar.xz/docs/meson.build -> gst-plugins-ugly-1.24.5.tar.xz/docs/meson.build
Changed
@@ -95,23 +95,25 @@ print(':'.join(json.load(f).keys()), end='') '''.format(plugins_cache), check: true) -foreach plugin_name: list_plugin_res.stdout().split(':') - plugins_doc += hotdoc.generate_doc(plugin_name, - project_version: api_version, - sitemap: 'sitemap.txt', - index: 'index.md', - gst_index: 'index.md', - gst_smart_index: true, - gst_c_sources: - join_paths(root_rel, 'sys/*/*.ch'), - join_paths(root_rel, 'ext/*/*.ch'), - join_paths(root_rel, 'gst/*/*.ch'), - , - gst_c_source_filters: excludes, - dependencies: gst_dep, - gst_order_generated_subpages: true, - disable_incremental_build: true, - gst_cache_file: plugins_cache, - gst_plugin_name: plugin_name, - ) -endforeach +cdir = meson.current_source_dir() +if host_machine.system() == 'windows' + pathsep = ';' +else + pathsep = ':' +endif +gst_plugins_doc = run_command( + plugins_cache_generator, + 'hotdoc-config', + '--builddir', meson.current_build_dir(), + '--project_version', api_version, + '--sitemap', cdir / 'sitemap.txt', + '--index', cdir / 'index.md', + '--gst_index', cdir / 'index.md', + '--gst_c_sources', + root_rel / 'sys/*/*.ch', + root_rel / 'ext/*/*.ch', + root_rel / 'gst/*/*.ch', + '--gst_c_source_filters', excludes, + '--gst_cache_file', plugins_cache, + check: true, +).stdout().split(pathsep)
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/meson.build -> gst-plugins-ugly-1.24.5.tar.xz/ext/meson.build
Changed
@@ -1,6 +1,4 @@ subdir('a52dec') -subdir('amrnb') -subdir('amrwbdec') subdir('cdio') subdir('dvdread') subdir('mpeg2dec')
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/mpeg2dec/gstmpeg2dec.c -> gst-plugins-ugly-1.24.5.tar.xz/ext/mpeg2dec/gstmpeg2dec.c
Changed
@@ -82,7 +82,7 @@ GstQuery * query); static void gst_mpeg2dec_clear_buffers (GstMpeg2dec * mpeg2dec); -static gboolean gst_mpeg2dec_crop_buffer (GstMpeg2dec * dec, +static GstFlowReturn gst_mpeg2dec_crop_buffer (GstMpeg2dec * dec, GstVideoCodecFrame * in_frame, GstVideoFrame * in_vframe); static void @@ -548,7 +548,7 @@ while ((l = g_list_first (mpeg2dec->buffers))) { GstMpeg2DecBuffer *mbuf = l->data; gst_video_frame_unmap (&mbuf->frame); - g_slice_free (GstMpeg2DecBuffer, mbuf); + g_free (mbuf); mpeg2dec->buffers = g_list_delete_link (mpeg2dec->buffers, l); } } @@ -561,7 +561,7 @@ GST_LOG_OBJECT (mpeg2dec, "Saving local info for frame %d", id); - mbuf = g_slice_new0 (GstMpeg2DecBuffer); + mbuf = g_new0 (GstMpeg2DecBuffer, 1); mbuf->id = id; mbuf->frame = *frame; @@ -585,7 +585,7 @@ if (l) { GstMpeg2DecBuffer *mbuf = l->data; gst_video_frame_unmap (&mbuf->frame); - g_slice_free (GstMpeg2DecBuffer, mbuf); + g_free (mbuf); mpeg2dec->buffers = g_list_delete_link (mpeg2dec->buffers, l); GST_LOG_OBJECT (mpeg2dec, "Discarded local info for frame %d", id); } else {
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/x264/gstx264enc.c -> gst-plugins-ugly-1.24.5.tar.xz/ext/x264/gstx264enc.c
Changed
@@ -113,6 +113,16 @@ GST_DEBUG_CATEGORY_STATIC (x264_enc_debug); #define GST_CAT_DEFAULT x264_enc_debug +enum AllowedSubsamplingFlags +{ + ALLOW_400_8 = 1 << 0, + ALLOW_420_8 = 1 << 1, + ALLOW_420_10 = 1 << 2, + ALLOW_422 = 1 << 4, + ALLOW_444 = 1 << 5, + ALLOW_ANY = 0xffff +}; + struct _GstX264EncVTable { GModule *module; @@ -210,8 +220,7 @@ static gboolean gst_x264_enc_add_x264_chroma_format (GstStructure * s, - gboolean allow_420_8, gboolean allow_420_10, gboolean allow_422, - gboolean allow_444) + enum AllowedSubsamplingFlags flags) { GValue fmts = G_VALUE_INIT; GValue fmt = G_VALUE_INIT; @@ -223,17 +232,20 @@ if (vtable_8bit) { gint chroma_format = *vtable_8bit->x264_chroma_format; - if ((chroma_format == 0 || chroma_format == X264_CSP_I444) && allow_444) { + if ((chroma_format == 0 || chroma_format == X264_CSP_I444) && + flags & ALLOW_444) { g_value_set_string (&fmt, "Y444"); gst_value_list_append_value (&fmts, &fmt); } - if ((chroma_format == 0 || chroma_format == X264_CSP_I422) && allow_422) { + if ((chroma_format == 0 || chroma_format == X264_CSP_I422) && + flags & ALLOW_422) { g_value_set_string (&fmt, "Y42B"); gst_value_list_append_value (&fmts, &fmt); } - if ((chroma_format == 0 || chroma_format == X264_CSP_I420) && allow_420_8) { + if ((chroma_format == 0 || chroma_format == X264_CSP_I420) && + flags & ALLOW_420_8) { g_value_set_string (&fmt, "I420"); gst_value_list_append_value (&fmts, &fmt); g_value_set_string (&fmt, "YV12"); @@ -241,12 +253,19 @@ g_value_set_string (&fmt, "NV12"); gst_value_list_append_value (&fmts, &fmt); } + + if ((chroma_format == 0 || chroma_format == X264_CSP_I400) && + flags & ALLOW_400_8) { + g_value_set_string (&fmt, "GRAY8"); + gst_value_list_append_value (&fmts, &fmt); + } } if (vtable_10bit) { gint chroma_format = *vtable_10bit->x264_chroma_format; - if ((chroma_format == 0 || chroma_format == X264_CSP_I444) && allow_444) { + if ((chroma_format == 0 || chroma_format == X264_CSP_I444) && + flags & ALLOW_444) { if (G_BYTE_ORDER == G_LITTLE_ENDIAN) g_value_set_string (&fmt, "Y444_10LE"); else @@ -255,7 +274,8 @@ gst_value_list_append_value (&fmts, &fmt); } - if ((chroma_format == 0 || chroma_format == X264_CSP_I422) && allow_422) { + if ((chroma_format == 0 || chroma_format == X264_CSP_I422) && + flags & ALLOW_422) { if (G_BYTE_ORDER == G_LITTLE_ENDIAN) g_value_set_string (&fmt, "I422_10LE"); else @@ -264,7 +284,8 @@ gst_value_list_append_value (&fmts, &fmt); } - if ((chroma_format == 0 || chroma_format == X264_CSP_I420) && allow_420_10) { + if ((chroma_format == 0 || chroma_format == X264_CSP_I420) && + flags & ALLOW_420_10) { if (G_BYTE_ORDER == G_LITTLE_ENDIAN) g_value_set_string (&fmt, "I420_10LE"); else @@ -785,20 +806,20 @@ } static void -check_formats (const gchar * str, gboolean * has_420_8, gboolean * has_420_10, - gboolean * has_422, gboolean * has_444) +check_formats (const gchar * str, enum AllowedSubsamplingFlags *flags) { if (g_str_has_prefix (str, "high-4:4:4")) - *has_444 = TRUE; + *flags |= ALLOW_444; else if (g_str_has_prefix (str, "high-4:2:2")) - *has_422 = TRUE; + *flags |= ALLOW_422; else if (g_str_has_prefix (str, "high-10")) - *has_420_10 = TRUE; + *flags |= ALLOW_420_10; + else if (g_str_has_prefix (str, "high")) + *flags |= ALLOW_420_8 | ALLOW_400_8; else - *has_420_8 = TRUE; + *flags |= ALLOW_420_8; } - /* allowed input caps depending on whether libx264 was built for 8 or 10 bits */ static GstCaps * gst_x264_enc_sink_getcaps (GstVideoEncoder * enc, GstCaps * filter) @@ -853,26 +874,20 @@ gst_structure_set_value (s, "chroma-site", val); if ((val = gst_structure_get_value (allowed_s, "profile"))) { - gboolean has_420_8 = FALSE; - gboolean has_420_10 = FALSE; - gboolean has_422 = FALSE; - gboolean has_444 = FALSE; + enum AllowedSubsamplingFlags flags = 0; if (G_VALUE_HOLDS_STRING (val)) { - check_formats (g_value_get_string (val), &has_420_8, &has_420_10, - &has_422, &has_444); + check_formats (g_value_get_string (val), &flags); } else if (GST_VALUE_HOLDS_LIST (val)) { for (k = 0; k < gst_value_list_get_size (val); k++) { const GValue *vlist = gst_value_list_get_value (val, k); if (G_VALUE_HOLDS_STRING (vlist)) - check_formats (g_value_get_string (vlist), &has_420_8, - &has_420_10, &has_422, &has_444); + check_formats (g_value_get_string (vlist), &flags); } } - gst_x264_enc_add_x264_chroma_format (s, has_420_8, has_420_10, has_422, - has_444); + gst_x264_enc_add_x264_chroma_format (s, flags); } filter_caps = gst_caps_merge_structure (filter_caps, s); @@ -1211,7 +1226,7 @@ "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, NULL); gst_x264_enc_add_x264_chroma_format (gst_caps_get_structure - (supported_sinkcaps, 0), TRUE, TRUE, TRUE, TRUE); + (supported_sinkcaps, 0), ALLOW_ANY); sink_templ = gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, supported_sinkcaps); @@ -1346,7 +1361,7 @@ if (!gst_video_frame_map (&vframe, info, frame->input_buffer, GST_MAP_READ)) return NULL; - fdata = g_slice_new (FrameData); + fdata = g_new (FrameData, 1); fdata->frame = gst_video_codec_frame_ref (frame); fdata->vframe = vframe; @@ -1368,7 +1383,7 @@ gst_video_frame_unmap (&fdata->vframe); gst_video_codec_frame_unref (fdata->frame); - g_slice_free (FrameData, fdata); + g_free (fdata); enc->pending_frames = g_list_delete_link (enc->pending_frames, l); return; @@ -1385,7 +1400,7 @@ gst_video_frame_unmap (&fdata->vframe); gst_video_codec_frame_unref (fdata->frame); - g_slice_free (FrameData, fdata); + g_free (fdata); } g_list_free (enc->pending_frames); enc->pending_frames = NULL; @@ -1517,6 +1532,10 @@ gst_x264_enc_gst_to_x264_video_format (GstVideoFormat format, gint * nplanes) { switch (format) { + case GST_VIDEO_FORMAT_GRAY8: + if (nplanes) + *nplanes = 1; + return X264_CSP_I400; case GST_VIDEO_FORMAT_I420: case GST_VIDEO_FORMAT_YV12: if (nplanes) @@ -2332,7 +2351,13 @@ if (info->finfo->format == old->finfo->format
View file
gst-plugins-ugly-1.22.7.tar.xz/ext/x264/meson.build -> gst-plugins-ugly-1.24.5.tar.xz/ext/x264/meson.build
Changed
@@ -8,7 +8,7 @@ 'gstencoderbitrateprofilemanager.c', -x264_dep = dependency('x264', required : x264_opt, +x264_dep = dependency('x264', version : '>=0.156', required : x264_opt, fallback: 'x264', 'libx264_dep') if x264_dep.found()
View file
gst-plugins-ugly-1.22.7.tar.xz/gst-plugins-ugly.doap -> gst-plugins-ugly-1.24.5.tar.xz/gst-plugins-ugly.doap
Changed
@@ -35,71 +35,91 @@ <release> <Version> - <revision>1.22.7</revision> - <branch>1.22</branch> + <revision>1.24.5</revision> + <branch>1.24</branch> <name></name> - <created>2023-11-13</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.7.tar.xz" /> + <created>2024-06-20</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.5.tar.xz" /> </Version> </release> <release> <Version> - <revision>1.22.6</revision> - <branch>1.22</branch> + <revision>1.24.4</revision> + <branch>1.24</branch> <name></name> - <created>2023-09-20</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.6.tar.xz" /> + <created>2024-05-29</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.4.tar.xz" /> </Version> </release> <release> <Version> - <revision>1.22.5</revision> - <branch>1.22</branch> + <revision>1.24.3</revision> + <branch>1.24</branch> <name></name> - <created>2023-07-20</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.5.tar.xz" /> + <created>2024-04-30</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.3.tar.xz" /> </Version> </release> <release> <Version> - <revision>1.22.4</revision> - <branch>1.22</branch> + <revision>1.24.2</revision> + <branch>1.24</branch> <name></name> - <created>2023-06-20</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.4.tar.xz" /> + <created>2024-04-09</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.2.tar.xz" /> </Version> </release> <release> <Version> - <revision>1.22.3</revision> - <branch>1.22</branch> + <revision>1.24.1</revision> + <branch>1.24</branch> <name></name> - <created>2023-05-19</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.3.tar.xz" /> + <created>2024-03-21</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.1.tar.xz" /> </Version> </release> <release> <Version> - <revision>1.22.2</revision> - <branch>1.22</branch> + <revision>1.24.0</revision> + <branch>main</branch> + <name></name> + <created>2024-03-04</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.0.tar.xz" /> + </Version> + </release> + + <release> + <Version> + <revision>1.23.90</revision> + <branch>main</branch> <name></name> - <created>2023-04-11</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.2.tar.xz" /> + <created>2024-02-23</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.23.90.tar.xz" /> </Version> </release> <release> <Version> - <revision>1.22.1</revision> - <branch>1.22</branch> + <revision>1.23.2</revision> + <branch>main</branch> + <name></name> + <created>2024-02-15</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.23.2.tar.xz" /> + </Version> + </release> + + <release> + <Version> + <revision>1.23.1</revision> + <branch>main</branch> <name></name> - <created>2023-03-04</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.1.tar.xz" /> + <created>2024-02-06</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.23.1.tar.xz" /> </Version> </release>
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/asfdemux/gstasfdemux.c -> gst-plugins-ugly-1.24.5.tar.xz/gst/asfdemux/gstasfdemux.c
Changed
@@ -3042,7 +3042,7 @@ flags = gst_asf_demux_get_uint16 (&data, &size); stream_id = flags & 0x7f; - is_encrypted = ! !(flags & 0x8000); + is_encrypted = !!(flags & 0x8000); unknown = gst_asf_demux_get_uint32 (&data, &size); GST_DEBUG_OBJECT (demux, "Found stream %u, time_offset=%" GST_TIME_FORMAT, @@ -3759,8 +3759,8 @@ max_pktsize = gst_asf_demux_get_uint32 (&data, &size); min_bitrate = gst_asf_demux_get_uint32 (&data, &size); - demux->broadcast = ! !(flags & 0x01); - demux->seekable = ! !(flags & 0x02); + demux->broadcast = !!(flags & 0x01); + demux->seekable = !!(flags & 0x02); GST_DEBUG_OBJECT (demux, "min_pktsize = %u", min_pktsize); GST_DEBUG_OBJECT (demux, "flags::broadcast = %d", demux->broadcast);
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/asfdemux/gstrtpasfdepay.c -> gst-plugins-ugly-1.24.5.tar.xz/gst/asfdemux/gstrtpasfdepay.c
Changed
@@ -104,6 +104,9 @@ static void gst_rtp_asf_depay_init (GstRtpAsfDepay * depay) { + gst_rtp_base_depayload_set_aggregate_hdrext_enabled (GST_RTP_BASE_DEPAYLOAD + (depay), TRUE); + depay->adapter = gst_adapter_new (); } @@ -335,6 +338,7 @@ GstRtpAsfDepay *depay; const guint8 *payload; GstBuffer *outbuf; + GstBufferList *outbufs = NULL; gboolean S, L, R, D, I; guint payload_len, hdr_len, offset; guint len_offs; @@ -359,6 +363,7 @@ GST_LOG_OBJECT (depay, "got payload len of %u", payload_len); + outbufs = gst_buffer_list_new (); do { guint packet_len; @@ -473,9 +478,12 @@ gst_rtp_buffer_get_payload_subbuffer (&rtpbuf, offset, packet_len); } - /* If we haven't completed a full ASF packet, return */ - if (!outbuf) + /* If we haven't completed a full ASF packet, return but first + push what we have so far */ + if (!outbuf) { + gst_rtp_base_depayload_push_list (depayload, outbufs); return NULL; + } outbuf = gst_rtp_asf_depay_update_padding (depay, outbuf); @@ -490,7 +498,7 @@ GST_BUFFER_TIMESTAMP (outbuf) = timestamp; - gst_rtp_base_depayload_push (depayload, outbuf); + gst_buffer_list_add (outbufs, outbuf); /* only apply the timestamp to the first buffer of this packet */ timestamp = -1; @@ -501,6 +509,8 @@ payload_len -= packet_len; } while (payload_len > 0); + gst_rtp_base_depayload_push_list (depayload, outbufs); + gst_rtp_buffer_unmap (&rtpbuf); return NULL; @@ -511,6 +521,12 @@ gst_rtp_buffer_unmap (&rtpbuf); GST_WARNING_OBJECT (depayload, "Payload too small, expected at least 4 " "bytes for header, but got only %d bytes", payload_len); + if (gst_buffer_list_length (outbufs) == 0) { + gst_rtp_base_depayload_dropped (depayload); + gst_buffer_list_unref (outbufs); + } else { + gst_rtp_base_depayload_push_list (depayload, outbufs); + } return NULL; } }
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/meson.build -> gst-plugins-ugly-1.24.5.tar.xz/gst/realmedia/meson.build
Changed
@@ -2,14 +2,6 @@ 'rademux.c', 'rmdemux.c', 'rmutils.c', - 'rdtdepay.c', - 'rdtmanager.c', - 'rtspreal.c', - 'realhash.c', - 'asmrules.c', - 'rdtjitterbuffer.c', - 'gstrdtbuffer.c', - 'pnmsrc.c', 'realmedia.c'
View file
gst-plugins-ugly-1.22.7.tar.xz/gst/realmedia/realmedia.c -> gst-plugins-ugly-1.24.5.tar.xz/gst/realmedia/realmedia.c
Changed
@@ -23,10 +23,6 @@ #include "rmdemux.h" #include "rademux.h" -#include "rdtdepay.h" -#include "rdtmanager.h" -#include "rtspreal.h" -#include "pnmsrc.h" static gboolean plugin_init (GstPlugin * plugin) @@ -35,10 +31,6 @@ ret |= GST_ELEMENT_REGISTER (rmdemux, plugin); ret |= GST_ELEMENT_REGISTER (rademux, plugin); - ret |= GST_ELEMENT_REGISTER (rdtdepay, plugin); - ret |= GST_ELEMENT_REGISTER (rdtmanager, plugin); - ret |= GST_ELEMENT_REGISTER (rtspreal, plugin); - ret |= GST_ELEMENT_REGISTER (pnmsrc, plugin); return ret; }
View file
gst-plugins-ugly-1.22.7.tar.xz/meson.build -> gst-plugins-ugly-1.24.5.tar.xz/meson.build
Changed
@@ -1,6 +1,6 @@ project('gst-plugins-ugly', 'c', - version : '1.22.7', - meson_version : '>= 0.62', + version : '1.24.5', + meson_version : '>= 1.1', default_options : 'warning_level=1', 'buildtype=debugoptimized' ) @@ -19,7 +19,7 @@ have_cxx = add_languages('cpp', native: false, required: false) -glib_req = '>= 2.62.0' +glib_req = '>= 2.64.0' if gst_version_is_stable gst_req = '>= @0@.@1@.0'.format(gst_version_major, gst_version_minor) @@ -66,8 +66,6 @@ '/we4053', # one void operand for '?:' '/we4062', # enumerator 'identifier' in switch of enum 'enumeration' is not handled '/we4098', # 'function' : void function returning a value - '/we4101', # 'identifier' : unreferenced local variable - '/we4189', # 'identifier' : local variable is initialized but not referenced ) endif if have_cxx @@ -220,13 +218,28 @@ if gst_debug_disabled message('GStreamer debug system is disabled') - if cc.has_argument('-Wno-unused') - add_project_arguments('-Wno-unused', language: 'c') - endif - if have_cxx and cxx.has_argument ('-Wno-unused') - add_project_arguments('-Wno-unused', language: 'cpp') + if cc.get_argument_syntax() == 'msvc' + msvc_args = cc.get_supported_arguments( + '/wd4101', # 'identifier' : unreferenced local variable + '/wd4189', # 'identifier' : local variable is initialized but not referenced + ) + add_project_arguments(msvc_args, language: 'c', 'cpp') + else + if cc.has_argument('-Wno-unused') + add_project_arguments('-Wno-unused', language: 'c') + endif + if have_cxx and cxx.has_argument ('-Wno-unused') + add_project_arguments('-Wno-unused', language: 'cpp') + endif endif else + if cc.get_argument_syntax() == 'msvc' and gst_version_is_dev + msvc_args = cc.get_supported_arguments( + '/we4101', # 'identifier' : unreferenced local variable + '/we4189', # 'identifier' : local variable is initialized but not referenced + ) + add_project_arguments(msvc_args, language: 'c', 'cpp') + endif message('GStreamer debug system is enabled') endif @@ -329,7 +342,7 @@ configure_file(output : 'config.h', configuration : cdata) -meson.add_dist_script('scripts/gen-changelog.py', meson.project_name(), '1.20.0', meson.project_version()) +meson.add_dist_script('scripts/gen-changelog.py', meson.project_name(), '1.22.0', meson.project_version()) plugin_names = gst_plugins =
View file
gst-plugins-ugly-1.22.7.tar.xz/meson_options.txt -> gst-plugins-ugly-1.24.5.tar.xz/meson_options.txt
Changed
@@ -9,8 +9,6 @@ # Feature options for plugins that need external deps option('a52dec', type : 'feature', value : 'auto', description : 'Dolby Digital (AC-3) audio decoder plugin based on liba52 (GPL - only built if gpl option is also enabled!)') -option('amrnb', type : 'feature', value : 'auto', description : 'Adaptive Multi-Rate Narrow-Band audio codec plugin') -option('amrwbdec', type : 'feature', value : 'auto', description : 'Adaptive Multi-Rate Wide-Band audio decoder plugin') option('cdio', type : 'feature', value : 'auto', description : 'CD audio source plugin based on libcdio (GPL - only built if gpl option is also enabled!)') option('dvdread', type : 'feature', value : 'auto', description : 'DVD video source plugin based on libdvdread (GPL - only built if gpl option is also enabled!)') option('mpeg2dec', type : 'feature', value : 'auto', description : 'MPEG 2 video decoder plugin based on libmpeg2 (GPL - only built if gpl option is also enabled!)')
View file
gst-plugins-ugly-1.22.7.tar.xz/po/gst-plugins-ugly-1.0.pot -> gst-plugins-ugly-1.24.5.tar.xz/po/gst-plugins-ugly-1.0.pot
Changed
@@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gst-plugins-ugly-1.22.7\n" +"Project-Id-Version: gst-plugins-ugly-1.24.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-13 11:08+0000\n" +"POT-Creation-Date: 2024-06-20 12:55+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
View file
gst-plugins-ugly-1.22.7.tar.xz/po/gst-plugins-ugly.pot -> gst-plugins-ugly-1.24.5.tar.xz/po/gst-plugins-ugly.pot
Changed
@@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gst-plugins-ugly-1.22.7\n" +"Project-Id-Version: gst-plugins-ugly-1.24.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-13 11:08+0000\n" +"POT-Creation-Date: 2024-06-20 12:55+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
View file
gst-plugins-ugly-1.22.7.tar.xz/po/lv.po -> gst-plugins-ugly-1.24.5.tar.xz/po/lv.po
Changed
@@ -3,50 +3,50 @@ # Arvis Lācis <arvis.lacis@inbox.lv>, 2009. # Rihards Prieditis <rprieditis@gmail.com>, 2011. # Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2014. +# Rihards Prieditis <rprieditis@gmail.com>, 2023. msgid "" msgstr "" -"Project-Id-Version: gst-plugins-ugly 1.2.1\n" +"Project-Id-Version: gst-plugins-ugly 1.21.90\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-25 01:02+0100\n" -"PO-Revision-Date: 2014-04-20 16:24+0300\n" -"Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n" +"POT-Creation-Date: 2023-01-13 19:11+0000\n" +"PO-Revision-Date: 2023-12-24 15:38+0000\n" +"Last-Translator: Rihards Priedītis <rprieditis@gmail.com>\n" "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n" "Language: lv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==0 || (n%100>=11 && n%100<=19) ? 0 : " +"n%10==1 && n%100!=11 ? 1 : 2);\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " -"2);\n" -"X-Generator: Lokalize 1.5\n" +"X-Generator: Poedit 3.4.2\n" msgid "Could not read from CD." -msgstr "Nevarēja nolasīt no CD." +msgstr "Nevar nolasīt no CD." msgid "Could not open CD device for reading." -msgstr "Nevarēja atvērt CD ierīci lasīšanai." +msgstr "Nevar atvērt CD ierīci lasīšanai." msgid "Disc is not an Audio CD." msgstr "Disks nav Audio CD." msgid "Could not open DVD" -msgstr "Nevarēja atvērt DVD" +msgstr "Nevar atvērt DVD" #, c-format msgid "Could not open DVD title %d" -msgstr "Nevarēja atvērt DVD nosaukumu %d" +msgstr "Nevar atvērt DVD sadaļu %d" #, c-format msgid "Failed to go to chapter %d of DVD title %d" -msgstr "Neizdevās pāriet uz %d nodaļu DVD nosaukumā %d" +msgstr "Neizdevās pāriet uz %d nodaļu DVD sadaļā %d" #, c-format msgid "" "Could not open DVD title %d. Interactive titles are not supported by this " "element" msgstr "" -"Nevarēja atvērt DVD nosaukumu %d. Šis elements nenodrošina interaktīvos " -"nosaukumus." +"Nevar atvērt DVD sadaļu %d. Šis elements neatbalsta interaktīvus nosaukumus" msgid "" "Could not read DVD. This may be because the DVD is encrypted and a DVD " @@ -56,10 +56,10 @@ "bibliotēka nav instalēta." msgid "Could not read DVD." -msgstr "Nevarēja nolasīt DVD." +msgstr "Nevar nolasīt DVD." msgid "This stream contains no data." -msgstr "Šī straume nesatur datus." +msgstr "Šajā plūsmā nav datu." #~ msgid "" #~ "Failed to configure LAME mp3 audio encoder. Check your encoding " @@ -68,7 +68,6 @@ #~ "Neizdevās konfigurēt LAME mp3 audio kodētāju. Pārbaudiet savus kodēšanas " #~ "parametrus." -#, c-format #~ msgid "" #~ "The requested bitrate %d kbit/s for property '%s' is not allowed. The " #~ "bitrate was changed to %d kbit/s."
View file
gst-plugins-ugly-1.22.7.tar.xz/scripts/gen-changelog.py -> gst-plugins-ugly-1.24.5.tar.xz/scripts/gen-changelog.py
Changed
@@ -29,7 +29,6 @@ 'gst-editing-services': 'ee8bf88ebf131cf7c7161356540efc20bf411e14', 'gst-python': 'b3e564eff577e2f577d795051bbcca85d47c89dc', 'gstreamer-vaapi': 'c89e9afc5d43837c498a55f8f13ddf235442b83b', - 'gst-omx': 'd2463b017f222e678978582544a9c9a80edfd330', 'gst-devtools': 'da962d096af9460502843e41b7d25fdece7ff1c2', 'gstreamer-sharp': 'b94528f8e7979df49fedf137dfa228d8fe475e1b', }
View file
gst-plugins-ugly-1.22.7.tar.xz/tests/check/elements/x264enc.c -> gst-plugins-ugly-1.24.5.tar.xz/tests/check/elements/x264enc.c
Changed
@@ -148,6 +148,11 @@ fail_unless (!strcmp (caps_profile, profile)); } +static const GstVideoFormat formats_420_8_and_400_8 = + { GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_NV12, + GST_VIDEO_FORMAT_GRAY8, GST_VIDEO_FORMAT_UNKNOWN +}; + static const GstVideoFormat formats_420_8 = { GST_VIDEO_FORMAT_I420, GST_VIDEO_FORMAT_YV12, GST_VIDEO_FORMAT_NV12, GST_VIDEO_FORMAT_UNKNOWN @@ -358,8 +363,8 @@ { gint i; - for (i = 0; formats_420_8i != GST_VIDEO_FORMAT_UNKNOWN; i++) - test_video_profile ("high", 0x64, formats_420_8, i); + for (i = 0; formats_420_8_and_400_8i != GST_VIDEO_FORMAT_UNKNOWN; i++) + test_video_profile ("high", 0x64, formats_420_8_and_400_8, i); } GST_END_TEST;
View file
gst-plugins-ugly-1.22.7.tar.xz/tests/check/gst-plugins-ugly.supp -> gst-plugins-ugly-1.24.5.tar.xz/tests/check/gst-plugins-ugly.supp
Changed
@@ -1,190 +0,0 @@ -### amrnb suppressions -### these should/could be submitted to amrnb - -{ - <amrnb> - Memcheck:Cond - fun:Encoder_Interface_Encode - fun:gst_amrnbenc_chain - fun:gst_pad_chain - fun:gst_pad_push -} - -{ - <amrnb> - Memcheck:Cond - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode - fun:gst_amrnbenc_chain - fun:gst_pad_chain - fun:gst_pad_push -} - -{ - <amrnb> - Memcheck:Cond - obj:/usr/lib/libamrnb.so* - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode - fun:gst_amrnbenc_chain - fun:gst_pad_chain - fun:gst_pad_push -} - -{ - <amrnb> - Memcheck:Cond - obj:/usr/lib/libamrnb.so* - obj:/usr/lib/libamrnb.so* - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode - fun:gst_amrnbenc_chain - fun:gst_pad_chain - fun:gst_pad_push -} - -{ - <amrnb> - Memcheck:Cond - obj:/usr/lib/libamrnb.so* - obj:/usr/lib/libamrnb.so* - obj:/usr/lib/libamrnb.so* - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode - fun:gst_amrnbenc_chain - fun:gst_pad_chain - fun:gst_pad_push -} - -{ - <amrnb acos> - Memcheck:Cond - fun:acos - obj:/usr/lib/libamrnb.so* - obj:/usr/lib/libamrnb.so* - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode - fun:gst_amrnbenc_chain - fun:gst_pad_chain - fun:gst_pad_push -} - -{ - <AMR encoder> - Memcheck:Cond - fun:Levinson - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} - -{ - <AMR encoder> - Memcheck:Cond - fun:Az_lsp - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} - -{ - <AMR encoder> - Memcheck:Cond - fun:acos - fun:Lsp_lsf - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} - -{ - <AMR encoder> - Memcheck:Cond - fun:Lsf_wt - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} -{ - <AMR encoder> - Memcheck:Cond - fun:Vq_subvec - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} - -{ - <AMR encoder> - Memcheck:Cond - fun:Lag_max - fun:Pitch_ol - fun:ol_ltp - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} - -{ - <AMR encoder> - Memcheck:Cond - fun:Pitch_ol - fun:ol_ltp - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} - -{ - <AMR encoder> - Memcheck:Cond - fun:cl_ltp - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} - -{ - <AMR encoder> - Memcheck:Cond - fun:searchFrac - fun:cl_ltp - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} - -{ - <AMR encoder> - Memcheck:Cond - fun:q_gain_pitch - fun:cl_ltp - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} - -{ - <AMR encoder> - Memcheck:Cond - fun:set_sign12k2 - fun:code_10i40_35bits - fun:cbsearch - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} - -{ - <AMR encoder> - Memcheck:Cond - fun:code_10i40_35bits - fun:cbsearch - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} - -{ - <AMR encoder> - Memcheck:Cond - fun:gainQuant - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -} - -{ - <AMR encoder on FC4> - Memcheck:Value2 - obj:/usr/lib/libamrnb.so.0.0.0 - fun:Speech_Encode_Frame - fun:Encoder_Interface_Encode -}
View file
gst-plugins-ugly-1.22.7.tar.xz/tests/check/meson.build -> gst-plugins-ugly-1.24.5.tar.xz/tests/check/meson.build
Changed
@@ -7,16 +7,16 @@ # FIXME: unistd dependency or not tested yet on windows if host_machine.system() != 'windows' ugly_tests += - 'elements/amrnbenc', not amrnb_dep.found() , 'elements/mpeg2dec', not mpeg2_dep.found() or not cdata.has('HAVE_UNISTD_H'), gstvideo_dep , endif +fsmod = import('fs') test_defines = '-UG_DISABLE_ASSERT', '-UG_DISABLE_CAST_CHECKS', '-DGST_CHECK_TEST_ENVIRONMENT_BEACON="GST_PLUGIN_LOADING_WHITELIST"', - '-DGST_TEST_FILES_PATH="' + meson.current_source_dir() + '/../files"', + '-DGST_TEST_FILES_PATH="' + fsmod.as_posix(meson.current_source_dir()) + '/../files"', '-DGST_USE_UNSTABLE_API',
View file
gst-plugins-ugly-1.22.7.tar.xz/tests/meson.build -> gst-plugins-ugly-1.24.5.tar.xz/tests/meson.build
Changed
@@ -1,3 +1,7 @@ -if not get_option('tests').disabled() and gstcheck_dep.found() +if get_option('tests').disabled() or static_build + subdir_done() +endif + +if gstcheck_dep.found() subdir('check') endif
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.