Original commit message from CVS:
* gst/mpegvideoparse/mpegpacketiser.c: (mpeg_util_find_start_code):
Small meaningless cleanup.
* gst/mpegvideoparse/mpegvideoparse.c: (gst_mpegvideoparse_flush),
(mpegvideoparse_drain_avail), (gst_mpegvideoparse_chain_forward),
(scan_keyframe), (gst_mpegvideoparse_flush_decode),
(gst_mpegvideoparse_chain_reverse), (gst_mpegvideoparse_chain),
(mpv_parse_sink_event), (gst_mpegvideoparse_change_state):
* gst/mpegvideoparse/mpegvideoparse.h:
Track segment events.
Do the first part of reverse playback by sending data between two
I-frames to the decoder.
Original commit message from CVS:
* autogen.sh:
Add -Wno-portability to the automake parameters to stop warnings
about GNU make extensions being used. We require GNU make in almost
every Makefile anyway.
* configure.ac:
Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
at the same time is required for per target flags.
Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c: (create_send_rtp_sink):
Don't set fixed caps, we can basically do everything the upsteam peer
pad can renegotiate to. Fixes#507940.
Original commit message from CVS:
* Makefile.am:
Include lcov.mak to allow building coverage reports. Add top-level
check targets similar to other gst packages.
Original commit message from CVS:
* ext/directfb/Makefile.am:
Add GST_CFLAGS. Otherwise we don't get -Wall -Werror.
* ext/directfb/dfbvideosink.c:
Getting tired of directfb's chatter. Quiet it.
Original commit message from CVS:
* configure.ac:
* ext/gio/gstgiobasesrc.c: (gst_gio_base_src_get_size):
* tests/check/pipelines/gio.c: (free_input), (GST_START_TEST):
Update to GMemoryInputStream API changes in GLib SVN and require
gio-2.0 >= 2.15.1 for this. Fixes bug #507584.
We can also report the duration for every GSeekable, not only
GFileInputStream and GMemoryInputStream.
Original commit message from CVS:
* sys/glsink/glimagesink.c:
* sys/glsink/glimagesink.h:
* sys/glsink/gstglbuffer.h:
* sys/glsink/gstgldisplay.c:
* sys/glsink/gstgldisplay.h:
* sys/glsink/gstglupload.c:
Handle xoverlay exposes correctly. This means glimagesink works
correctly most of the time in totem (fullscreening being an
execption). Doesn't handle expose events directly to the GL
window.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_loop):
Don't unref the popped buffer when we don't have ownership.
Fixes#507020.
Original commit message from CVS:
* tests/check/Makefile.am:
Disable vcdsrc in states test because it takes too much time
to get to PLAYING if it can find a device.
Original commit message from CVS:
* ext/musicbrainz/gsttrm.c:
Don't emit signiture when going to READY, because it might
not be ready.
* ext/nas/nassink.c:
Remove useless call that sleeps for 5 seconds. Yup, it calls
sleep(1) 5 times. Go NAS.
* gst/librfb/gstrfbsrc.c:
* gst/librfb/rfbdecoder.c:
Initialize our debug categories properly.
* gst/rawparse/gstrawparse.c:
Don't register element details for a non-element. Be much more
rude when subclass doesn't set a pad template (assert!). Don't
unref the pad template; we don't own it.
* gst/videosignal/gstvideoanalyse.c:
Initialize debug category.
* tests/check/Makefile.am:
Ignore nassink element in tests because it has unavoidable
long timeouts.
Original commit message from CVS:
* configure.ac:
* sys/glsink/Makefile.am:
Switch to using pkgconfig to detect libGL. Since we use
recent features added to Mesa, there's no point in adding
a check for pre-pkgconfig versions.
Original commit message from CVS:
* ext/ladspa/gstladspa.c: (gst_ladspa_get_property):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_show_frame):
* gst/mve/gstmvemux.c: (gst_mve_mux_request_new_pad):
* sys/dvb/dvbbasebin.c: (dvb_base_bin_class_init):
Fix 'xyz may be used uninitialized' compiler warnings caused
by broken g_assert_not_reached() macro in GLib-2.15.x and don't
abort() in any case but properly report the error.
Original commit message from CVS:
* ext/soup/Makefile.am:
* ext/soup/gstsouphttpsrc.c: (gst_souphttp_src_get_property),
(gst_souphttp_src_unicodify), (soup_got_headers):
Use gst_tag_freeform_string_to_utf8() and post radio station
info as tags on the bus.
Original commit message from CVS:
* sys/glsink/glimagesink.c:
* sys/glsink/gstglupload.c:
Change glimagesink over to using GL buffers. This breaks
glimagesink for normal operation, but should be fixed soon.
Original commit message from CVS:
* sys/glsink/gltestsrc.c:
* sys/glsink/gstglbuffer.c:
* sys/glsink/gstglbuffer.h:
* sys/glsink/gstgldownload.c:
* sys/glsink/gstglfilter.c:
* sys/glsink/gstglfilterexample.c:
* sys/glsink/gstgltestsrc.c:
* sys/glsink/gstglupload.c:
Convert gldownload to BaseTransform. Make glfilterexample
visually interesting. Add support for various formats to
downloading. Fix a few places where we leak GL state to
other elements (bad, but hard to prevent).
Original commit message from CVS:
* sys/glsink/BUGS:
* sys/glsink/Makefile.am:
* sys/glsink/gstglbuffer.c:
* sys/glsink/gstglbuffer.h:
* sys/glsink/gstglconvert.c:
* sys/glsink/gstgldisplay.c:
* sys/glsink/gstglfilter.c:
* sys/glsink/gstglfilter.h:
* sys/glsink/gstglfilterexample.c:
* sys/glsink/gstgltestsrc.c:
* sys/glsink/gstglupload.c:
* sys/glsink/gstopengl.c:
Remove code that handles non-texture buffers. Add a
GstGLBufferFormat type that corresponds to how to use the
texture, not the original video format. Convert gstflfilter.c
into a base class, add glfilterexample and glconvert elements.
* sys/glsink/color_matrix.c:
Minor ramblings about color conversion matrices.
Original commit message from CVS:
* sys/glsink/gstglbuffer.c:
* sys/glsink/gstgldownload.c:
* sys/glsink/gstglfilter.c:
Clean up code. Fix a few leaks.
Original commit message from CVS:
* sys/glsink/glimagesink.c:
* sys/glsink/glimagesink.h:
* sys/glsink/glvideo.c:
* sys/glsink/glvideo.h:
* sys/glsink/gstglbuffer.c:
* sys/glsink/gstglbuffer.h:
* sys/glsink/gstgldownload.c:
* sys/glsink/gstglfilter.c:
* sys/glsink/gstglupload.c:
Rewrite a bunch of code to use textures as the intermediate
instead of renderbuffers. upload, download, filtering all
work.
Original commit message from CVS:
* gst/videoparse/Makefile.am:
* gst/videoparse/README:
* gst/videoparse/gstvideoparse.c:
Remove videoparse element, because it was moved to gst/rawparse/
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_src_event):
Always seek on frame boundaries, will produce nothing useful
otherwise.
Original commit message from CVS:
* configure.ac:
* gst/rawparse/Makefile.am:
* gst/rawparse/README:
* gst/rawparse/gstaudioparse.c: (gst_audio_parse_format_get_type),
(gst_audio_parse_endianness_get_type), (gst_audio_parse_base_init),
(gst_audio_parse_class_init), (gst_audio_parse_init),
(gst_audio_parse_set_property), (gst_audio_parse_get_property),
(gst_audio_parse_update_frame_size), (gst_audio_parse_get_caps):
* gst/rawparse/gstaudioparse.h:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_base_init),
(gst_raw_parse_class_init), (gst_raw_parse_init),
(gst_raw_parse_dispose),
(gst_raw_parse_class_set_src_pad_template),
(gst_raw_parse_class_set_multiple_frames_per_buffer),
(gst_raw_parse_reset), (gst_raw_parse_chain),
(gst_raw_parse_convert), (gst_raw_parse_sink_event),
(gst_raw_parse_src_event), (gst_raw_parse_src_query_type),
(gst_raw_parse_src_query), (gst_raw_parse_set_framesize),
(gst_raw_parse_set_fps), (gst_raw_parse_get_fps),
(gst_raw_parse_is_negotiated):
* gst/rawparse/gstrawparse.h:
* gst/rawparse/gstvideoparse.c: (gst_video_parse_format_get_type),
(gst_video_parse_endianness_get_type), (gst_video_parse_base_init),
(gst_video_parse_class_init), (gst_video_parse_init),
(gst_video_parse_set_property), (gst_video_parse_get_property),
(gst_video_parse_format_to_fourcc),
(gst_video_parse_update_frame_size), (gst_video_parse_get_caps):
* gst/rawparse/gstvideoparse.h:
* gst/rawparse/plugin.c: (plugin_init):
Add new plugin rawparse that contains a base class for raw data
parsers and the two elements audioparse and videoparse that can
be used to parse raw audio and video. These are inspired by the
old videoparse element which the new rawparse plugin deprecates.
Original commit message from CVS:
* sys/glsink/glextensions.c:
* sys/glsink/glextensions.h:
* sys/glsink/glvideo.c:
* sys/glsink/glvideo.h:
* sys/glsink/gstglbuffer.c:
* sys/glsink/gstgldownload.c:
* sys/glsink/gstglupload.c:
A careful read of the documentation reveals that I can't use
renderbuffers as textures. Duh. Checkpoint because I'm about
to rewrite a bunch of code.
Original commit message from CVS:
* sys/glsink/Makefile.am:
* sys/glsink/glextensions.c:
* sys/glsink/glextensions.h:
* sys/glsink/glimagesink.c:
* sys/glsink/glimagesink.h:
* sys/glsink/glvideo.c:
* sys/glsink/glvideo.h:
* sys/glsink/gstglbuffer.c:
* sys/glsink/gstglbuffer.h:
* sys/glsink/gstgldownload.c:
* sys/glsink/gstglfilter.c:
* sys/glsink/gstglupload.c:
* sys/glsink/gstopengl.c:
Switch to using framebuffer_objects instead of GLXPixmaps,
because that's what my driver supports. Remove GLDrawable,
since GstGLDisplay now has a default drawable and context.
Original commit message from CVS:
2007-12-18 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch-marshal.list:
* gst/switch/gstswitch.h (struct _GstStreamSelectorClass):
* gst/switch/gstswitch.c (enum, gst_selector_pad_class_init)
(gst_selector_pad_get_property)
(gst_selector_pad_get_running_time)
(gst_stream_selector_class_init, gst_segment_get_timestamp)
(gst_segment_set_stop, gst_segment_set_start)
(gst_stream_selector_set_active_pad, gst_stream_selector_block)
(gst_stream_selector_push_pending_stop)
(gst_stream_selector_switch): Change so that the signals and
properties deal in running time, not buffer time. Document the
signals more. Change uint64 in API to int64, to reflect what's in
GstSegment.
Original commit message from CVS:
* Makefile.am:
Include common/win32.mak for CRLF check of win32 project
files (see #393626).
* configure.ac:
Bump requirements to -base CVS for libgstvideo additions in
glimagesink. Disable glimagesink until the missing files get
checked in.
Original commit message from CVS:
* sys/glsink/Makefile.am:
* sys/glsink/glimagesink.c:
* sys/glsink/glimagesink.h:
* sys/glsink/glvideo.c:
* sys/glsink/glvideo.h:
* sys/glsink/gstopengl.c:
* sys/glsink/gstglupload.c:
Use new GstVideoFormat checked into -base. Add new glupload
element to upload raw video into a GLXPixbuf. Untested. Will
likely crash your motorcycle if you try it.
* sys/glsink/gstvideo-common.c:
* sys/glsink/gstvideo-common.h:
Remove.
Original commit message from CVS:
* gst/multifile/gstmultifilesrc.c:
* gst/multifile/gstmultifilesrc.h:
When subsequent files are read, if the file doesn't exist, send
an EOS instead of causing an error.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.c (gst_selector_pad_chain): Return OK when
a buffer is ignored, not NOT_LINKED. No sense in making a source
element error out; at least fdsrc considers NOT_LINKED to be a
fatal error. Patch 11/12. There is no patch 12/12. Foo.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch-marshal.list:
* gst/switch/gstswitch.h (struct _GstStreamSelectorClass):
* gst/switch/gstswitch.c (gst_stream_selector_class_init)
(gst_stream_selector_block): Make the block() signal return the
last stop time of the active pad. Patch 10/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.c (gst_selector_pad_get_property)
(gst_selector_pad_class_init, gst_stream_selector_class_init)
(gst_stream_selector_get_property): Expose 'last-stop-time' as a
pad property, not an element property.
(gst_selector_pad_chain): Mark the last_stop time as timestamp +
duration, not timestamp. Patch 9/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.c (gst_stream_selector_change_state)
(gst_stream_selector_block, gst_stream_selector_switch): Use the
cond mechanism instead of blocked pads. Patch 8/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.h (struct _GstStreamSelector):
* gst/switch/gstswitch.c (gst_stream_selector_wait)
(gst_selector_pad_chain, gst_stream_selector_init)
(gst_stream_selector_dispose): Add infrastructure for new blocking
mechanism that does not use gst_pad_set_blocked, which does not
work on sink pads. Patch 7/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.h (struct _GstStreamSelector): Add some
state variables.
* gst/switch/gstswitch.c (gst_stream_selector_push_pending_stop)
(gst_selector_pad_chain): Push any pending stop event.
(gst_stream_selector_set_active_pad)
(gst_stream_selector_set_property): Factor out setting the active
pad to a function. Close the segment of the previous active pad if
told to do so via a stop_time != GST_CLOCK_TIME_NONE.
(gst_stream_selector_switch): Implement switch vmethod. Patch 5/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.c (gst_stream_selector_block): Implement
the block() signal. This implementation will be replaced in future
patches, however. Patch 4/12.