mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-03-31 14:41:55 -07:00
update gst-plugins
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
$SCRIPTS/build toolchain
|
||||
$SCRIPTS/build liboil
|
||||
$SCRIPTS/build ffmpeg
|
||||
#$SCRIPTS/build ffmpeg
|
||||
$SCRIPTS/build bzip2
|
||||
$SCRIPTS/build gstreamer
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
http://gstreamer.freedesktop.org/src/gst-ffmpeg/gst-ffmpeg-0.10.6.tar.bz2
|
||||
http://gstreamer.freedesktop.org/src/gst-ffmpeg/gst-ffmpeg-0.10.6.tar.bz2
|
||||
|
||||
@@ -14,7 +14,6 @@ $SCRIPTS/build libcdaudio
|
||||
$SCRIPTS/build faac
|
||||
$SCRIPTS/build faad2
|
||||
$SCRIPTS/build libsndfile
|
||||
$SCRIPTS/build twolame
|
||||
$SCRIPTS/build bzip2
|
||||
#$SCRIPTS/build x264
|
||||
#$SCRIPTS/build swfdec
|
||||
@@ -110,7 +109,6 @@ ac_cv_lib_xvidcore_xvid_global=yes \
|
||||
--disable-ofa \
|
||||
--disable-timidity \
|
||||
--disable-wildmidi \
|
||||
--enable-twolame \
|
||||
--disable-sdl \
|
||||
--disable-sdltest \
|
||||
--enable-sndfile \
|
||||
|
||||
@@ -8,7 +8,6 @@ $SCRIPTS/install alsa-lib
|
||||
#$SCRIPTS/install libdvdnav
|
||||
#$SCRIPTS/install libtheora
|
||||
#$SCRIPTS/install libsndfile
|
||||
#$SCRIPTS/install twolame
|
||||
#$SCRIPTS/install bzip2
|
||||
#$SCRIPTS/install x264
|
||||
#$SCRIPTS/install xvidcore
|
||||
|
||||
@@ -1 +1 @@
|
||||
http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.10.tar.bz2
|
||||
http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-0.10.11.tar.bz2
|
||||
|
||||
@@ -13,6 +13,7 @@ $SCRIPTS/build lame
|
||||
$SCRIPTS/build libmad
|
||||
$SCRIPTS/build libmpeg2
|
||||
$SCRIPTS/build libid3tag
|
||||
$SCRIPTS/build twolame
|
||||
#$SCRIPTS/build libsidplay
|
||||
|
||||
|
||||
@@ -44,6 +45,7 @@ cd $BUILD/$1*
|
||||
--enable-dvdread \
|
||||
--enable-dvdnav \
|
||||
--enable-lame \
|
||||
--enable-twolame \
|
||||
--enable-id3tag \
|
||||
--enable-mad \
|
||||
--enable-mpeg2dec \
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
diff -up gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c.push-seek gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c
|
||||
--- gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c.push-seek 2009-01-25 11:24:31.000000000 +0100
|
||||
+++ gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c 2009-01-25 12:51:48.000000000 +0100
|
||||
@@ -127,6 +127,11 @@ gst_asf_payload_queue_for_stream (GstASF
|
||||
GST_DEBUG_OBJECT (demux, "first ts: %" GST_TIME_FORMAT,
|
||||
GST_TIME_ARGS (payload->ts));
|
||||
demux->first_ts = payload->ts;
|
||||
+ if (demux->push_mode) {
|
||||
+ gst_segment_set_seek (&demux->segment, demux->segment.rate,
|
||||
+ GST_FORMAT_TIME, demux->segment.flags, GST_SEEK_TYPE_SET,
|
||||
+ demux->first_ts, GST_SEEK_TYPE_NONE, 0, NULL);
|
||||
+ }
|
||||
}
|
||||
|
||||
/* better drop a few frames at the beginning than send bogus timestamps */
|
||||
@@ -140,7 +145,8 @@ gst_asf_payload_queue_for_stream (GstASF
|
||||
}
|
||||
|
||||
/* make timestamps start from 0 */
|
||||
- payload->ts -= demux->first_ts;
|
||||
+ if (!demux->push_mode)
|
||||
+ payload->ts -= demux->first_ts;
|
||||
|
||||
/* remove any incomplete payloads that will never be completed */
|
||||
while (stream->payloads->len > 0) {
|
||||
diff -up gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c.push-seek gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c
|
||||
--- gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c.push-seek 2009-01-25 11:24:56.000000000 +0100
|
||||
+++ gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.c 2009-01-25 12:54:31.000000000 +0100
|
||||
@@ -23,9 +23,6 @@
|
||||
* - _loop():
|
||||
* stop if at end of segment if != end of file, ie. demux->segment.stop
|
||||
*
|
||||
- * - _chain(): fix newsegment events for live streams where timestamps don't
|
||||
- * start at zero (need sample files/streams for this)
|
||||
- *
|
||||
* - fix packet parsing:
|
||||
* there's something wrong with timestamps for packets with keyframes,
|
||||
* and durations too.
|
||||
@@ -264,6 +261,7 @@ gst_asf_demux_activate_push (GstPad * si
|
||||
|
||||
demux = GST_ASF_DEMUX (GST_OBJECT_PARENT (sinkpad));
|
||||
|
||||
+ demux->push_mode = TRUE;
|
||||
demux->state = GST_ASF_DEMUX_STATE_HEADER;
|
||||
demux->streaming = TRUE;
|
||||
|
||||
@@ -276,6 +274,7 @@ gst_asf_demux_activate_pull (GstPad * pa
|
||||
GstASFDemux *demux;
|
||||
|
||||
demux = GST_ASF_DEMUX (GST_OBJECT_PARENT (pad));
|
||||
+ demux->push_mode = FALSE;
|
||||
|
||||
if (active) {
|
||||
demux->state = GST_ASF_DEMUX_STATE_HEADER;
|
||||
@@ -313,8 +312,17 @@ gst_asf_demux_sink_event (GstPad * pad,
|
||||
}
|
||||
|
||||
GST_OBJECT_LOCK (demux);
|
||||
+ if (demux->packet_size && newsegment_start > demux->data_offset)
|
||||
+ demux->packet = (newsegment_start - demux->data_offset) /
|
||||
+ demux->packet_size;
|
||||
+ else
|
||||
+ demux->packet = 0;
|
||||
+ demux->first_ts = GST_CLOCK_TIME_NONE;
|
||||
+ demux->need_newsegment = TRUE;
|
||||
gst_asf_demux_reset_stream_state_after_discont (demux);
|
||||
GST_OBJECT_UNLOCK (demux);
|
||||
+
|
||||
+ gst_event_unref (event);
|
||||
break;
|
||||
}
|
||||
case GST_EVENT_EOS:{
|
||||
@@ -331,6 +339,14 @@ gst_asf_demux_sink_event (GstPad * pad,
|
||||
break;
|
||||
}
|
||||
|
||||
+ case GST_EVENT_FLUSH_START:
|
||||
+ case GST_EVENT_FLUSH_STOP:
|
||||
+ GST_OBJECT_LOCK (demux);
|
||||
+ gst_asf_demux_reset_stream_state_after_discont (demux);
|
||||
+ GST_OBJECT_UNLOCK (demux);
|
||||
+ gst_asf_demux_send_event_unlocked (demux, event);
|
||||
+ break;
|
||||
+
|
||||
default:
|
||||
ret = gst_pad_event_default (pad, event);
|
||||
break;
|
||||
@@ -450,6 +466,11 @@ gst_asf_demux_handle_seek_event (GstASFD
|
||||
accurate = ((flags & GST_SEEK_FLAG_ACCURATE) == GST_SEEK_FLAG_ACCURATE);
|
||||
keyunit_sync = ((flags & GST_SEEK_FLAG_KEY_UNIT) == GST_SEEK_FLAG_KEY_UNIT);
|
||||
|
||||
+ if (demux->push_mode) {
|
||||
+ gst_event_ref (event);
|
||||
+ return gst_pad_push_event (demux->sinkpad, event);
|
||||
+ }
|
||||
+
|
||||
/* unlock the streaming thread */
|
||||
if (flush) {
|
||||
gst_pad_push_event (demux->sinkpad, gst_event_new_flush_start ());
|
||||
diff -up gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.h.push-seek gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.h
|
||||
--- gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.h.push-seek 2009-01-25 12:52:19.000000000 +0100
|
||||
+++ gst-plugins-ugly-0.10.10/gst/asfdemux/gstasfdemux.h 2009-01-25 12:52:55.000000000 +0100
|
||||
@@ -171,6 +171,7 @@ struct _GstASFDemux {
|
||||
gboolean need_newsegment; /* do we need to send a new-segment event? */
|
||||
gboolean segment_running; /* if we've started the current segment */
|
||||
gboolean streaming; /* TRUE if we are operating chain-based */
|
||||
+ gboolean push_mode; /* are we operating in push_mode? */
|
||||
|
||||
/* Descrambler settings */
|
||||
guint8 span;
|
||||
@@ -1,13 +0,0 @@
|
||||
diff -up gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c~ gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c
|
||||
--- gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c~ 2009-01-25 11:23:20.000000000 +0100
|
||||
+++ gst-plugins-ugly-0.10.10/gst/asfdemux/asfpacket.c 2009-01-25 11:23:20.000000000 +0100
|
||||
@@ -317,6 +317,9 @@ gst_asf_demux_parse_payload (GstASFDemux
|
||||
GST_TIME_ARGS (payload.duration));
|
||||
} else if (payload.rep_data_len != 0) {
|
||||
GST_WARNING_OBJECT (demux, "invalid replicated data length, very bad");
|
||||
+ *p_data += payload_len;
|
||||
+ *p_size -= payload_len;
|
||||
+ return FALSE;
|
||||
}
|
||||
|
||||
GST_LOG_OBJECT (demux, "media object offset : %u", payload.mo_offset);
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,96 +0,0 @@
|
||||
diff -up gst-plugins-ugly-0.10.10/ext/mpeg2dec/gstmpeg2dec.c.foo gst-plugins-ugly-0.10.10/ext/mpeg2dec/gstmpeg2dec.c
|
||||
--- gst-plugins-ugly-0.10.10/ext/mpeg2dec/gstmpeg2dec.c.foo 2008-11-08 15:48:46.000000000 +0100
|
||||
+++ gst-plugins-ugly-0.10.10/ext/mpeg2dec/gstmpeg2dec.c 2008-12-17 10:42:17.000000000 +0100
|
||||
@@ -57,6 +57,7 @@ GST_ELEMENT_DETAILS ("mpeg1 and mpeg2 vi
|
||||
*/
|
||||
#define WARN_THRESHOLD (5)
|
||||
|
||||
+//#define enable_user_data
|
||||
#ifdef enable_user_data
|
||||
static GstStaticPadTemplate user_data_template_factory =
|
||||
GST_STATIC_PAD_TEMPLATE ("user_data",
|
||||
@@ -78,7 +79,7 @@ GST_STATIC_PAD_TEMPLATE ("src",
|
||||
GST_PAD_SRC,
|
||||
GST_PAD_ALWAYS,
|
||||
GST_STATIC_CAPS ("video/x-raw-yuv, "
|
||||
- "format = (fourcc) { YV12, I420, Y42B }, "
|
||||
+ "format = (fourcc) { YV12, I420, Y42B, Y444 }, "
|
||||
"width = (int) [ 16, 4096 ], "
|
||||
"height = (int) [ 16, 4096 ], "
|
||||
"framerate = (fraction) [ 0/1, 2147483647/1 ]")
|
||||
@@ -404,7 +405,7 @@ crop_copy_i422_buffer (GstMpeg2dec * mpe
|
||||
static gboolean
|
||||
crop_buffer (GstMpeg2dec * mpeg2dec, GstBuffer ** buf)
|
||||
{
|
||||
- gboolean result = FALSE;
|
||||
+ gboolean result = TRUE;
|
||||
GstBuffer *input = *buf;
|
||||
GstBuffer *outbuf = input;
|
||||
|
||||
@@ -450,8 +451,9 @@ gst_mpeg2dec_alloc_sized_buf (GstMpeg2de
|
||||
|
||||
ret = gst_pad_alloc_buffer_and_set_caps (mpeg2dec->srcpad,
|
||||
GST_BUFFER_OFFSET_NONE, size, GST_PAD_CAPS (mpeg2dec->srcpad), obuf);
|
||||
- if (ret != GST_FLOW_OK)
|
||||
+ if (ret != GST_FLOW_OK) {
|
||||
return ret;
|
||||
+ }
|
||||
|
||||
/* libmpeg2 needs 16 byte aligned buffers... test for this here
|
||||
* and if it fails only a single time create our own buffers from
|
||||
@@ -547,8 +549,10 @@ gst_mpeg2dec_negotiate_format (GstMpeg2d
|
||||
mpeg2dec->v_offs =
|
||||
I420_V_OFFSET (mpeg2dec->decoded_width, mpeg2dec->decoded_height);
|
||||
|
||||
- } else if (sequence->width == sequence->chroma_width ||
|
||||
- sequence->height == sequence->chroma_height) {
|
||||
+ } else if ((sequence->width == sequence->chroma_width &&
|
||||
+ sequence->height != sequence->chroma_height) ||
|
||||
+ (sequence->width != sequence->chroma_width &&
|
||||
+ sequence->height == sequence->chroma_height)) {
|
||||
gint halfsize;
|
||||
|
||||
fourcc = GST_STR_FOURCC ("Y42B");
|
||||
@@ -558,8 +562,15 @@ gst_mpeg2dec_negotiate_format (GstMpeg2d
|
||||
mpeg2dec->u_offs = halfsize;
|
||||
mpeg2dec->v_offs = halfsize + (halfsize / 2);
|
||||
} else {
|
||||
- g_warning ("mpeg2dec: 4:4:4 format not yet supported");
|
||||
- return (FALSE);
|
||||
+ gint size;
|
||||
+
|
||||
+ size = mpeg2dec->decoded_width * mpeg2dec->decoded_height;
|
||||
+
|
||||
+ fourcc = GST_STR_FOURCC ("Y444");
|
||||
+ mpeg2dec->format = MPEG2DEC_FORMAT_Y444;
|
||||
+ mpeg2dec->size = size * 3;
|
||||
+ mpeg2dec->u_offs = size;
|
||||
+ mpeg2dec->v_offs = size * 2;
|
||||
}
|
||||
|
||||
if (mpeg2dec->pixel_width == 0 || mpeg2dec->pixel_height == 0) {
|
||||
@@ -1122,6 +1133,11 @@ gst_mpeg2dec_chain (GstPad * pad, GstBuf
|
||||
GST_DEBUG_OBJECT (mpeg2dec, "parse state %d", state);
|
||||
|
||||
switch (state) {
|
||||
+#if MPEG2_RELEASE >= MPEG2_VERSION (0, 5, 0)
|
||||
+ case STATE_SEQUENCE_MODIFIED:
|
||||
+ GST_DEBUG_OBJECT (mpeg2dec, "sequence modified");
|
||||
+ /* fall through */
|
||||
+#endif
|
||||
case STATE_SEQUENCE:
|
||||
ret = handle_sequence (mpeg2dec, info);
|
||||
/* if there is an error handling the sequence
|
||||
diff -up gst-plugins-ugly-0.10.10/ext/mpeg2dec/gstmpeg2dec.h.foo gst-plugins-ugly-0.10.10/ext/mpeg2dec/gstmpeg2dec.h
|
||||
--- gst-plugins-ugly-0.10.10/ext/mpeg2dec/gstmpeg2dec.h.foo 2008-11-08 15:48:46.000000000 +0100
|
||||
+++ gst-plugins-ugly-0.10.10/ext/mpeg2dec/gstmpeg2dec.h 2008-12-17 10:42:40.000000000 +0100
|
||||
@@ -49,7 +49,8 @@ typedef enum
|
||||
MPEG2DEC_FORMAT_NONE,
|
||||
MPEG2DEC_FORMAT_I422,
|
||||
MPEG2DEC_FORMAT_I420,
|
||||
- MPEG2DEC_FORMAT_YV12
|
||||
+ MPEG2DEC_FORMAT_YV12,
|
||||
+ MPEG2DEC_FORMAT_Y444
|
||||
} Mpeg2decFormat;
|
||||
|
||||
typedef enum
|
||||
@@ -1 +1 @@
|
||||
http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-0.10.10.tar.bz2
|
||||
http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-0.10.11.tar.bz2
|
||||
|
||||
@@ -34,7 +34,7 @@ $SCRIPTS/install xf86-video-nv
|
||||
$SCRIPTS/install xinit
|
||||
#+$SCRIPTS/install pciutils
|
||||
$SCRIPTS/install evilwm-ewmh
|
||||
$SCRIPTS/install ratpoison
|
||||
#$SCRIPTS/install ratpoison
|
||||
#mkdir -p $INSTALL/usr/bin
|
||||
#cp $PKG_DIR/scripts/oe_wrapper $INSTALL/usr/bin
|
||||
#cp $PKG_DIR/scripts/startx $INSTALL/usr/bin
|
||||
|
||||
Reference in New Issue
Block a user