Original commit message from CVS:
* gst/mpegtsparse/gstmpegdesc.h:
* gst/mpegtsparse/mpegtspacketizer.c:
Parsed the satellite delivery system descriptor and
added into nit's transport structure for delivery
over the bus.
Original commit message from CVS:
* gst/mpegtsparse/mpegtspacketizer.c:
Remove leaks introduced by not freeing g_strndup'd strings.
Fix start_time and duration parsing in EIT.
Original commit message from CVS:
* gst/mpegtsparse/Makefile.am:
* gst/mpegtsparse/gstmpegdesc.c:
* gst/mpegtsparse/gstmpegdesc.h:
* gst/mpegtsparse/mpegtspacketizer.c:
* gst/mpegtsparse/mpegtsparse.c:
Added descriptor searching infrastructure from Fluendo TS demuxer.
Add channel name and provider to the sdt structure sent in the
bus message.
Original commit message from CVS:
2008-01-22 Julien Moutte <julien@fluendo.com>
* gst/h264parse/gsth264parse.c: (gst_h264_parse_chain_forward):
Parse NAL units in forward mode to mark delta units flags.
Original commit message from CVS:
* docs/plugins/Makefile.am:
Add missing eol \
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
Place object names to standard sectionas plugin dont document those.
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-dvb.xml:
* docs/plugins/inspect/plugin-nuvdemux.xml:
regenerate.
* ext/ivorbis/vorbisdec.c:
* ext/ivorbis/vorbisdec.h:
Mark private vars and add short desc.
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
Add short desc.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* gst/nuvdemux/gstnuvdemux.c:
One less to do. Its 'nuv' not 'nvu'. As an extra bonus I mention what
it actually is.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
Update lists again. Those whole can build ivorbisdec, mythtvsrc,
nvudemux and theoradecexp, please commit the inspect/plugin-xxx.xml.
* docs/plugins/inspect/plugin-gstinterlace.xml:
* docs/plugins/inspect/plugin-rawparse.xml
* docs/plugins/inspect/plugin-videoparse.xml:
Replace videoparse with rawparse.
* gst/dvdspu/gstdvdspu.h:
Help gtk-doc to recognize the object struct.
Original commit message from CVS:
* gst/librfb/rfbdecoder.c:
* gst/librfb/rfbdecoder.h:
Don't use gtk-doc comment style for non gtk-doc comments.
Make one static function static.
Original commit message from CVS:
Patch by: Gabriel Bouvigne <bouvigne at mp3-tech dot org>
* gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_class_init),
(gst_deinterlace_init), (gst_deinterlace_set_caps),
(gst_deinterlace_transform_ip), (gst_deinterlace_set_property),
(gst_deinterlace_get_property):
* gst/deinterlace/gstdeinterlace.h:
Provide 4:2:2 support
Also deinterlace chroma planes
Allow to turn on/off deinterlacing
Change of default thresholds, in order to provide acceptable results
with default params. Fixes#511001.
Original commit message from CVS:
* gst/dvdspu/gstdvdspu-render.c: (gst_dvd_spu_render_spu):
* gst/dvdspu/gstdvdspu.c: (dvdspu_debug), (GST_CAT_DEFAULT),
(subpic_sink_factory), (gst_dvd_spu_base_init),
(gst_dvd_spu_class_init), (gst_dvd_spu_init), (gst_dvd_spu_clear),
(gst_dvd_spu_dispose), (gst_dvd_spu_finalize),
(gst_dvd_spu_flush_spu_info), (gst_dvd_spu_buffer_alloc),
(gst_dvd_spu_src_event), (gst_dvd_spu_video_set_caps),
(gst_dvd_spu_video_proxy_getcaps), (gst_dvd_spu_video_event),
(gst_dvd_spu_video_chain), (dvspu_handle_vid_buffer),
(gst_dvd_spu_redraw_still), (gst_dvd_spu_parse_chg_colcon),
(gst_dvd_spu_exec_cmd_blk), (gst_dvd_spu_finish_spu_buf),
(gst_dvd_spu_setup_cmd_blk), (gst_dvd_spu_handle_new_spu_buf),
(gst_dvd_spu_handle_dvd_event), (gst_dvd_spu_advance_spu),
(gst_dvd_spu_check_still_updates), (gst_dvd_spu_subpic_chain),
(gst_dvd_spu_subpic_event), (gst_dvd_spu_change_state),
(gst_dvd_spu_plugin_init):
* gst/dvdspu/gstdvdspu.h: (GST_TYPE_DVD_SPU):
Fix up dvdspu element again after previous namespace mangling:
rename debug category variable to old name, matching that in
dvdspu-render.c, to avoid undefined symbol error when loading
the module; same for the _render function in dvdspu-render.c:
we must use the same name in both .c files; change functions
now called gstgst_* back to gst_* again; and while we're at it,
we may as well canonicalise the namespace properly, namely to
gst_dvd_spu_*.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* ext/theora/theoradec.c:
* ext/theora/theoradec.h:
Coherent namespace usage and adding symbold from unused to sections.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
Add symbols from -unused.txt to the right place.
* gst/dvdspu/gstdvdspu.c:
* gst/dvdspu/gstdvdspu.h:
Coherent namespace usage.
* gst/spectrum/gstspectrum.c:
Fix broken XML fragment in doc snippet even more.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (soup_got_headers):
Report the size of the stream as the total size instead of
the remaining Content-Length, which is wrong after a seek.
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_push_buffer),
(gst_raw_parse_loop):
Handle framesizes > 4096 with multiple frames per buffer correctly
in pull mode and handle short reads better.
Also put offset and offset_end on outgoing buffers.
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_loop):
Improve handling of unknown or too small upstream sizes in
pull mode.
Original commit message from CVS:
* gst/rawparse/gstrawparse.c: (gst_raw_parse_loop),
(gst_raw_parse_handle_seek_push):
Improve debugging a bit and for handling multiple frames per buffer
in pull mode choose the next smallest multiply of framesize below
4096 instead of always handling 1024 frames.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (soup_got_headers):
Correctly set duration on the GstBaseSrc segment when we know it
to fix failing the duration query.
Original commit message from CVS:
* gst/h264parse/gsth264parse.c: (gst_h264_parse_flush_decode),
(gst_h264_parse_queue_buffer), (gst_h264_parse_chain_reverse):
Set timestamps more correctly.
Original commit message from CVS:
* tests/check/Makefile.am:
Enable spectrum test again.
* tests/check/gst-plugins-bad.supp:
Add suppressions for a singleton in GIO that can't be freed.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/equalizer.c: (setup_equalizer),
(cleanup_equalizer), (GST_START_TEST), (equalizer_suite), (main):
Add some minimal tests for the equalizer plugin.
Original commit message from CVS:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_finalize):
Unparent all bands from the equalizer when finalizing to stop
leaking them.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (gst_souphttp_src_class_init),
(gst_souphttp_src_init), (gst_souphttp_src_create),
(gst_souphttp_src_is_seekable), (gst_souphttp_src_do_seek),
(soup_add_range_header), (soup_got_headers), (soup_got_chunk):
* ext/soup/gstsouphttpsrc.h:
Add support for seeking to souphttpsrc. Fixes bug #502335.
Original commit message from CVS:
* configure.ac:
* tests/check/pipelines/gio.c: (GST_START_TEST):
Update for API changes in GIO and require GIO 2.15.2 for this.
Original commit message from CVS:
* gst/xingheader/gstxingmux.c: (generate_xing_header):
Bitrate is 4 bits, not 8 so check for 0xe as maximum value instead
of 0xfe.
Original commit message from CVS:
* gst/xingheader/gstxingmux.c: (has_xing_header),
(generate_xing_header), (gst_xing_mux_chain),
(gst_xing_mux_sink_event):
Choose smallest possible frame size for the Xing header, properly
set the timestamp, duration and offset on the outgoing buffers,
only send NEWSEGMENT events in BYTE format downstream and also
drop VBRI headers if already existing.
Original commit message from CVS:
* gst/xingheader/Makefile.am:
* gst/xingheader/gstxingmux.c: (parse_header), (get_xing_offset),
(has_xing_header), (generate_xing_header),
(gst_xing_mux_base_init), (gst_xing_mux_finalize), (xing_reset),
(gst_xing_mux_init), (gst_xing_mux_chain),
(gst_xing_mux_sink_event), (gst_xing_mux_change_state):
* gst/xingheader/gstxingmux.h:
Major cleanup and rewrite of xingmux with less bugs and new features:
- Handles other layers as 3
- Write TOC
Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_clock_rate):
If we find the caps in the cache, use it to parse the clock-rate instead
of returning an error. Fixes a TODO as found by Youness Alaoui.
Original commit message from CVS:
Patch by: Youness Alaoui <youness dot alaoui at collabora dot co dot uk>
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_clock_rate):
* gst/rtpmanager/rtpsession.c: (rtp_session_set_callbacks),
(rtp_session_set_process_rtp_callback),
(rtp_session_set_send_rtp_callback),
(rtp_session_set_send_rtcp_callback),
(rtp_session_set_sync_rtcp_callback),
(rtp_session_set_clock_rate_callback),
(rtp_session_set_reconsider_callback), (source_push_rtp),
(source_clock_rate), (rtp_session_process_bye),
(rtp_session_process_rtcp), (rtp_session_send_bye),
(rtp_session_on_timeout):
* gst/rtpmanager/rtpsession.h:
Make it possible to use different user_data for each of the callbacks.
Fixes#508587.
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.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.h (struct _GstStreamSelectorClass):
* gst/switch/gstswitch.c (gst_stream_selector_class_init): Add
`block' and `switch' signals.
* gst/switch/Makefile.am:
* gst/switch/gstswitch-marshal.list: Add foo to generate a
marshaller for the `switch' signal. Patch 2/12.
Original commit message from CVS:
2007-12-17 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.h:
* gst/switch/gstswitch.c: Replace with files from
gststreamselector.[ch], registered as the "switch" plugin, with
"GstSwitch" types. Patch 1/12.
Original commit message from CVS:
* sys/glsink/Makefile.am:
* sys/glsink/glextensions.c:
* sys/glsink/glextensions.h:
* sys/glsink/glvideo.c:
Add vblank synchronization. Isn't really working on my
driver. :(
Original commit message from CVS:
* sys/glsink/Makefile.am:
* sys/glsink/glimagesink.c:
* sys/glsink/glvideo.c:
* sys/glsink/glvideo.h:
* sys/glsink/gstvideo-common.c:
* sys/glsink/gstvideo-common.h:
Add support for xRGB, xBGR, and AYUV. Re-add support for
power-of-2 textures.
Original commit message from CVS:
* gst/videoparse/gstvideoparse.c: (gst_video_parse_dispose),
(gst_video_parse_sink_event):
Free the adapter on dispose and correctly reset on newsegment events.
Original commit message from CVS:
* gst/videoparse/gstvideoparse.c: (gst_video_parse_sink_event),
(gst_video_parse_src_event), (gst_video_parse_src_query):
Improve duration query by first asking upstream and if it can't handle
the query try to get the duration in bytes from upstream and convert.
For seeks, try if upstream handles this already first and do our
conversion to byte format only if it doesn't and if we get a
newsegment event in time format keep it and only do our conversions
if the event has another format.
Original commit message from CVS:
* gst/videoparse/gstvideoparse.c:
(gst_video_parse_format_get_type),
(gst_video_parse_endianness_get_type),
(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_block_size), (gst_video_parse_chain),
(gst_video_parse_sink_event):
Add support for video/x-raw-rgb and video/x-raw-gray. Also send
downstream elements downstream, not upstream.
Original commit message from CVS:
* sys/glsink/gstvideo-common.c:
* sys/glsink/gstvideo-common.h:
Pull together some common raw video functions into one location.
This should eventually move to -base.
* sys/glsink/Makefile.am:
* sys/glsink/glimagesink.c:
* sys/glsink/glimagesink.h:
* sys/glsink/glvideo.c:
* sys/glsink/glvideo.h:
* sys/glsink/gstopengl.c:
Use the new video-common.h stuff. Readd support for RGB video.
Original commit message from CVS:
* gst/mpegtsparse/mpegtspacketizer.c:
* gst/mpegtsparse/mpegtspacketizer.h:
Hash streams by pid again. Add a linked list inside each
stream with a list of sub_tables. Fix multiple sections
as it was borked with my last commit.
Original commit message from CVS:
* gst/videoparse/gstvideoparse.c: (gst_video_parse_init),
(gst_video_parse_src_event), (gst_video_parse_src_query_type):
Implement a query type function for the src pad, implement seeking
and use ANY caps for the sink pad as the element doesn't care what
caps the input has and everything is handled via properties.
Original commit message from CVS:
* gst/videoparse/gstvideoparse.c: (gst_video_parse_convert),
(gst_video_parse_sink_event):
Handle -1 values for the CONVERT query too.
Original commit message from CVS:
* gst/videoparse/gstvideoparse.c: (gst_video_parse_sink_event):
Add YV12 to the pad templates as it is supported too and allow
-1 as stop position for NEWSEGMENT events.
Original commit message from CVS:
* gst/videoparse/Makefile.am:
Add $(GST_PLUGINS_BASE_CFLAGS) to CFLAGS to fix the build.
* gst/videoparse/gstvideoparse.c: (gst_video_parse_init),
(gst_video_parse_set_property), (gst_video_parse_get_property):
Use g_value_[sg]et_enum() for enum properties, g_value_[sg]et_int()
gives a g_critical().
Original commit message from CVS:
* gst/videoparse/README:
* gst/videoparse/gstvideoparse.c:
Add a bunch of features: handle format specification, handle
queries and conversion. Works much like a normal parser now.
Original commit message from CVS:
* gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_finalize),
(gst_rtp_pt_demux_setup), (gst_rtp_pt_demux_release),
(gst_rtp_pt_demux_change_state):
* gst/rtpmanager/gstrtpssrcdemux.c: (gst_rtp_ssrc_demux_reset),
(gst_rtp_ssrc_demux_dispose), (gst_rtp_ssrc_demux_src_query),
(gst_rtp_ssrc_demux_change_state):
Clean up the dynamic pads when going to READY.
Original commit message from CVS:
* ext/dts/gstdtsdec.c: (gst_dtsdec_init),
(gst_dtsdec_sink_setcaps), (gst_dtsdec_chain_raw),
(gst_dtsdec_chain):
* ext/dts/gstdtsdec.h:
Add support for "audio/x-private1-dts" as used by flupsparse. Most
changes adapted from a52dec.
Original commit message from CVS:
* sys/glsink/Makefile.am:
* sys/glsink/glimagesink.c:
* sys/glsink/glvideo.c:
* sys/glsink/glvideo.h:
Split out gl-related code into a separate file with a
sensible API. Major cleanup. Still crashes occasionally
due to different threads touching bits at the same time.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* ext/soup/gstsouphttpsrc.c: (_do_init),
(gst_souphttp_src_class_init), (gst_souphttp_src_init),
(gst_souphttp_src_dispose), (gst_souphttp_src_set_property),
(gst_souphttp_src_get_property), (unicodify),
(gst_souphttp_src_unicodify), (gst_souphttp_src_create),
(gst_souphttp_src_start), (gst_souphttp_src_stop),
(gst_souphttp_src_unlock), (gst_souphttp_src_unlock_stop),
(gst_souphttp_src_get_size), (gst_souphttp_src_is_seekable),
(soup_got_headers), (soup_got_body), (soup_finished),
(soup_got_chunk), (soup_response), (soup_parse_status),
(gst_souphttp_src_uri_get_type),
(gst_souphttp_src_uri_get_protocols),
(gst_souphttp_src_uri_get_uri), (gst_souphttp_src_uri_set_uri),
(gst_souphttp_src_uri_handler_init):
* ext/soup/gstsouphttpsrc.h:
Do not try to unpause I/O in the "queued" state.
Reorganise a bunch of things and cleanups.
Uses G_GUINT64_FORMAT instead of hard-coding %llu.
See #502335.
Original commit message from CVS:
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video):
Don't strdup (and thus leak) codec name strings when passing
them to gst_tag_list_add().
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init),
(gst_rtp_bin_handle_message):
* gst/rtpmanager/gstrtpsession.c: (source_get_sdes_structure),
(on_ssrc_sdes):
Post a message when the SDES infor changes for a source.
* gst/rtpmanager/rtpsession.c:
* gst/rtpmanager/rtpsource.c:
Update some comments.
Original commit message from CVS:
Based on patch by: <mutex at runbox dot com>
* gst/videoparse/gstvideoparse.c: (gst_video_parse_src_query):
Forward the query upstream, the default element event handler does
something different. Fixes#502879.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (create_session):
* gst/rtpmanager/rtpjitterbuffer.c:
Update comment.
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init),
(gst_rtp_session_set_property), (gst_rtp_session_get_property):
Define some GObject properties to set SDES and other configuration.
* gst/rtpmanager/rtpsession.c: (rtp_session_class_init),
(rtp_session_init), (rtp_session_finalize),
(rtp_session_set_property), (rtp_session_get_property),
(on_ssrc_sdes), (rtp_session_set_bandwidth),
(rtp_session_get_bandwidth), (rtp_session_set_rtcp_fraction),
(rtp_session_get_rtcp_fraction), (rtp_session_set_sdes_string),
(rtp_session_get_sdes_string), (obtain_source),
(rtp_session_get_internal_source), (rtp_session_process_sdes),
(rtp_session_send_rtp), (rtp_session_next_timeout), (session_sdes),
(is_rtcp_time):
* gst/rtpmanager/rtpsession.h:
Add signal when new SDES infor has been found for a source.
Create properties for SDES and other info.
Simplify the SDES API.
Add method for getting the internal source object of the session.
* gst/rtpmanager/rtpsource.c: (rtp_source_class_init),
(rtp_source_finalize), (rtp_source_set_property),
(rtp_source_get_property), (rtp_source_set_callbacks),
(rtp_source_get_ssrc), (rtp_source_set_as_csrc),
(rtp_source_is_as_csrc), (rtp_source_is_active),
(rtp_source_is_validated), (rtp_source_is_sender),
(rtp_source_received_bye), (rtp_source_get_bye_reason),
(rtp_source_set_sdes), (rtp_source_set_sdes_string),
(rtp_source_get_sdes), (rtp_source_get_sdes_string),
(rtp_source_get_new_sr), (rtp_source_get_new_rb):
* gst/rtpmanager/rtpsource.h:
Add GObject properties for various things.
Don't leak the bye reason.
Original commit message from CVS:
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video):
Fix list of supported and known codecs.
Emit tag with the codec name so it gets properly reported in totem and
other applications.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (bpwsinc_transform):
* gst/filter/gstlpwsinc.c: (lpwsinc_transform):
The transform() methods are not called in passthrough mode so
there's no need for checking if the element is in passthrough mode.
Original commit message from CVS:
* gst/filter/gstbpwsinc.c: (bpwsinc_transform):
* gst/filter/gstlpwsinc.c: (lpwsinc_transform):
Sync the GObject properties with the controller even in passthrough
mode to get consistent property values.
Original commit message from CVS:
* gst/mpegtsparse/mpegtspacketizer.c:
* gst/mpegtsparse/mpegtsparse.c:
A sub table is identified by the pair table_id and
sub_table_identifier, not by pid. So hash with that.
* sys/dvb/dvbbasebin.c:
Make sure initial pids are added properly to filter,
Original commit message from CVS:
2007-12-05 Andy Wingo <wingo@pobox.com>
* gst/switch/gstswitch.c (gst_switch_set_property): Don't push
buffers from app thread when unsetting `queue-buffers', it's
dangerous and the chain function will do it for us anyway.
Original commit message from CVS:
* gst/mpegtsparse/Makefile.am:
* gst/mpegtsparse/mpegtspacketizer.c:
* gst/mpegtsparse/mpegtsparse.c:
Remove signals for pat, pmt, nit, eit, sdt. Replace with bus
messages.
* sys/dvb/dvbbasebin.c:
Instead of attaching to signals, use the bus messages.
Also fix up so the dvbsrc starts only outputting the info tables
like PAT, CAT, NIT, SDT, EIT instead of the whole ts.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* configure.ac:
Bump libsoup requirement as libsoup does not support async client
operation prior to version 2.2.104 and it has some leaks.
* ext/soup/gstsouphttpsrc.c: (gst_souphttp_src_class_init),
(gst_souphttp_src_init), (gst_souphttp_src_dispose),
(gst_souphttp_src_set_property), (gst_souphttp_src_create),
(gst_souphttp_src_start), (gst_souphttp_src_stop),
(gst_souphttp_src_unlock), (gst_souphttp_src_unlock_stop),
(gst_souphttp_src_get_size), (soup_got_headers), (soup_got_body),
(soup_finished), (soup_got_chunk), (soup_response),
(soup_session_close):
* ext/soup/gstsouphttpsrc.h:
Implement unlock().
Picks up the size from the Content-Length header and emit a duration
message.
Don't leak the GMainContext object.
Fixes#500099.
Original commit message from CVS:
* ext/alsaspdif/alsaspdifsink.c: (alsaspdifsink_set_caps),
(alsaspdifsink_get_time), (alsaspdifsink_set_params),
(alsaspdifsink_find_pcm_device):
Don't free uninitialized data when we are in error.