mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-26 00:58:12 +00:00
ext/mpeg2dec/gstmpeg2dec.*: Fix compilation with --disable-index. Fixes bug #554150.
Original commit message from CVS: Patch by: Sameer Naik <sameer dot subscriptions at damagehead dot com> * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_class_init), (handle_slice), (gst_mpeg2dec_sink_event), (gst_mpeg2dec_src_event): * ext/mpeg2dec/gstmpeg2dec.h: Fix compilation with --disable-index. Fixes bug #554150.
This commit is contained in:
parent
ffc4369fb5
commit
c9da8b4d0c
3 changed files with 27 additions and 1 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
2008-09-28 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||||
|
|
||||||
|
Patch by: Sameer Naik <sameer dot subscriptions at damagehead dot com>
|
||||||
|
|
||||||
|
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_class_init),
|
||||||
|
(handle_slice), (gst_mpeg2dec_sink_event),
|
||||||
|
(gst_mpeg2dec_src_event):
|
||||||
|
* ext/mpeg2dec/gstmpeg2dec.h:
|
||||||
|
Fix compilation with --disable-index. Fixes bug #554150.
|
||||||
|
|
||||||
2008-09-28 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
2008-09-28 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||||
|
|
||||||
Patch by: Sameer Naik <sameer dot subscriptions at damagehead dot com>
|
Patch by: Sameer Naik <sameer dot subscriptions at damagehead dot com>
|
||||||
|
|
|
@ -95,8 +95,11 @@ static void gst_mpeg2dec_set_property (GObject * object, guint prop_id,
|
||||||
const GValue * value, GParamSpec * pspec);
|
const GValue * value, GParamSpec * pspec);
|
||||||
static void gst_mpeg2dec_get_property (GObject * object, guint prop_id,
|
static void gst_mpeg2dec_get_property (GObject * object, guint prop_id,
|
||||||
GValue * value, GParamSpec * pspec);
|
GValue * value, GParamSpec * pspec);
|
||||||
|
|
||||||
|
#ifndef GST_DISABLE_INDEX
|
||||||
static void gst_mpeg2dec_set_index (GstElement * element, GstIndex * index);
|
static void gst_mpeg2dec_set_index (GstElement * element, GstIndex * index);
|
||||||
static GstIndex *gst_mpeg2dec_get_index (GstElement * element);
|
static GstIndex *gst_mpeg2dec_get_index (GstElement * element);
|
||||||
|
#endif
|
||||||
|
|
||||||
static gboolean gst_mpeg2dec_src_event (GstPad * pad, GstEvent * event);
|
static gboolean gst_mpeg2dec_src_event (GstPad * pad, GstEvent * event);
|
||||||
static const GstQueryType *gst_mpeg2dec_get_src_query_types (GstPad * pad);
|
static const GstQueryType *gst_mpeg2dec_get_src_query_types (GstPad * pad);
|
||||||
|
@ -193,8 +196,10 @@ gst_mpeg2dec_class_init (GstMpeg2decClass * klass)
|
||||||
gobject_class->finalize = gst_mpeg2dec_finalize;
|
gobject_class->finalize = gst_mpeg2dec_finalize;
|
||||||
|
|
||||||
gstelement_class->change_state = gst_mpeg2dec_change_state;
|
gstelement_class->change_state = gst_mpeg2dec_change_state;
|
||||||
|
#ifndef GST_DISABLE_INDEX
|
||||||
gstelement_class->set_index = gst_mpeg2dec_set_index;
|
gstelement_class->set_index = gst_mpeg2dec_set_index;
|
||||||
gstelement_class->get_index = gst_mpeg2dec_get_index;
|
gstelement_class->get_index = gst_mpeg2dec_get_index;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -281,6 +286,7 @@ gst_mpeg2dec_qos_reset (GstMpeg2dec * mpeg2dec)
|
||||||
GST_OBJECT_UNLOCK (mpeg2dec);
|
GST_OBJECT_UNLOCK (mpeg2dec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef GST_DISABLE_INDEX
|
||||||
static void
|
static void
|
||||||
gst_mpeg2dec_set_index (GstElement * element, GstIndex * index)
|
gst_mpeg2dec_set_index (GstElement * element, GstIndex * index)
|
||||||
{
|
{
|
||||||
|
@ -298,6 +304,7 @@ gst_mpeg2dec_get_index (GstElement * element)
|
||||||
|
|
||||||
return mpeg2dec->index;
|
return mpeg2dec->index;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* see gst-plugins/gst/games/gstvideoimage.c, paint_setup_I420() */
|
/* see gst-plugins/gst/games/gstvideoimage.c, paint_setup_I420() */
|
||||||
#define I420_Y_ROWSTRIDE(width) (GST_ROUND_UP_4(width))
|
#define I420_Y_ROWSTRIDE(width) (GST_ROUND_UP_4(width))
|
||||||
|
@ -917,12 +924,14 @@ handle_slice (GstMpeg2dec * mpeg2dec, const mpeg2_info_t * info)
|
||||||
picture->nb_fields, GST_BUFFER_OFFSET (outbuf),
|
picture->nb_fields, GST_BUFFER_OFFSET (outbuf),
|
||||||
GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (outbuf)));
|
GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (outbuf)));
|
||||||
|
|
||||||
|
#ifndef GST_DISABLE_INDEX
|
||||||
if (mpeg2dec->index) {
|
if (mpeg2dec->index) {
|
||||||
gst_index_add_association (mpeg2dec->index, mpeg2dec->index_id,
|
gst_index_add_association (mpeg2dec->index, mpeg2dec->index_id,
|
||||||
(key_frame ? GST_ASSOCIATION_FLAG_KEY_UNIT : 0),
|
(key_frame ? GST_ASSOCIATION_FLAG_KEY_UNIT : 0),
|
||||||
GST_FORMAT_BYTES, GST_BUFFER_OFFSET (outbuf),
|
GST_FORMAT_BYTES, GST_BUFFER_OFFSET (outbuf),
|
||||||
GST_FORMAT_TIME, GST_BUFFER_TIMESTAMP (outbuf), 0);
|
GST_FORMAT_TIME, GST_BUFFER_TIMESTAMP (outbuf), 0);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (picture->flags & PIC_FLAG_SKIP)
|
if (picture->flags & PIC_FLAG_SKIP)
|
||||||
goto skip;
|
goto skip;
|
||||||
|
@ -1261,9 +1270,11 @@ gst_mpeg2dec_sink_event (GstPad * pad, GstEvent * event)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GST_EVENT_EOS:
|
case GST_EVENT_EOS:
|
||||||
|
#ifndef GST_DISABLE_INDEX
|
||||||
if (mpeg2dec->index && mpeg2dec->closed) {
|
if (mpeg2dec->index && mpeg2dec->closed) {
|
||||||
gst_index_commit (mpeg2dec->index, mpeg2dec->index_id);
|
gst_index_commit (mpeg2dec->index, mpeg2dec->index_id);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
ret = gst_pad_push_event (mpeg2dec->srcpad, event);
|
ret = gst_pad_push_event (mpeg2dec->srcpad, event);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1526,6 +1537,7 @@ gst_mpeg2dec_get_event_masks (GstPad * pad)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef GST_DISABLE_INDEX
|
||||||
static gboolean
|
static gboolean
|
||||||
index_seek (GstPad * pad, GstEvent * event)
|
index_seek (GstPad * pad, GstEvent * event)
|
||||||
{
|
{
|
||||||
|
@ -1592,7 +1604,7 @@ index_seek (GstPad * pad, GstEvent * event)
|
||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
normal_seek (GstPad * pad, GstEvent * event)
|
normal_seek (GstPad * pad, GstEvent * event)
|
||||||
|
@ -1678,9 +1690,11 @@ gst_mpeg2dec_src_event (GstPad * pad, GstEvent * event)
|
||||||
case GST_EVENT_SEEK:{
|
case GST_EVENT_SEEK:{
|
||||||
gst_event_ref (event);
|
gst_event_ref (event);
|
||||||
if (!(res = gst_pad_push_event (mpeg2dec->sinkpad, event))) {
|
if (!(res = gst_pad_push_event (mpeg2dec->sinkpad, event))) {
|
||||||
|
#ifndef GST_DISABLE_INDEX
|
||||||
if (mpeg2dec->index)
|
if (mpeg2dec->index)
|
||||||
res = index_seek (pad, event);
|
res = index_seek (pad, event);
|
||||||
else
|
else
|
||||||
|
#endif
|
||||||
res = normal_seek (pad, event);
|
res = normal_seek (pad, event);
|
||||||
}
|
}
|
||||||
gst_event_unref (event);
|
gst_event_unref (event);
|
||||||
|
|
|
@ -107,8 +107,10 @@ struct _GstMpeg2dec {
|
||||||
gint fps_d;
|
gint fps_d;
|
||||||
gboolean need_sequence;
|
gboolean need_sequence;
|
||||||
|
|
||||||
|
#ifndef GST_DISABLE_INDEX
|
||||||
GstIndex *index;
|
GstIndex *index;
|
||||||
gint index_id;
|
gint index_id;
|
||||||
|
#endif
|
||||||
|
|
||||||
gint error_count;
|
gint error_count;
|
||||||
gboolean can_allocate_aligned;
|
gboolean can_allocate_aligned;
|
||||||
|
|
Loading…
Reference in a new issue