ext/jpeg/: move format setting to inner loop

Original commit message from CVS:
* ext/jpeg/gstjpegdec.c: (gst_jpegdec_get_type):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_get_type),
(gst_jpegenc_getcaps):
move format setting to inner loop
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcolorspace_getcaps):
use GST_PAD_CAPS if available so that we use already negotiated
caps
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_moov), (qtdemux_parse):
extra debugging
* sys/qcam/qcam-Linux.c: (qc_lock_wait), (qc_unlock):
* sys/qcam/qcam-os.c: (qc_lock_wait), (qc_unlock):
move hardcoded path to DEFINE
This commit is contained in:
Thomas Vander Stichele 2004-04-29 17:37:01 +00:00
parent 068d8730ad
commit 0a4089343d
3 changed files with 32 additions and 7 deletions

View file

@ -1,3 +1,20 @@
2004-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
* ext/jpeg/gstjpegdec.c: (gst_jpegdec_get_type):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_get_type),
(gst_jpegenc_getcaps):
move format setting to inner loop
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcolorspace_getcaps):
use GST_PAD_CAPS if available so that we use already negotiated
caps
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_moov), (qtdemux_parse):
extra debugging
* sys/qcam/qcam-Linux.c: (qc_lock_wait), (qc_unlock):
* sys/qcam/qcam-os.c: (qc_lock_wait), (qc_unlock):
move hardcoded path to DEFINE
2004-04-28 David Schleef <ds@schleef.org>
* gst/speed/gstspeed.c: (speed_parse_caps): Fix caps parsing.

View file

@ -246,13 +246,13 @@ gst_jpegenc_getcaps (GstPad * pad)
gst_structure_set_name (structure, name);
gst_structure_remove_field (structure, "format");
/* ... but for the sink pad, we only do I420 anyway, so add that */
if (pad == jpegenc->sinkpad) {
gst_structure_set (structure, "format", GST_TYPE_FOURCC,
GST_STR_FOURCC ("I420"), NULL);
}
}
/* ... but for the sink pad, we only do I420 anyway, so add that */
if (pad == jpegenc->sinkpad) {
gst_structure_set (structure, "format", GST_TYPE_FOURCC,
GST_STR_FOURCC ("I420"), NULL);
}
return caps;
}

View file

@ -513,6 +513,7 @@ gst_qtdemux_loop_header (GstElement * element)
case QTDEMUX_STATE_HEADER:
{
do {
/* FIXME: we peek for 16 bytes, but what if the atom is smaller ? */
ret = gst_bytestream_peek_bytes (qtdemux->bs, &data, 16);
if (ret < 16) {
if (!gst_qtdemux_handle_sink_event (qtdemux)) {
@ -526,12 +527,14 @@ gst_qtdemux_loop_header (GstElement * element)
length = GST_READ_UINT32_BE (data);
GST_DEBUG ("length %08x", length);
fourcc = GST_READ_UINT32_LE (data + 4);
GST_DEBUG ("fourcc " GST_FOURCC_FORMAT, GST_FOURCC_ARGS (fourcc));
GST_DEBUG ("atom type " GST_FOURCC_FORMAT, GST_FOURCC_ARGS (fourcc));
if (length == 0) {
length = gst_bytestream_length (qtdemux->bs) - cur_offset;
}
if (length == 1) {
/* this means we have an extended size, which is the 64 bit value of
* the next 8 bytes */
guint32 length1, length2;
length1 = GST_READ_UINT32_BE (data + 8);
@ -539,6 +542,7 @@ gst_qtdemux_loop_header (GstElement * element)
length2 = GST_READ_UINT32_BE (data + 12);
GST_DEBUG ("length2 %08x", length2);
/* FIXME: I guess someone didn't want to make 64 bit size work :) */
length = length2;
}
@ -554,6 +558,7 @@ gst_qtdemux_loop_header (GstElement * element)
GstBuffer *moov;
do {
/* read in the complete data from the moov atom */
ret = gst_bytestream_read (qtdemux->bs, &moov, length);
if (ret < length) {
GST_DEBUG ("read failed (%d < %d)", ret, length);
@ -942,6 +947,7 @@ qtdemux_parse_moov (GstQTDemux * qtdemux, void *buffer, int length)
qtdemux->moov_node = g_node_new (buffer);
GST_DEBUG_OBJECT (qtdemux, "parsing 'moov' atom");
qtdemux_parse (qtdemux, qtdemux->moov_node, buffer, length);
cmov = qtdemux_tree_get_child_by_type (qtdemux->moov_node, FOURCC_cmov);
@ -983,7 +989,7 @@ qtdemux_parse (GstQTDemux * qtdemux, GNode * node, void *buffer, int length)
QtNodeType *type;
void *end;
GST_LOG ("qtdemux_parse %p %d", buffer, length);
GST_LOG ("qtdemux_parse buffer %p length %d", buffer, length);
node_length = QTDEMUX_GUINT32_GET (buffer);
fourcc = QTDEMUX_FOURCC_GET (buffer + 4);
@ -1026,6 +1032,8 @@ qtdemux_parse (GstQTDemux * qtdemux, GNode * node, void *buffer, int length)
void *buf;
guint32 len;
GST_DEBUG_OBJECT (qtdemux,
"parsing stsd (sample table, sample description) atom");
buf = buffer + 16;
end = buffer + length;
while (buf < end) {