mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 01:00:37 +00:00
ext/gnomevfs/gstgnomevfssrc.c: Some debug.
Original commit message from CVS: * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get), (gst_gnomevfssrc_srcpad_query), (gst_gnomevfssrc_srcpad_event): Some debug. * gst/avi/gstavidemux.c: (gst_avi_demux_reset), (gst_avi_demux_handle_src_event), (gst_avi_demux_read_superindex), (gst_avi_demux_read_subindexes), (gst_avi_demux_add_stream), (gst_avi_demux_stream_index), (gst_avi_demux_skip), (gst_avi_demux_sync), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_stream_header): * gst/avi/gstavidemux.h: Support for openDML-2.0 indx/ix## chunks. Support for broken index recovery (where, if part of the index is broken, we will still read the rest of the index and recover the broken part by stream scanning). More broken media support. EOS workarounds. General AVI braindamage headache recovery. Aspirin included.
This commit is contained in:
parent
1604717cbf
commit
e3a0b57b75
2 changed files with 28 additions and 6 deletions
18
ChangeLog
18
ChangeLog
|
@ -1,3 +1,21 @@
|
|||
2004-10-12 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||
|
||||
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get),
|
||||
(gst_gnomevfssrc_srcpad_query), (gst_gnomevfssrc_srcpad_event):
|
||||
Some debug.
|
||||
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
|
||||
(gst_avi_demux_handle_src_event), (gst_avi_demux_read_superindex),
|
||||
(gst_avi_demux_read_subindexes), (gst_avi_demux_add_stream),
|
||||
(gst_avi_demux_stream_index), (gst_avi_demux_skip),
|
||||
(gst_avi_demux_sync), (gst_avi_demux_stream_scan),
|
||||
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header):
|
||||
* gst/avi/gstavidemux.h:
|
||||
Support for openDML-2.0 indx/ix## chunks. Support for broken index
|
||||
recovery (where, if part of the index is broken, we will still read
|
||||
the rest of the index and recover the broken part by stream
|
||||
scanning). More broken media support. EOS workarounds. General AVI
|
||||
braindamage headache recovery. Aspirin included.
|
||||
|
||||
2004-10-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||
|
||||
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_open),
|
||||
|
|
|
@ -1040,6 +1040,7 @@ gst_gnomevfssrc_get (GstPad * pad)
|
|||
/* deal with EOF state */
|
||||
if ((src->curoffset >= src->size) && (src->size != 0)) {
|
||||
gst_element_set_eos (GST_ELEMENT (src));
|
||||
GST_DEBUG ("Returning EOS");
|
||||
return GST_DATA (gst_event_new (GST_EVENT_EOS));
|
||||
}
|
||||
|
||||
|
@ -1063,6 +1064,7 @@ gst_gnomevfssrc_get (GstPad * pad)
|
|||
/* EOS? */
|
||||
if (readbytes == 0) {
|
||||
gst_buffer_unref (buf);
|
||||
GST_DEBUG ("Returning EOS");
|
||||
gst_element_set_eos (GST_ELEMENT (src));
|
||||
return GST_DATA (gst_event_new (GST_EVENT_EOS));
|
||||
}
|
||||
|
@ -1107,14 +1109,13 @@ gst_gnomevfssrc_get (GstPad * pad)
|
|||
result = gnome_vfs_read (src->handle, GST_BUFFER_DATA (buf),
|
||||
src->bytes_per_read, &readbytes);
|
||||
|
||||
GST_DEBUG ("read: %s, readbytes: %" G_GINT64_FORMAT,
|
||||
gnome_vfs_result_to_string (result), readbytes);
|
||||
GST_DEBUG ("read: %s, readbytes: %" G_GINT64_FORMAT " @ %" G_GINT64_FORMAT,
|
||||
gnome_vfs_result_to_string (result), readbytes, src->curoffset);
|
||||
/* deal with EOS */
|
||||
if (readbytes == 0) {
|
||||
gst_buffer_unref (buf);
|
||||
|
||||
GST_DEBUG ("Returning EOS");
|
||||
gst_element_set_eos (GST_ELEMENT (src));
|
||||
|
||||
return GST_DATA (gst_event_new (GST_EVENT_EOS));
|
||||
}
|
||||
|
||||
|
@ -1249,7 +1250,7 @@ gst_gnomevfssrc_srcpad_query (GstPad * pad, GstQueryType type,
|
|||
|
||||
switch (type) {
|
||||
case GST_QUERY_TOTAL:
|
||||
if (*format != GST_FORMAT_BYTES) {
|
||||
if (*format != GST_FORMAT_BYTES || src->size == 0) {
|
||||
return FALSE;
|
||||
}
|
||||
*value = src->size;
|
||||
|
@ -1298,6 +1299,8 @@ gst_gnomevfssrc_srcpad_event (GstPad * pad, GstEvent * event)
|
|||
desired_offset = src->curoffset + GST_EVENT_SEEK_OFFSET (event);
|
||||
break;
|
||||
case GST_SEEK_METHOD_END:
|
||||
if (src->size == 0)
|
||||
return FALSE;
|
||||
desired_offset = src->size - ABS (GST_EVENT_SEEK_OFFSET (event));
|
||||
break;
|
||||
default:
|
||||
|
@ -1308,7 +1311,8 @@ gst_gnomevfssrc_srcpad_event (GstPad * pad, GstEvent * event)
|
|||
|
||||
result = gnome_vfs_seek (src->handle,
|
||||
GNOME_VFS_SEEK_START, desired_offset);
|
||||
GST_DEBUG ("new_seek: %s", gnome_vfs_result_to_string (result));
|
||||
GST_DEBUG ("new_seek to %" G_GINT64_FORMAT ": %s",
|
||||
desired_offset, gnome_vfs_result_to_string (result));
|
||||
|
||||
if (result != GNOME_VFS_OK) {
|
||||
gst_event_unref (event);
|
||||
|
|
Loading…
Reference in a new issue