Commit graph

1675 commits

Author SHA1 Message Date
Sebastian Dröge
8b14d08115 gst/videoscale/gstvideoscale.c: Prefer the given format if it contains something stricter than [1,MAX] for height or ...
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c: (gst_video_scale_transform_caps):
Prefer the given format if it contains something stricter than [1,MAX]
for height or width and only put a structure that requires rescaling
as second. This makes it possible to use videoscale in pipelines where
the source can actually produce the wanted height/width but usually
selects a different one from the requested.
2008-06-04 04:24:27 +00:00
Sebastian Dröge
1d37b272ce gst/adder/gstadder.c: When using gst_element_iterate_pads() one has to unref every pad after usage.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_query_duration),
(gst_adder_query_latency):
When using gst_element_iterate_pads() one has to unref every pad
after usage.
2008-06-02 12:20:35 +00:00
Sebastian Dröge
fdd708c418 gst/audioconvert/gstaudioconvert.c: Allow up to 11 positioned channels now that audioconvert can handle this but add ...
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(structure_has_fixed_channel_positions),
(gst_audio_convert_transform_caps):
Allow up to 11 positioned channels now that audioconvert can handle
this but add no default positions for > 8 channels.
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Add some unit tests for the above change: Test conversion of
11 positioned channels to stereo and the other way around, test
conversion of 15 unpositioned channels in different ways.
2008-05-30 08:42:17 +00:00
Sebastian Dröge
b86a5d4303 gst/audioconvert/gstchannelmix.c: If mixing left or right to center (or the other way around) only take the complete ...
Original commit message from CVS:
* gst/audioconvert/gstchannelmix.c:
(gst_channel_mix_fill_one_other):
If mixing left or right to center (or the other way around) only take
the complete value if we don't already have the original position in
the source.
2008-05-29 12:17:16 +00:00
Sebastian Dröge
45ef6b5e13 gst-libs/gst/audio/multichannel.c: Allow rear center together with rear left/right and other previously conflicting c...
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions),
(gst_audio_set_structure_channel_positions_list),
(gst_audio_fixate_channel_positions):
Allow rear center together with rear left/right and other previously
conflicting channel positions. The reason why they weren't allowed
was the channel mixing implementation in audioconvert.
Also take this into account when fixing channel layouts.
Allow setting channel positions for 1/2 channels when using
gst_audio_set_structure_channel_position().
* gst/audioconvert/gstchannelmix.c:
(gst_channel_mix_fill_compatible), (gst_channel_mix_detect_pos),
(gst_channel_mix_fill_one_other), (gst_channel_mix_fill_others),
(gst_channel_mix_fill_special), (gst_channel_mix_fill_matrix):
Major rewrite of the channel mixing.
We now allow previously	conflicting channel positions to appear
together (rear center and rear left/right for example).
Fixes bug #533817.
Rework the way channels are mixed together to take more possible
channel positions into account, properly mix from/to side channels
and don't assume that either center, left&right or nothing of a
specific position is available anymore.
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Adjust unit tests with non-standard 1/2 channel layouts to the more
correct new behaviour.
Add a unit test for 5.1->Stereo downmixing.
2008-05-29 11:34:09 +00:00
Mark Nauwelaerts
17b17a566f gst/videorate/gstvideorate.*: React (more) to NEWSEGMENT
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/videorate/gstvideorate.c: (gst_video_rate_reset),
(gst_video_rate_flush_prev), (gst_video_rate_event),
(gst_video_rate_chain):
* gst/videorate/gstvideorate.h:
React (more) to NEWSEGMENT
Small adjustment in timestamp calculation to prevent mismatches
Fixes #435633.
2008-05-28 14:49:24 +00:00
Sebastian Dröge
57c3aa9b66 gst/adder/gstadder.c: Implement latency query.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_query_duration),
(gst_adder_query_latency), (gst_adder_query):
Implement latency query.
2008-05-28 08:14:47 +00:00
Sebastian Dröge
4ccac97b40 gst/adder/gstadder.c: Correctly resync the iterator if gst_iterator_next() returns
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_query_duration):
Correctly resync the iterator if gst_iterator_next() returns
GST_ITERATOR_RESYNC.
2008-05-27 18:10:00 +00:00
Wim Taymans
514b8fa456 gst/playback/gstdecodebin2.c: Check for NULL cases and log them, creating ghostpads can, for example, fail when the p...
Original commit message from CVS:
* gst/playback/gstdecodebin2.c:
(gst_decode_group_control_source_pad), (gst_decode_group_expose):
Check for NULL cases and log them, creating ghostpads can, for example,
fail when the pad returns wrong caps.
* gst/playback/gstplaybin2.c: (perform_eos):
When pushing out the EOS event, collect the return value and warn when
something failed.
2008-05-27 10:35:55 +00:00
Tim-Philipp Müller
fa38b99379 gst/videoscale/gstvideoscale.c: Change default scaling method from nearest-neighbour to bilinear.
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c: (DEFAULT_PROP_METHOD):
Change default scaling method from nearest-neighbour to bilinear.
2008-05-26 10:29:20 +00:00
Tim-Philipp Müller
206f91995b Limit duration to a maximum of five seconds for tmplayer format where we can guess the duration only from the timesta...
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (parser_state_init),
(gst_sub_parse_format_autodetect), (handle_buffer):
* gst/subparse/gstsubparse.h:
* tests/check/elements/subparse.c: (test_tmplayer_style3b):
Limit duration to a maximum of five seconds for tmplayer format where
we can guess the duration only from the timestamp of the next line of
text. We don't want to show a text for eternities just because nothing
else is being said for a while.
2008-05-25 20:51:35 +00:00
Tim-Philipp Müller
747d52adb3 gst/videotestsrc/videotestsrc.c: May just as well use the precalculated uvstride here.
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.c: (paint_hline_NV12_NV21):
May just as well use the precalculated uvstride here.
2008-05-22 22:35:40 +00:00
Jan Schmidt
d58def621b Add some documentation comments, and some new headers to be scanned.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-overrides.txt:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.xml:
* docs/plugins/inspect/plugin-audioconvert.xml:
* docs/plugins/inspect/plugin-audiorate.xml:
* docs/plugins/inspect/plugin-audioresample.xml:
* docs/plugins/inspect/plugin-audiotestsrc.xml:
* docs/plugins/inspect/plugin-cdparanoia.xml:
* docs/plugins/inspect/plugin-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.xml:
* docs/plugins/inspect/plugin-gio.xml:
* docs/plugins/inspect/plugin-gnomevfs.xml:
* docs/plugins/inspect/plugin-libvisual.xml:
* docs/plugins/inspect/plugin-ogg.xml:
* docs/plugins/inspect/plugin-pango.xml:
* docs/plugins/inspect/plugin-playback.xml:
* docs/plugins/inspect/plugin-queue2.xml:
* docs/plugins/inspect/plugin-subparse.xml:
* docs/plugins/inspect/plugin-tcp.xml:
* docs/plugins/inspect/plugin-theora.xml:
* docs/plugins/inspect/plugin-typefindfunctions.xml:
* docs/plugins/inspect/plugin-uridecodebin.xml:
* docs/plugins/inspect/plugin-video4linux.xml:
* docs/plugins/inspect/plugin-videorate.xml:
* docs/plugins/inspect/plugin-videoscale.xml:
* docs/plugins/inspect/plugin-videotestsrc.xml:
* docs/plugins/inspect/plugin-volume.xml:
* docs/plugins/inspect/plugin-vorbis.xml:
* docs/plugins/inspect/plugin-ximagesink.xml:
* docs/plugins/inspect/plugin-xvimagesink.xml:
* ext/cdparanoia/gstcdparanoiasrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggdemux.h:
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggmux.h:
* gst/audioconvert/audioconvert.c:
* gst/audioconvert/audioconvert.h:
* gst/audioconvert/gstaudioconvert.h:
* gst/gdp/gstgdpdepay.h:
* gst/gdp/gstgdppay.h:
* gst/playback/gstdecodebin.c:
* gst/playback/gstdecodebin2.c:
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c:
* gst/playback/gsturidecodebin.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcp.h:
Add some documentation comments, and some new headers to be scanned.
Rename some internal enum declarations (audioconvert's DitherType and
NoiseShapingType, GstUnitType from the TCP elements) to match the
documented GObject type names so that the docs pick them up.
Name the playbin2 docs markups properly so they get picked up. They'll
need renaming back when/if playbin2 becomes playbin.
100% symbol coverage for the plugin docs, booya.
2008-05-22 22:09:16 +00:00
Thijs Vermeir
88b1e8efcf gst/videotestsrc/videotestsrc.c: Fix generation of NV12/NV21 frames. Fixes bug #532454.
Original commit message from CVS:
Patch by: Thijs Vermeir <thijsvermeir@gmail.com>
* gst/videotestsrc/videotestsrc.c: (paint_hline_NV12_NV21):
Fix generation of NV12/NV21 frames. Fixes bug #532454.
2008-05-22 18:30:15 +00:00
Sjoerd Simons
1c424d9d93 gst/playback/gstdecodebin.c: Lock the fakesink before setting the state to NULL and removing it from the bin so that ...
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* gst/playback/gstdecodebin.c: (remove_fakesink):
Lock the fakesink before setting the state to NULL and removing it from
the bin so that a concurrent state change cannot interfere.
Fixes #534331.
2008-05-22 11:59:33 +00:00
Julien Moutte
0f80e462d9 gst/tcp/gstmultifdsink.c: Use IPPROTO_IP instead of SOL_IP, works on more platforms.
Original commit message from CVS:
2008-05-21  Julien Moutte  <julien@fluendo.com>

* gst/tcp/gstmultifdsink.c: (setup_dscp_client): Use IPPROTO_IP
instead of SOL_IP, works on more platforms.
* gst/typefind/gsttypefindfunctions.c: (aac_type_find): Fix printf
arguments.
2008-05-21 16:47:58 +00:00
Wim Taymans
2cdf18edff Some debug and comment fixes.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c:
* gst/videoscale/gstvideoscale.c: (gst_video_scale_transform):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_show_frame):
Some debug and comment fixes.
* tests/examples/dynamic/addstream.c: (main):
Fix , to ;
2008-05-21 16:44:15 +00:00
Wim Taymans
c6b54c3d02 Don't use bad gst_element_get_pad().
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind):
* gst/playback/decodetest.c: (new_decoded_pad_cb):
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(try_to_link_1), (elem_is_dynamic), (close_link), (type_found),
(cleanup_decodebin):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_init),
(connect_element), (gst_decode_group_control_demuxer_pad):
* gst/playback/gstplaybasebin.c: (queue_remove_probe),
(queue_out_of_data), (gen_preroll_element), (preroll_unlinked),
(mute_group_type):
* gst/playback/gstplaybin.c: (gst_play_bin_vis_blocked),
(gst_play_bin_set_property), (handoff), (gen_video_element),
(gen_text_element), (gen_audio_element), (gen_vis_element),
(remove_sinks), (add_sink), (setup_sinks):
* gst/playback/gstplaybin2.c: (pad_added_cb), (no_more_pads_cb):
* gst/playback/gstplaysink.c: (gst_play_sink_get_video_sink),
(gst_play_sink_get_audio_sink), (gst_play_sink_vis_unblocked),
(gst_play_sink_vis_blocked), (gst_play_sink_set_vis_plugin),
(gst_play_sink_get_vis_plugin), (gst_play_sink_set_mute),
(gen_video_chain), (gen_text_chain), (gen_audio_chain),
(gen_vis_chain), (gst_play_sink_reconfigure),
(gst_play_sink_set_font_desc), (gst_play_sink_get_font_desc),
(gst_play_sink_request_pad):
* gst/playback/gsturidecodebin.c: (type_found), (setup_source):
* gst/playback/test.c: (gen_video_element), (gen_audio_element),
(cb_newpad):
* gst/playback/test6.c: (new_decoded_pad_cb):
* tests/check/elements/audioconvert.c: (GST_START_TEST):
* tests/check/elements/audiorate.c: (test_injector_chain),
(do_perfect_stream_test):
* tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST):
* tests/check/elements/gdpdepay.c: (GST_START_TEST):
* tests/check/elements/gnomevfssink.c:
* tests/check/elements/textoverlay.c:
(notgst_check_setup_src_pad2), (notgst_check_teardown_src_pad2):
* tests/check/elements/videotestsrc.c: (GST_START_TEST):
* tests/check/libs/cddabasesrc.c: (GST_START_TEST):
* tests/check/pipelines/oggmux.c: (test_pipeline):
* tests/check/pipelines/streamheader.c: (GST_START_TEST):
* tests/check/pipelines/theoraenc.c: (GST_START_TEST):
* tests/check/pipelines/vorbisenc.c: (GST_START_TEST):
* tests/examples/seek/scrubby.c: (make_wav_pipeline):
* tests/examples/seek/seek.c: (make_mod_pipeline),
(make_dv_pipeline), (make_wav_pipeline), (make_flac_pipeline),
(make_sid_pipeline), (make_parse_pipeline), (make_vorbis_pipeline),
(make_theora_pipeline), (make_vorbis_theora_pipeline),
(make_avi_msmpeg4v3_mp3_pipeline), (make_mp3_pipeline),
(make_avi_pipeline), (make_mpeg_pipeline), (make_mpegnt_pipeline),
(update_fill), (msg_buffering):
Don't use bad gst_element_get_pad().
2008-05-21 16:36:50 +00:00
Sebastian Dröge
736b181916 gst/audioconvert/gstchannelmix.c: Fix copy & paste error in last commit.
Original commit message from CVS:
* gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_others):
Fix copy & paste error in last commit.
2008-05-21 11:36:37 +00:00
Sebastian Dröge
7d605d4514 gst/audioconvert/gstchannelmix.c: Add support for mixing GST_AUDIO_CHANNEL_POSITION_SIDE_* from/to other channel posi...
Original commit message from CVS:
* gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_others):
Add support for mixing GST_AUDIO_CHANNEL_POSITION_SIDE_* from/to
other channel positions when source has SIDE channels and dest doesn't
or the other way around.
2008-05-21 11:30:58 +00:00
Henrik Eriksson
10ae17ced1 gst/tcp/gstmultifdsink.*: Add support for DSCP QOS. Fixes #469933.
Original commit message from CVS:
Patch by: Henrik Eriksson <henriken at axis dot com>
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init),
(gst_multi_fd_sink_init), (setup_dscp_client), (setup_dscp),
(gst_multi_fd_sink_add_full), (gst_multi_fd_sink_set_property),
(gst_multi_fd_sink_get_property):
* gst/tcp/gstmultifdsink.h:
Add support for DSCP QOS. Fixes #469933.
2008-05-21 11:29:25 +00:00
Sebastian Dröge
d47bd6d7bc gst/audioconvert/gstchannelmix.c: Prevent division by zero if the channel mix matrix contains only zeroes.
Original commit message from CVS:
* gst/audioconvert/gstchannelmix.c:
(gst_channel_mix_fill_normalize):
Prevent division by zero if the channel mix matrix contains only
zeroes.
2008-05-21 07:28:04 +00:00
Antoine Tremblay
a8dda35c1b gst/gdp/gstgdppay.c: Close a buffer memory leak. Fixes bug #534071.
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst/gdp/gstgdppay.c: (gst_gdp_pay_chain):
Close a buffer memory leak. Fixes bug #534071.
2008-05-21 06:45:22 +00:00
Sebastian Dröge
e66b0a6642 gst/adder/gstadder.c: Adder also doesn't support audio/x-raw-int with width!=depth so don't claim this on the pad tem...
Original commit message from CVS:
* gst/adder/gstadder.c:
Adder also doesn't support audio/x-raw-int with width!=depth so don't
claim this on the pad template caps.
2008-05-21 05:48:05 +00:00
Sebastian Dröge
fcda3964dc gst/audioconvert/gstaudioconvert.c: Fix logic in last commit.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_fixate_channels):
Fix logic in last commit.
2008-05-20 12:26:32 +00:00
Sebastian Dröge
d76c4b4c65 gst/audioconvert/gstaudioconvert.c: Passthrough the channel positions if the number of output channels is the same as...
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_fixate_channels):
Passthrough the channel positions if the number of output channels is
the same as the number of input channels, the input had a channel
layout and downstream requests no special one. We did this already for
> 2 channels but now it's also done for 1 channel. Fixes bug #533617.
2008-05-20 12:15:34 +00:00
Sebastian Dröge
b5a5d64713 gst/audioconvert/gstaudioconvert.c: Correctly set the default channel positions when converting to 8 channels.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_fixate_channels):
Correctly set the default channel positions when converting to 8
channels.
2008-05-20 08:12:19 +00:00
Tim-Philipp Müller
7cb1276dac gst/typefind/gsttypefindfunctions.c: Use data scan helper in aac typefinder and stop scanning for headers when we've ...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (aac_type_find):
Use data scan helper in aac typefinder and stop scanning
for headers when we've found a type. Also fix potential invalid
memory access when calculating the frame length.
2008-05-19 15:59:40 +00:00
Tim-Philipp Müller
cfc8f3c0d7 gst/typefind/gsttypefindfunctions.c: Don't modify scan context when we return FALSE in ensure_data, so it's possible ...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (data_scan_ctx_ensure_data),
(mpeg_sys_is_valid_pack):
Don't modify scan context when we return FALSE in ensure_data, so
it's possible to continue scanning, and we don't end up with a NULL
data pointer and a positive size, which might bite us the next time
we're called. Small constification.
2008-05-19 14:09:08 +00:00
Sebastian Dröge
05cf63634e gst/adder/gstadder.c: Adder doesn't support 24 bit samples so don't claim it supports them in the pad template caps.
Original commit message from CVS:
* gst/adder/gstadder.c:
Adder doesn't support 24 bit samples so don't claim it supports them
in the pad template caps.
2008-05-16 21:12:02 +00:00
Tim-Philipp Müller
d92ff26d29 gst/audioresample/gstaudioresample.c: Revert previous change which made basetransform handle buffer_alloc and which b...
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c: (gst_audioresample_init):
Revert previous change which made basetransform handle buffer_alloc
and which breaks things badly in the non-passthrough case since it
returned buffers with a different (ie. sometimes smaller) size than
the size requested.
2008-05-14 13:57:41 +00:00
Sebastian Dröge
6720c5beb8 gst/adder/gstadder.c: Correctly declare the supported endianness on the pad templates and check for correct endiannes...
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps),
(gst_adder_class_init):
Correctly declare the supported endianness on the pad templates
and check for correct endianness in the set caps function. Adder
only supports native endianness.
Also use gst_element_class_set_details_simple().
2008-05-14 10:58:52 +00:00
Hannes Bistry
b9bc12afd8 gst/tcp/: Fix regression in clientsrc because we did not add the fd to the poll set anymore. Fixes #532364.
Original commit message from CVS:
Patch by: Hannes Bistry <hannesb at gmx dot de>
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_start):
* gst/tcp/gsttcpserversink.c:
(gst_tcp_server_sink_handle_server_read),
(gst_tcp_server_sink_handle_wait), (gst_tcp_server_sink_init_send):
Fix regression in clientsrc because we did not add the fd to the poll
set anymore. Fixes #532364.
Do some cleanups here and there.
2008-05-13 16:02:19 +00:00
Sebastian Dröge
05349cc354 gst/playback/: Use correct marshallers. GstCaps are a boxed type and no GObject subclass.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
* gst/playback/gstplay-marshal.list:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
Use correct marshallers. GstCaps are a boxed type and no GObject
subclass.
2008-05-13 13:04:24 +00:00
Sebastian Dröge
4d5870847f gst/ffmpegcolorspace/imgconvert.c: Fix nv12<->nv21 conversion if stride is larger than width.
Original commit message from CVS:
* gst/ffmpegcolorspace/imgconvert.c: (nv12_to_nv21):
Fix nv12<->nv21 conversion if stride is larger than width.
2008-05-13 09:14:44 +00:00
Tim-Philipp Müller
fed34307db gst/typefind/gsttypefindfunctions.c: Don't do lots of 4-byte peeks, but use the 'new' data scan helper for this inste...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (h264_video_type_find):
Don't do lots of 4-byte peeks, but use the 'new' data scan helper
for this instead; don't check if we've found enough markers after
each and every step, it's enough to do that only if we've actually
found a new marker.
Embed a G_UNLIKELY into the IS_MPEG_HEADER macro.
2008-05-10 20:16:21 +00:00
Tim-Philipp Müller
104fed4d66 gst/typefind/gsttypefindfunctions.c: Move scan helper thingy to the beginning of the file so we can use it in other t...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c:
(DATA_SCAN_CTX_CHUNK_SIZE), (DataScanCtx), (data_scan_ctx_advance),
(data_scan_ctx_ensure_data), (GST_MPEGVID_TYPEFIND_TRY_SYNC),
(mpeg_video_stream_type_find):
Move scan helper thingy to the beginning of the file so we can use
it in other typefind functions. Rename it to something more
generic. Also improve handling of things towards the end of the
typefind data: peek as much as we can if we know the size of the
data, rather than just min_size.
2008-05-10 18:19:17 +00:00
Sebastian Dröge
531c6fb462 gst/ffmpegcolorspace/: Add conversions from/to NV12 and NV21 and conversions between those two formats. Fixes bug #53...
Original commit message from CVS:
Based on a patch by:
Björn Benderius <bjoern dot benderius at axis dot com>
* gst/ffmpegcolorspace/avcodec.h:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt),
(gst_ffmpegcsp_avpicture_fill):
* gst/ffmpegcolorspace/imgconvert.c: (nv12_to_nv21):
* gst/ffmpegcolorspace/imgconvert_template.h:
Add conversions from/to NV12 and NV21 and conversions between those
two formats. Fixes bug #532166.
2008-05-09 08:34:52 +00:00
Edward Hervey
9fa3d7a294 gst/typefind/gsttypefindfunctions.c: Abort the h264 typefinding as soon as _peek() doesn't return anything, which hap...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (h264_video_type_find):
Abort the h264 typefinding as soon as _peek() doesn't return anything,
which happens for example with files smaller than 128kb.
2008-05-08 17:35:44 +00:00
Sjoerd Simons
09163ca363 gst/audioresample/gstaudioresample.c: Let audioresample use the buffer allocation of basetransform instead of it's ow...
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* gst/audioresample/gstaudioresample.c: (gst_audioresample_init):
Let audioresample use the buffer allocation of basetransform instead
of it's own stuff.
* tests/check/elements/audioresample.c: (alloc_only_48000),
(GST_START_TEST), (audioresample_suite):
Add unit test for the recent basetransform bugfix, where upstream
changes caps to something that can't be passed through anymore.
2008-05-08 06:20:42 +00:00
Sebastian Dröge
b9a285021c gst/volume/gstvolume.c: Return NOT_NEGOTIATED if we didn't set a process function yet for some reason instead of cras...
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_transform_ip):
Return NOT_NEGOTIATED if we didn't set a process function yet for some
reason instead of crashing later. Might fix bug #509125.
2008-05-06 12:35:09 +00:00
Tim-Philipp Müller
fd54092a2a gst/audioconvert/: Add support for more than 8 channels and NONE channel layouts. For more than 8 channels no channel...
Original commit message from CVS:
Based on a patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
* gst/audioconvert/audioconvert.c: (audio_convert_prepare_context):
* gst/audioconvert/audioconvert.h:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_parse_caps),
(structure_has_fixed_channel_positions),
(gst_audio_convert_transform_caps):
* gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_matrix):
Add support for more than 8 channels and NONE channel layouts. For
more than 8 channels no channel conversion is supported yet, only
format conversions are supported. Fixes bug #398033.
* tests/check/elements/audioconvert.c: (verify_convert),
(GST_START_TEST), (audioconvert_suite):
Add some unit tests by Tim for checking the NONE channel layouts
and more than 8 channels and add some more unit tests for channel
conversions.
2008-05-06 12:12:16 +00:00
Wim Taymans
4a3db41f6d gst/playback/gstdecodebin2.c: When autoplugging fails, set the element back to NULL before unreffing it.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (connect_pad):
When autoplugging fails, set the element back to NULL before
unreffing it.
2008-05-06 10:16:49 +00:00
Sebastian Dröge
9333eb4899 gst/subparse/samiparse.c: Remove trailing, leading and double whitespaces.
Original commit message from CVS:
* gst/subparse/samiparse.c: (handle_start_sync),
(end_sami_element), (characters_sami):
Remove trailing, leading and double whitespaces.
Correctly timestamp buffers and output the last buffer too.
* tests/check/elements/subparse.c: (GST_START_TEST),
(subparse_suite):
Add a simple unit test for SAMI parsing.
2008-05-05 12:33:05 +00:00
Young-Ho Cha
76e3ffb61c gst/subparse/samiparse.c: Only output characters inside the "sync" elements. There could be other elements like "styl...
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian dot net>
* gst/subparse/samiparse.c: (handle_start_sync),
(start_sami_element), (end_sami_element), (characters_sami),
(sami_context_reset):
Only output characters inside the "sync" elements. There could be
other elements like "style" that have some content but should
not be printed. Fixes bug #467911.
2008-05-05 11:14:48 +00:00
Sebastian Dröge
de277a5b2a gst/playback/: Allow setting -1 as current-audio to mute the current audio stream, similar to what is done for subtit...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (set_audio_mute),
(set_active_source):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(playbin_set_audio_mute):
Allow setting -1 as current-audio to mute the current audio stream,
similar to what is done for subtitles. Fixes bug #342294.
2008-05-05 10:03:51 +00:00
Sebastian Dröge
83f0729394 Remove some unused code.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func):
* gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func):
* gst/tcp/gsttcp.c: (gst_tcp_socket_write):
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_get_fps_list):
Remove some unused code.
* gst/audioconvert/gstaudioquantize.c:
(gst_audio_quantize_free_noise_shaping):
Don't return before freeing the noise shaping history.
2008-05-04 15:02:20 +00:00
Tim-Philipp Müller
005c1c8636 gst/subparse/: Fix parsing of tmplayer subtitle variant where every single line contains text and there isn't an empt...
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (handle_buffer),
(gst_sub_parse_sink_event):
* gst/subparse/tmplayerparse.c: (tmplayer_process_buffer),
(tmplayer_parse_line):
Fix parsing of tmplayer subtitle variant where every single line contains
text and there isn't an empty line after each line to determine the
duration (#530962). Improve EOS handling for tmplayer subtitles a bit by
making sure that we push out the last line of text without a duration if
there's still text left in the buffer at the end.
2008-05-03 15:45:23 +00:00
Tim-Philipp Müller
ee90cf1969 gst/subparse/gstsubparse.c: Fix detection of discontinuities based on the buffer offset (doesn't work so well if no b...
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (feed_textbuf):
Fix detection of discontinuities based on the buffer offset (doesn't work
so well if no buffer offset is set) and also check for the DISCONT buffer
flag. This keeps the parser state from being reset after each buffer in
the unit test.
2008-05-03 15:39:04 +00:00
Tim-Philipp Müller
6de5983831 gst/typefind/gsttypefindfunctions.c: Further fine-tuning: don't absolutely require sequence or GOP headers but adjust...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg_video_stream_type_find):
Further fine-tuning: don't absolutely require sequence or GOP headers
(as introduced in the previous commit), but adjust the typefind
probabilities returned accordingly if we don't see them. Also make sure
picture header and first slice are somewhat close to each other (which
is not perfect but still better than requiring a fixed offset or having
no limit at all).
2008-05-03 12:09:16 +00:00
Stefan Kost
2b843ca69f gst/playback/: Also include config.h when relying on defines from it. Fixes the build. Its been a please to serve :)
Original commit message from CVS:
* gst/playback/test4.c:
* gst/playback/test5.c:
* gst/playback/test6.c:
* gst/playback/test7.c:
Also include config.h when relying on defines from it. Fixes the
build. Its been a please to serve :)
2008-05-02 11:13:05 +00:00
Thijs Vermeir
32c304ad6f Add support for NV12 and NV21 in videotestsrc
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.c (paint_setup_NV12),
(paint_setup_NV21), (paint_hline_NV12_NV21):
Add support for NV12 and NV21 in videotestsrc
2008-05-02 10:54:51 +00:00
Sebastian Dröge
abbce230e2 gst/videoscale/: Support 1x1 images as input and output as for example the BBC HQ new streams have 1x1 GIFs in the pl...
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c:
* gst/videoscale/vs_4tap.c: (vs_image_scale_4tap_Y):
* gst/videoscale/vs_image.c: (vs_image_scale_nearest_RGBA),
(vs_image_scale_linear_RGBA), (vs_image_scale_nearest_RGB),
(vs_image_scale_linear_RGB), (vs_image_scale_nearest_YUYV),
(vs_image_scale_linear_YUYV), (vs_image_scale_nearest_UYVY),
(vs_image_scale_linear_UYVY), (vs_image_scale_nearest_Y),
(vs_image_scale_linear_Y), (vs_image_scale_nearest_RGB565),
(vs_image_scale_linear_RGB565), (vs_image_scale_nearest_RGB555),
(vs_image_scale_linear_RGB555):
Support 1x1 images as input and output as for example the BBC HQ new
streams have 1x1 GIFs in the playlists for some reason.
2008-05-02 10:02:05 +00:00
Tim-Philipp Müller
ea0d78e8e5 gst/playback/gstdecodebin.c: If we can't activate one of the decoders we plugged in (such as, say, musepackdec) for s...
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (free_pad_probe_for_element),
(try_to_link_1):
If we can't activate one of the decoders we plugged in (such as,
say, musepackdec) for some reason (it might not support push mode,
for example), remove any pad probes that close_pad_link() might
have set up. This makes sure we later don't try to remove a probe
for a pad that doesn't exist any longer, and avoids nast warnings
and probably other things too.
2008-05-01 19:11:42 +00:00
Tim-Philipp Müller
f8977b9e9e gst/typefind/gsttypefindfunctions.c: Rework mpeg video stream typefinding a bit more: make sure sequence,
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c:
(mpeg_video_stream_ctx_ensure_data), (mpeg_video_stream_type_find),
(plugin_init):
Rework mpeg video stream typefinding a bit more: make sure sequence,
GOP, picture and slice headers appear in the order they should and
that we've in fact at least had one of each; fix picture header
detection; decouple picture and slice header check - don't assume
they're at a fixed offset, there may be extra data in between. Also,
announce varying degrees of probability depending on what we found
exactly (multiple pictures, at least one picture, just sequence and
GOP headers). Finally, in _ensure_data(), take into account that we
might be typefinding smaller amounts of data, such as the first
buffer of a stream, so fall back to the minimum size needed as long
as that's available, instead of erroring out if there's less than
2kB of data. Fixes #526173. Conveniently also doesn't recognise the
fuzzed file from #399342 as valid.
2008-04-30 20:54:56 +00:00
Tim-Philipp Müller
5f6db60a4d gst/typefind/gsttypefindfunctions.c: Refactor a bit: use context structure to track parsing offset and size of availa...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (MpegVideoStreamCtx),
(mpeg_video_stream_ctx_advance), (mpeg_video_stream_ctx_ensure_data),
(mpeg_video_stream_type_find):
Refactor a bit: use context structure to track parsing offset and size of
available data and make the code a bit clearer. Fixes bad memory access
in #356937.
2008-04-30 14:37:52 +00:00
Michael Smith
802c45b10b gst/: Include stdlib.h and unistd.h only if the appropriate HAVE_*_H macro is defined.
Original commit message from CVS:
* gst/playback/test4.c:
* gst/playback/test5.c:
* gst/playback/test6.c:
* gst/tcp/gstmultifdsink.c:
Include stdlib.h and unistd.h only if the appropriate HAVE_*_H macro
is defined.
2008-04-28 22:18:49 +00:00
Stefan Kost
2b44c294ff gst/playback/gstplaybin.c: Remove obsolete streaminfo code and fix a leak. Fixes #529546
Original commit message from CVS:
* gst/playback/gstplaybin.c:
Remove obsolete streaminfo code and fix a leak. Fixes #529546
2008-04-24 08:19:35 +00:00
Sebastian Dröge
0c73cdcbc8 gst/typefind/gsttypefindfunctions.c: Add "mpp" and "mp+" as possible extensions for MusePack files.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (musepack_type_find),
(plugin_init):
Add "mpp" and "mp+" as possible extensions for MusePack files.
Add typefinding for MusePack StreamVersion 8 files and include the
stream version in the caps.
2008-04-19 20:06:59 +00:00
Edward Hervey
9e630c23db gst/gdp/gstgdpdepay.c: Don't validate the payload if there isn't any.
Original commit message from CVS:
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
Don't validate the payload if there isn't any.
Fixes #525915
2008-04-18 14:54:01 +00:00
Stefan Kost
e6528c39fe gst/audiotestsrc/gstaudiotestsrc.c: Remove cpp style commented old code.
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c:
Remove cpp style commented old code.
2008-04-15 19:06:00 +00:00
Stefan Kost
0d3c154ccf gst/playback/gstdecodebin2.c: Fix signal docs.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c:
Fix signal docs.
2008-04-15 19:02:10 +00:00
Wim Taymans
f0738f6fd3 docs/design/draft-keyframe-force.txt: Fix typo.
Original commit message from CVS:
* docs/design/draft-keyframe-force.txt:
Fix typo.
* gst/playback/gstqueue2.c: (update_buffering),
(gst_queue_handle_src_query):
Set buffering mode in the messages.
Set buffering percent in the query.
* tests/examples/seek/seek.c: (update_fill), (msg_state_changed),
(do_stream_buffering), (do_download_buffering), (msg_buffering):
Do some more fancy things based on the buffering method in use.
2008-04-11 01:25:01 +00:00
Wim Taymans
e5bdd95038 gst/playback/gstqueue2.c: Include extra buffering stats in the buffering message.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (update_buffering),
(gst_queue_close_temp_location_file), (gst_queue_handle_src_query),
(gst_queue_src_checkgetrange_function):
Include extra buffering stats in the buffering message.
Implement BUFFERING query.
* gst/playback/gsturidecodebin.c: (do_async_start),
(do_async_done), (type_found), (setup_streaming), (setup_source),
(gst_uri_decode_bin_change_state):
Only add decodebin2 when the type is found in streaming mode.
Make uridecodebin async to PAUSED even when we don't have decodebin2
added yet.
2008-04-09 21:40:17 +00:00
Tim-Philipp Müller
7a29d716bd gst/: Work around missing bits of thread-safety on older GLibs some more to avoid assertions when starting up multipl...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
* gst/playback/gstplayback.c: (plugin_init):
* gst/volume/gstvolume.c: (plugin_init):
Work around missing bits of thread-safety on older GLibs some
more to avoid assertions when starting up multiple playbin
objects concurrently (see #512382).
2008-04-06 20:16:27 +00:00
Stefan Kost
b04f8ef354 docs/plugins/: Add playbin, playbin2, decodebin, decodebin2, uridecodebin and oggmux
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-overrides.txt:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
Add playbin, playbin2, decodebin, decodebin2, uridecodebin and oggmux
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.xml:
* docs/plugins/inspect/plugin-audioconvert.xml:
* docs/plugins/inspect/plugin-audiorate.xml:
* docs/plugins/inspect/plugin-audioresample.xml:
* docs/plugins/inspect/plugin-audiotestsrc.xml:
* docs/plugins/inspect/plugin-cdparanoia.xml:
* docs/plugins/inspect/plugin-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.xml:
* docs/plugins/inspect/plugin-gnomevfs.xml:
* docs/plugins/inspect/plugin-libvisual.xml:
* docs/plugins/inspect/plugin-ogg.xml:
* docs/plugins/inspect/plugin-pango.xml:
* docs/plugins/inspect/plugin-playback.xml:
* docs/plugins/inspect/plugin-queue2.xml:
* docs/plugins/inspect/plugin-subparse.xml:
* docs/plugins/inspect/plugin-tcp.xml:
* docs/plugins/inspect/plugin-theora.xml:
* docs/plugins/inspect/plugin-typefindfunctions.xml:
* docs/plugins/inspect/plugin-uridecodebin.xml:
* docs/plugins/inspect/plugin-video4linux.xml:
* docs/plugins/inspect/plugin-videorate.xml:
* docs/plugins/inspect/plugin-videoscale.xml:
* docs/plugins/inspect/plugin-videotestsrc.xml:
* docs/plugins/inspect/plugin-volume.xml:
* docs/plugins/inspect/plugin-vorbis.xml:
* docs/plugins/inspect/plugin-ximagesink.xml:
* docs/plugins/inspect/plugin-xvimagesink.xml:
Update introspection data.
* ext/ogg/gstoggmux.c:
Document oggmux.
* gst/playback/gstdecodebin2.c:
Don't use gtk-doc style comment start for private stuff, but make it
formatted like this for consistency.
2008-04-03 14:58:06 +00:00
Wim Taymans
c98a370f8c gst/playback/gstdecodebin2.c: Remove fakesink hack, we can now implement this more elegantly.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
(gst_decode_bin_init), (gst_decode_bin_dispose),
(gst_decode_bin_set_sink_caps), (gst_decode_bin_get_sink_caps),
(gst_decode_bin_set_property), (gst_decode_bin_get_property),
(analyze_new_pad), (connect_pad), (expose_pad),
(gst_decode_group_new), (gst_decode_group_control_demuxer_pad),
(gst_decode_group_expose), (gst_decode_group_free),
(do_async_start), (do_async_done), (gst_decode_bin_change_state):
Remove fakesink hack, we can now implement this more elegantly.
Added property to bypass typefinding.
Removed underrun callback and demuxer pad probe, we now use the srcpad
probe to expose groups.
API::sink-caps property
* gst/playback/gstplaybin2.c: (no_more_pads_cb):
Guard against multiple emissions of the no_more_pads signal, which
happens when we are dealing with chained oggs.
* gst/playback/gsturidecodebin.c: (remove_decoders),
(make_decoder), (type_found), (setup_streaming), (source_new_pad),
(setup_source):
For streams, use our own typefind element and plug our queue after it.
We will need this to determine the type of buffering to use for the
queue soon.
2008-04-03 12:16:04 +00:00
Wim Taymans
8f77a5d928 gst/playback/gstqueue2.c: Update the estimated input data when we push out a buffer.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (update_out_rates),
(gst_queue_open_temp_location_file),
(gst_queue_close_temp_location_file), (gst_queue_handle_src_event),
(gst_queue_handle_src_query), (gst_queue_set_property):
Update the estimated input data when we push out a buffer.
Add some debug info about the temp file.
Only forward src events when we are not using a temp file.
Don't block the duration query, we need to find something better.
Don't leak the temp filename.
2008-04-02 11:08:05 +00:00
Sebastian Dröge
c82eca96a6 configure.ac: Require GLib 2.12 and liboil 0.3.14.
Original commit message from CVS:
* configure.ac:
Require GLib 2.12 and liboil 0.3.14.
* gst/volume/gstvolume.c: (volume_process_double):
Unconditionally use liboil 0.3.14 function.
2008-04-01 14:01:14 +00:00
Michael Smith
670d6cd1e4 gst/gdp/gstgdpdepay.c: Check the body CRC (if set) when depayloading.
Original commit message from CVS:
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
Check the body CRC (if set) when depayloading.
Fixes #522401.
2008-03-27 15:26:38 +00:00
Wim Taymans
03e571d945 gst/playback/gstqueue2.c: The queue is never filled when there are no buffers in the queue at all.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_is_filled):
The queue is never filled when there are no buffers in the queue at all.
Fixes #523993.
2008-03-24 14:08:22 +00:00
Wim Taymans
ad1cbe1edd gst/playback/gstplaybin2.c: Update some docs.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(init_group), (free_group), (gst_play_bin_init),
(gst_play_bin_finalize), (gst_play_bin_set_uri),
(gst_play_bin_set_suburi), (gst_play_bin_get_video_tags),
(gst_play_bin_get_audio_tags), (gst_play_bin_get_text_tags),
(gst_play_bin_set_current_video_stream),
(gst_play_bin_set_current_audio_stream),
(gst_play_bin_set_current_text_stream),
(gst_play_bin_set_encoding), (gst_play_bin_set_property),
(gst_play_bin_get_property), (pad_added_cb), (pad_removed_cb),
(no_more_pads_cb), (perform_eos), (autoplug_select_cb),
(activate_group), (deactivate_group), (setup_next_source),
(save_current_group), (gst_play_bin_change_state):
Update some docs.
Add new locks and conds to protect pipeline creation and group
switching.
Implement the sub-uri property.
Keep track of pending uridecodebin creation and configure the output
pipeline after all streams are configured.
Propagate subtitle encoding to the uridecodebins.
Implement getting the video/audio/visualisation elements.
Use input-selector for stream switching.
If we are asked to do visualisation, prefer to autoplug raw sinks
instead of sinks that accept encoded data.
2008-03-24 12:26:30 +00:00
Wim Taymans
cd1fed3345 gst/playback/gstplaysink.*: Add methods to get audio/video/vis elements.
Original commit message from CVS:
* gst/playback/gstplaysink.c: (gst_play_sink_class_init),
(gst_play_sink_init), (gst_play_sink_dispose),
(gst_play_sink_set_video_sink), (gst_play_sink_get_video_sink),
(gst_play_sink_set_audio_sink), (gst_play_sink_get_audio_sink),
(gst_play_sink_vis_unblocked), (gst_play_sink_vis_blocked),
(gst_play_sink_set_vis_plugin), (gst_play_sink_get_vis_plugin),
(gst_play_sink_set_volume), (gst_play_sink_get_volume),
(gst_play_sink_set_mute), (gen_video_chain), (gen_text_chain),
(gen_audio_chain), (gen_vis_chain), (gst_play_sink_reconfigure),
(gst_play_sink_set_font_desc), (gst_play_sink_get_font_desc),
(gst_play_sink_send_event_to_sink), (gst_play_sink_change_state):
* gst/playback/gstplaysink.h:
Add methods to get audio/video/vis elements.
Add methods to set the font description for the overlay.
Remove properties, we're using this element with its methods only.
Add support for subtitles.
Rearrange the locking a bit to not use the object lock for protecting
the pipeline construction.
Try to use the volume and mute property on the sink when its available.
Implement the mute option with volume when the sink does not have a mute
property.
Only add volume element when the sink has no volume property.
Only do visualisations with raw audio pads.
2008-03-24 12:15:26 +00:00
Wim Taymans
3640ae2d36 gst/playback/gsturidecodebin.c: Add a readonly source property and notify.
Original commit message from CVS:
* gst/playback/gsturidecodebin.c:
(gst_uri_decode_bin_autoplug_factories),
(gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init),
(gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_encoding),
(gst_uri_decode_bin_set_property),
(gst_uri_decode_bin_get_property), (no_more_pads_full),
(new_decoded_pad_cb), (gen_source_element), (remove_decoders),
(proxy_autoplug_factories_signal), (make_decoder),
(source_new_pad), (setup_source):
Add a readonly source property and notify.
Add new lock for protecting the construction of the pipeline.
Keep track of the decodebins we plugged.
Correctly proxy the autoplug signal so that it actually continues.
Proxy subtitle-encoding to the decodebins.
2008-03-24 11:54:02 +00:00
Wim Taymans
8eb84372bd gst/playback/gstdecodebin2.c: Protect caps property with the object lock.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose),
(gst_decode_bin_set_caps), (gst_decode_bin_get_caps),
(gst_decode_bin_set_subs_encoding),
(gst_decode_bin_get_subs_encoding),
(gst_decode_bin_autoplug_factories), (connect_pad), (are_raw_caps),
(deactivate_free_recursive):
Protect caps property with the object lock.
Protect encoding property with the object lock.
Keep list of elements we added that have the subtitle-encoding property.
Distribute the subtitle-encoding to all of the elements when it
changes.
2008-03-24 11:36:08 +00:00
Sebastian Dröge
49deb0c05d Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u...
Original commit message from CVS:
* configure.ac:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init):
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_class_init):
* ext/gio/gstgiosink.c: (gst_gio_sink_class_init):
* ext/gio/gstgiosrc.c: (gst_gio_src_class_init):
* ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init):
* ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
* ext/pango/gsttextrender.c: (gst_text_render_class_init):
* ext/theora/theoradec.c: (gst_theora_dec_class_init):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init):
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_class_init):
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init):
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init):
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init):
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init):
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(preroll_unlinked):
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init):
* gst/playback/gstplaysink.c: (gst_play_sink_class_init):
* gst/playback/gstqueue2.c: (gst_queue_class_init):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_stream_selector_class_init):
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init):
* gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init):
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init):
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_class_init):
* gst/volume/gstvolume.c: (gst_volume_class_init):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use
static strings (i.e. all). This gives us less memory usage,
fewer allocations and thus less memory defragmentation. Depend
on core CVS for this. Fixes bug #523806.
2008-03-22 15:00:53 +00:00
Sebastian Dröge
2034387d4d gst/volume/gstvolume.c: memset buffers to zero if we get a GAP buffer. We usually see a buffer as one unit so let's h...
Original commit message from CVS:
* gst/volume/gstvolume.c: (gst_volume_interface_supported),
(gst_volume_base_init), (gst_volume_class_init),
(volume_process_double), (volume_process_float),
(volume_transform_ip), (plugin_init):
memset buffers to zero if we get a GAP buffer. We usually see a
buffer as one unit so let's handle it as one and don't care about
volume changes while processing one buffer.
Also clean up some stuff a bit.
2008-03-21 16:46:33 +00:00
Sebastian Dröge
88136fc11a gst/audioconvert/gstaudioconvert.c: Make audioconvert GAP-aware by outputting silence buffers when the input has the ...
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init),
(gst_audio_convert_create_silence_buffer),
(gst_audio_convert_transform):
Make audioconvert GAP-aware by outputting silence buffers when the
input has the GAP flag set. This is up to 8x faster.
Based on a patch by Stefan Kost. Fixes bug #517813.
2008-03-21 15:58:44 +00:00
Sebastian Dröge
cd5f49f47f gst/volume/gstvolume.c: Use oil_scalarmultiply_f64_ns() for double processing when it's available at compile time.
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_process_double):
Use oil_scalarmultiply_f64_ns() for double processing when it's
available at compile time.
2008-03-21 15:54:54 +00:00
David Schleef
66935a9872 gst/videotestsrc/videotestsrc.c: Oops, revert last change because -base is in freeze.
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.c:  Oops, revert last change
because -base is in freeze.
2008-03-14 18:42:35 +00:00
William M. Brack
bfdcf07674 gst/videotestsrc/videotestsrc.c: Fix Bayer pattern generation.
Original commit message from CVS:
Patch by: William M. Brack
* gst/videotestsrc/videotestsrc.c: Fix Bayer pattern generation.
2008-03-14 17:33:09 +00:00
Wim Taymans
4803dd99e5 gst/playback/gststreamselector.*: Revert change that caused regression until a real fix is found.
Original commit message from CVS:
* gst/playback/gststreamselector.c: (gst_selector_pad_event),
(gst_selector_pad_chain):
* gst/playback/gststreamselector.h:
Revert change that caused regression until a real fix is found.
Fixes #522203.
2008-03-14 09:54:44 +00:00
Wim Taymans
6c50e0031a gst/tcp/gstmultifdsink.c: Update mode property docs, it's deprecated now.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
Update mode property docs, it's deprecated now.
2008-03-07 16:10:51 +00:00
Wim Taymans
8a822e70be gst/: Remove GstPollMode from gstpoll constructor.
Original commit message from CVS:
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_create):
* gst/tcp/gstmultifdsink.c: (gst_fdset_mode_get_type),
(gst_multi_fd_sink_class_init), (gst_multi_fd_sink_start):
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_start):
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_start):
Remove GstPollMode from gstpoll constructor.
2008-03-07 15:48:51 +00:00
Jan Schmidt
43a120bc57 gst/Makefile.am: GST_PLUGINS_ALL correctly lists subparse and tcp now, don't distclean them twice
Original commit message from CVS:
* gst/Makefile.am:
GST_PLUGINS_ALL correctly lists subparse and tcp now, don't distclean
them twice
* win32/common/libgstinterfaces.def:
* win32/common/libgstrtp.def:
Add new API to the defs
2008-03-03 23:59:45 +00:00
Sebastian Dröge
6f86b8b8a7 gst/typefind/gsttypefindfunctions.c: Add typefinder for IMelody files, using audio/x-imelody.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Add typefinder for IMelody files, using audio/x-imelody.
See bug #519516.
2008-03-03 06:22:39 +00:00
Sebastian Dröge
ec7afb6f84 Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
Original commit message from CVS:
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_get_type):
* ext/alsa/gstalsasink.c: (set_hwparams):
* ext/alsa/gstalsasrc.c: (set_hwparams):
* ext/gio/gstgio.c: (gst_gio_uri_handler_get_uri):
* ext/ogg/gstoggmux.h:
* ext/ogg/gstogmparse.c:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/fft/kiss_fft_f64.c: (kiss_fft_f64_alloc):
* gst-libs/gst/pbutils/missing-plugins.c:
(gst_missing_uri_sink_message_new),
(gst_missing_element_message_new),
(gst_missing_decoder_message_new),
(gst_missing_encoder_message_new):
* gst-libs/gst/rtp/gstbasertppayload.c:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
(gst_rtcp_packet_bye_get_reason):
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/ffmpegcolorspace/imgconvert.c:
* gst/playback/test.c: (gen_video_element), (gen_audio_element):
* gst/typefind/gsttypefindfunctions.c:
* gst/videoscale/vs_4tap.c:
* gst/videoscale/vs_4tap.h:
* sys/v4l/gstv4lelement.c:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get_any_caps):
* sys/v4l/v4l_calls.c:
* sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_init),
(gst_v4lsrc_try_capture):
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new):
* tests/check/elements/audioconvert.c:
* tests/check/elements/audioresample.c:
(fail_unless_perfect_stream):
* tests/check/elements/audiotestsrc.c: (setup_audiotestsrc):
* tests/check/elements/decodebin.c:
* tests/check/elements/gdpdepay.c: (setup_gdpdepay),
(setup_gdpdepay_streamheader):
* tests/check/elements/gdppay.c: (setup_gdppay), (GST_START_TEST),
(setup_gdppay_streamheader):
* tests/check/elements/gnomevfssink.c: (setup_gnomevfssink):
* tests/check/elements/multifdsink.c: (setup_multifdsink):
* tests/check/elements/textoverlay.c:
* tests/check/elements/videorate.c: (setup_videorate):
* tests/check/elements/videotestsrc.c: (setup_videotestsrc):
* tests/check/elements/volume.c: (setup_volume):
* tests/check/elements/vorbisdec.c: (setup_vorbisdec):
* tests/check/elements/vorbistag.c:
* tests/check/generic/clock-selection.c:
* tests/check/generic/states.c: (setup), (teardown):
* tests/check/libs/cddabasesrc.c:
* tests/check/libs/video.c:
* tests/check/pipelines/gio.c:
* tests/check/pipelines/oggmux.c:
* tests/check/pipelines/simple-launch-lines.c:
(simple_launch_lines_suite):
* tests/check/pipelines/streamheader.c:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisdec.c:
* tests/check/pipelines/vorbisenc.c:
* tests/examples/seek/scrubby.c:
* tests/examples/seek/seek.c: (query_positions_elems),
(query_positions_pads):
* tests/icles/stress-xoverlay.c: (myclock):
Correct all relevant warnings found by the sparse semantic code
analyzer. This include marking several symbols static, using
NULL instead of 0 for pointers and using "foo (void)" instead
of "foo ()" for declarations.
* win32/common/libgstrtp.def:
Add gst_rtp_buffer_set_extension_data to the symbol definition file.
2008-03-03 06:04:31 +00:00
José Alburquerque
f61c20f1d2 gst/playback/gstplaybin2.c: Make the function signature of the _get_*_tags() functions match the signature of the vfu...
Original commit message from CVS:
Patch by: José Alburquerque <jaalburqu svn gnome org>
* gst/playback/gstplaybin2.c:
Make the function signature of the _get_*_tags() functions match
the signature of the vfuncs they implement, ie. return a
GstTagList rather than a GstStructure, which is more correct,
even if one is typedef'ed to the other (#518940).
2008-03-02 18:43:15 +00:00
Wim Taymans
472162d1b1 gst/playback/gstplaybin2.c: Enable vis setting.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (gst_play_bin_set_property):
Enable vis setting.
* gst/playback/gstplaysink.c: (gst_play_sink_init),
(gst_play_sink_dispose), (gst_play_sink_vis_unblocked),
(gst_play_sink_vis_blocked), (gst_play_sink_set_vis_plugin),
(gen_vis_chain):
Implement vis switching while playing.
2008-02-29 12:26:48 +00:00
Peter Kjellerstedt
405571a67e gst/tcp/: Removed fdset and stress test, they are now known as GstPoll in core.
Original commit message from CVS:
Patch by: Peter Kjellerstedt  <pkj at axis com>
* gst/tcp/Makefile.am:
* gst/tcp/fdsetstress.c:
* gst/tcp/gstfdset.c:
* gst/tcp/gstfdset.h:
Removed fdset and stress test, they are now known as GstPoll in
core.
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init),
(gst_multi_fd_sink_add_full), (gst_multi_fd_sink_remove),
(gst_multi_fd_sink_clear), (gst_multi_fd_sink_remove_client_link),
(gst_multi_fd_sink_handle_client_write),
(gst_multi_fd_sink_queue_buffer),
(gst_multi_fd_sink_handle_clients), (gst_multi_fd_sink_start),
(gst_multi_fd_sink_stop):
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcp.c: (gst_tcp_socket_read), (gst_tcp_socket_close),
(gst_tcp_read_buffer), (gst_tcp_gdp_read_buffer),
(gst_tcp_gdp_read_caps):
* gst/tcp/gsttcp.h:
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_init),
(gst_tcp_client_sink_setcaps), (gst_tcp_client_sink_render),
(gst_tcp_client_sink_start), (gst_tcp_client_sink_stop):
* gst/tcp/gsttcpclientsink.h:
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_init),
(gst_tcp_client_src_create), (gst_tcp_client_src_start),
(gst_tcp_client_src_stop), (gst_tcp_client_src_unlock):
* gst/tcp/gsttcpclientsrc.h:
* gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_handle_wait),
(gst_tcp_server_sink_init_send), (gst_tcp_server_sink_close):
* gst/tcp/gsttcpserversink.h:
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_init),
(gst_tcp_server_src_create), (gst_tcp_server_src_start),
(gst_tcp_server_src_stop), (gst_tcp_server_src_unlock):
* gst/tcp/gsttcpserversrc.h:
Port to GstPoll. See #505417.
2008-02-28 10:54:14 +00:00
Sebastian Dröge
929afcbaa1 gst/typefind/gsttypefindfunctions.c: Comment smoke typefinder for now. The smokedec plugin needs one frame per buffer...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Comment smoke typefinder for now. The smokedec plugin needs one
frame per buffer but we have no parser yet, thus it simply crashes
in most situations.
2008-02-25 07:21:33 +00:00
Sebastian Dröge
9327c2a8ec gst/typefind/gsttypefindfunctions.c: Add typefinder for the smoke video codec. Copied from the jpeg plugin.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Add typefinder for the smoke video codec. Copied from the jpeg plugin.
2008-02-25 06:48:14 +00:00
Sebastian Dröge
49e1c708bb gst/typefind/gsttypefindfunctions.c: Add midi typefinder, copied from the timidity plugin.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mid_type_find),
(plugin_init):
Add midi typefinder, copied from the timidity plugin.
2008-02-25 06:29:09 +00:00
Tomasz Sałaciński
6ab3a0e0c0 Forward slashes at the beginning and end of a line also signify italics (Fixes: #518162).
Original commit message from CVS:
Based on patch by: Tomasz Sałaciński <tsalacinski gmail com>
* gst/subparse/gstsubparse.c: (parse_mdvdsub):
* tests/check/elements/subparse.c: (test_microdvd_with_italics),
(subparse_suite):
Forward slashes at the beginning and end of a line also signify
italics (Fixes: #518162).
2008-02-23 09:51:26 +00:00
Stefan Kost
7278c5871c gst/audiotestsrc/gstaudiotestsrc.c: Mark buffers as GAP,if volume is 0.0 and fix the previous logic.
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c:
Mark buffers as GAP,if volume is 0.0 and fix the previous logic.
2008-02-21 08:05:10 +00:00
Wim Taymans
dd1282f45a gst/playback/gstplaysink.c: Recursively search the sink element for a last-frame property so that we can also find th...
Original commit message from CVS:
* gst/playback/gstplaysink.c: (find_property),
(gst_play_sink_find_property), (gen_video_chain),
(gst_play_sink_reconfigure), (gst_play_sink_get_last_frame):
Recursively search the sink element for a last-frame property so that we
can also find the property in autovideosink and friends that don't
always proxy the internal sink properties.
2008-02-20 11:52:28 +00:00
Josep Torra Valles
51528422ca gst/typefind/gsttypefindfunctions.c: Increase the MPEG PS typefind lookup to fix typefinding on HD clips.
Original commit message from CVS:
2008-02-19  Julien Moutte  <julien@fluendo.com>

Patch by: Josep Torra Valles <josep@fluendo.com>

* gst/typefind/gsttypefindfunctions.c: Increase the MPEG PS
typefind lookup to fix typefinding on HD clips.
2008-02-19 16:16:55 +00:00
Tim-Philipp Müller
943d4cdc35 gst/playback/gstscreenshot.*: Fix up copyright (I rewrote the GStreamer-0.10 code for this from scratch back in the d...
Original commit message from CVS:
* gst/playback/gstscreenshot.c:
* gst/playback/gstscreenshot.h:
Fix up copyright (I rewrote the GStreamer-0.10 code for
this from scratch back in the days).
2008-02-19 15:50:37 +00:00
Wim Taymans
81558d6a94 gst/playback/: Add screenshot conversion code from totem.
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstscreenshot.c: (feed_fakesrc), (save_result),
(create_element), (gst_play_frame_conv_convert):
* gst/playback/gstscreenshot.h:
Add screenshot conversion code from totem.
* gst/playback/gstplay-marshal.list:
* gst/playback/gstplaybin2.c: (gst_play_marshal_BUFFER__BOXED),
(gst_play_bin_class_init), (gst_play_bin_convert_frame),
(gst_play_bin_get_property), (no_more_pads_cb), (activate_group):
Implement frame property to get a color-unconverted snapshot.
Implement convert-frame action signal to get a converted snapshot image.
Configure connection speed in uridecodebin.
Document some more properties.
* gst/playback/gstplaysink.c: (gst_play_sink_class_init),
(gen_video_chain), (gen_audio_chain), (gst_play_sink_reconfigure),
(gst_play_sink_get_last_frame):
* gst/playback/gstplaysink.h:
Use last-buffer property of the video sink to get a video snapshot.
* tests/examples/seek/seek.c: (shot_cb), (main):
Add snapshot button for playbin2 and use the frame property to save the
frame as a png in the current directory.
2008-02-19 15:02:33 +00:00
Josep Torra Valles
58a9fd3622 gst/typefind/gsttypefindfunctions.c: Add typefinding support for h264 elementary streams.
Original commit message from CVS:
Patch by: Josep Torra Valles <josep at fluendo dot com>
* gst/typefind/gsttypefindfunctions.c: (h264_video_type_find),
(plugin_init):
Add typefinding support for h264 elementary streams.
Fixes bug #517420.
2008-02-19 11:45:56 +00:00
Stefan Kost
054842ca82 configure.ac: Require CVS of core for new API in collectpads.
Original commit message from CVS:
* configure.ac:
Require CVS of core for new API in collectpads.
* gst/adder/gstadder.c:
Use new API to make adder sparse stream aware.
2008-02-18 13:51:34 +00:00
Wim Taymans
5fc67f8bd3 gst/playback/gstplaybin2.c: Get the object data correct so that we can remove our channels correctly.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (pad_added_cb), (pad_removed_cb),
(no_more_pads_cb):
Get the object data correct so that we can remove our channels
correctly.
* gst/playback/gstplaysink.c: (gen_video_chain), (gen_audio_chain),
(gen_vis_chain), (gst_play_sink_reconfigure),
(gst_play_sink_request_pad):
Add option to disable async behaviour in the sinks when possible. This
makes it possible to avoid an audio queue when dealing with
visualisations.
Add option to add a queue for the audio path.
* tests/examples/seek/seek.c: (clear_streams), (update_streams),
(main):
Disable the vis checkbox to match the defaults of playbin2.
Only get the stream info when we need to.
2008-02-18 11:54:15 +00:00
Wim Taymans
5659831526 gst/playback/gstplaysink.c: Move tee in front of the audio and vis pipelines.
Original commit message from CVS:
* gst/playback/gstplaysink.c: (gst_play_sink_set_mute),
(gst_play_sink_get_mute), (gen_video_chain), (gen_audio_chain),
(gen_vis_chain), (gst_play_sink_reconfigure),
(gst_play_sink_request_pad):
Move tee in front of the audio and vis pipelines.
Add queue for audio for now.
Add visualisation support.
* tests/examples/seek/seek.c: (main):
Visualisation is by default disabled.
2008-02-15 18:38:52 +00:00
Wim Taymans
609daaede3 gst/playback/: Add mute property.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(gst_play_bin_set_property), (gst_play_bin_get_property),
(pad_added_cb), (pad_removed_cb), (no_more_pads_cb):
* gst/playback/gstplaysink.c: (gst_play_sink_set_mute),
(gst_play_sink_get_mute), (gen_audio_chain):
* gst/playback/gstplaysink.h:
Add mute property.
* gst/playback/gststreamselector.c: (gst_selector_pad_event),
(gst_selector_pad_chain):
* gst/playback/gststreamselector.h:
Make sure we forward the event only once.
* tests/examples/seek/seek.c: (stop_cb), (mute_toggle_cb), (main):
Add and implement the mute button for playbin2.
2008-02-14 18:24:42 +00:00
Tim-Philipp Müller
1d9e1d6a3d gst/playback/: Handle case where we can't create the volume element a bit better (#514307).
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_audio_element):
* gst/playback/gstplaysink.c: (gen_audio_chain):
Handle case where we can't create the volume element a bit
better (#514307).
2008-02-11 18:31:43 +00:00
Tim-Philipp Müller
cfe66ed251 gst/typefind/gsttypefindfunctions.c: Bump rank of jpeg and png typefinders, which will return maximum probability in ...
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c:
Bump rank of jpeg and png typefinders, which will return maximum
probability in the most common cases (thus short-circuiting more
expensive typefinders like the mp3 one for these two quite common
image types).
2008-02-11 13:03:13 +00:00
Zaheer Abbas Merali
b006ba7afe gst/playback/gstplaybasebin.c: Set is_dynamic as True if there are elements with both request and sometimes src pad t...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c:
Set is_dynamic as True if there are elements with both request
and sometimes src pad templates instead of breaking out when it
finds the first pad template that is a src.
2008-02-09 10:41:36 +00:00
Wim Taymans
c8bb67d0ca gst/playback/gstplay-marshal.list: Added marshal for streamselector Tags.
Original commit message from CVS:
* gst/playback/gstplay-marshal.list:
Added marshal for streamselector Tags.
* gst/playback/gstplaybasebin.c: (set_active_source):
Streamselector now selects pads based on the pad object instead of its
name.
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(init_group), (gst_play_bin_init), (get_group), (get_tags),
(gst_play_bin_get_video_tags), (gst_play_bin_get_audio_tags),
(gst_play_bin_get_text_tags),
(gst_play_bin_set_current_video_stream),
(gst_play_bin_set_current_audio_stream),
(gst_play_bin_set_current_text_stream),
(gst_play_bin_set_property), (gst_play_bin_get_property),
(pad_added_cb), (pad_removed_cb), (autoplug_select_cb):
Remove option to mute streams with the current-a/v/t property, we have
this functionality in the flags.
Add signals to notify when the number of A/V/T channels changed.
Add action signals to get tags for the A/V/T streams.
Implement setting the current A/V/T stream.
Rearrange some things to simplify stream selection.
Implement volume.
* gst/playback/gstplaysink.c: (gst_play_sink_set_volume),
(gst_play_sink_get_volume), (gst_play_sink_set_property),
(gst_play_sink_get_property), (gen_video_chain), (gen_audio_chain),
(activate_vis), (gst_play_sink_reconfigure):
* gst/playback/gstplaysink.h:
Add and implement volume setting methods.
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_selector_pad_finalize), (gst_selector_pad_get_property),
(gst_selector_pad_event), (gst_stream_selector_class_init),
(gst_stream_selector_init), (gst_stream_selector_finalize),
(gst_stream_selector_set_property),
(gst_stream_selector_get_property),
(gst_stream_selector_get_linked_pad),
(gst_stream_selector_request_new_pad):
* gst/playback/gststreamselector.h:
Add pad properties for tags and status of pads.
Keep tags on pads.
Make active pad selection based on pad object instead of name.
2008-02-08 17:47:37 +00:00
Wim Taymans
b5aaf1e1a9 gst/tcp/gstfdset.h: Remove unused field to same some memory.
Original commit message from CVS:
* gst/tcp/gstfdset.h:
Remove unused field to same some memory.
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
Mark action signals as such.
2008-02-06 15:07:30 +00:00
Wim Taymans
899330d904 gst/playback/gstplaybin2.c: Remove stream-info, we going for something easier.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(get_group), (get_n_pads), (gst_play_bin_get_property),
(pad_added_cb), (no_more_pads_cb), (perform_eos),
(autoplug_select_cb), (deactivate_group):
Remove stream-info, we going for something easier.
Refactor getting the current group.
Implement getting the number of audio/video/text streams.
* gst/playback/gststreamselector.c:
(gst_stream_selector_class_init), (gst_stream_selector_init),
(gst_stream_selector_get_property),
(gst_stream_selector_request_new_pad),
(gst_stream_selector_release_pad):
* gst/playback/gststreamselector.h:
Add property for number of pads.
* tests/examples/seek/seek.c: (set_scale), (update_flag),
(vis_toggle_cb), (audio_toggle_cb), (video_toggle_cb),
(text_toggle_cb), (update_streams), (msg_async_done),
(msg_state_changed), (main):
Block slider callback when updating the slider position.
Add gui elements for controlling playbin2.
Add callback for async_done that updates position/duration.
2008-02-01 16:44:21 +00:00
David Schleef
5aad3658f8 gst/videoscale/vs_4tap.c: Fix valgrind error on 4tap scaling method.
Original commit message from CVS:
* gst/videoscale/vs_4tap.c:
Fix valgrind error on 4tap scaling method.
2008-01-14 01:19:34 +00:00
Tim-Philipp Müller
047fb95bad gst/playback/gstdecodebin.c: Make sure we error out correctly if we can't activate one of the elements we've added. ...
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (try_to_link_1):
Make sure we error out correctly if we can't activate one of
the elements we've added.  Fixes #508138.
2008-01-08 20:48:00 +00:00
Wim Taymans
9c9f60777a gst/playback/gstplay-enum.*: Add enums for configuration flags.
Original commit message from CVS:
* gst/playback/gstplay-enum.c:
(register_gst_autoplug_select_result),
(gst_autoplug_select_result_get_type), (register_gst_play_flags),
(gst_play_flags_get_type):
* gst/playback/gstplay-enum.h:
Add enums for configuration flags.
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(init_group), (gst_play_bin_init), (gst_play_bin_set_property),
(gst_play_bin_get_property), (no_more_pads_cb),
(autoplug_select_cb), (gst_play_bin_change_state):
Merge mode with flags.
Add more property getters/setters, defaults and docs.
Add properties to get number of audio/video/text streams.
Create sink object in _init so that we can always rely on it being
there.
* gst/playback/gstplaysink.c: (gst_play_sink_init),
(gen_video_chain), (gen_audio_chain), (gen_vis_chain),
(activate_vis), (gst_play_sink_reconfigure),
(gst_play_sink_set_flags), (gst_play_sink_get_flags),
(gst_play_sink_change_state):
* gst/playback/gstplaysink.h:
Use flags to configure the sink pipelines.
Add tee before audio pipeline so that we can use it for visualisations.
Start working on integrating visualisations.
Remove mode, we can do everything with the flags now.
Add method to configue the sink pipeline.
2008-01-07 11:40:04 +00:00
Sebastian Dröge
3ac84ec4ff gst/volume/: Use GstAudioFilter as base class for the volume element instead of plain GstBaseTransform.
Original commit message from CVS:
* gst/volume/Makefile.am:
* gst/volume/gstvolume.c: (volume_choose_func),
(gst_volume_base_init), (gst_volume_class_init), (gst_volume_init),
(volume_setup):
* gst/volume/gstvolume.h:
Use GstAudioFilter as base class for the volume element instead of
plain GstBaseTransform.
2008-01-03 20:33:58 +00:00
Thijs Vermeir
b3739a8e7d gst/subparse/gstssaparse.c: combine if's
Original commit message from CVS:
* gst/subparse/gstssaparse.c:
combine if's
2007-12-29 20:55:39 +00:00
Thijs Vermeir
41cc98e287 gst/subparse/gstssaparse.c: remove duplicate log message
Original commit message from CVS:
* gst/subparse/gstssaparse.c:
remove duplicate log message
2007-12-29 19:23:59 +00:00
Wim Taymans
7cb7bffb9e gst/playback/gstplaybin2.c: Code cleanups.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(gst_play_bin_finalize), (gst_play_bin_set_uri),
(gst_play_bin_set_suburi), (gst_play_bin_set_property),
(gst_play_bin_get_property), (pad_removed_cb), (drained_cb),
(autoplug_select_cb), (activate_group), (deactivate_group),
(setup_next_source), (save_current_group),
(gst_play_bin_change_state):
Code cleanups.
Remove next-uri, we can use the uri property just fine.
Fix some crasher.
Unref uridecodebin when switching.
Fix going to READY.
* gst/playback/gstplaysink.c: (gst_play_sink_class_init),
(gst_play_sink_init), (gst_play_sink_dispose),
(gst_play_sink_finalize), (gst_play_sink_vis_unblocked),
(gst_play_sink_vis_blocked), (gst_play_sink_set_video_sink),
(gst_play_sink_set_audio_sink), (gst_play_sink_set_vis_plugin),
(gst_play_sink_set_property), (gst_play_sink_get_property),
(gen_video_chain), (gen_text_element), (gen_audio_chain),
(gen_vis_element), (gst_play_sink_get_mode),
(gst_play_sink_set_mode), (gst_play_sink_set_flags),
(gst_play_sink_get_flags), (gst_play_sink_request_pad),
(gst_play_sink_release_pad), (gst_play_sink_send_event_to_sink),
(gst_play_sink_change_state):
* gst/playback/gstplaysink.h:
Add some locking to make things threadsafe.
* gst/playback/test7.c: (about_to_finish_cb):
Fix test.
2007-12-28 09:00:27 +00:00
Tim-Philipp Müller
bd01fd3a57 gst/videoscale/gstvideoscale.c: Don't claim to be able to handle/transform caps that can't really be handled by the c...
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c: (gst_video_scale_set_property),
(gst_video_scale_get_property), (gst_video_scale_transform_caps),
(gst_video_scale_transform):
Don't claim to be able to handle/transform caps that can't really
be handled by the currently selected scaling method (here: RGB or
packed YUV with 4-tap method). Also add locking to method property.
* tests/check/pipelines/simple-launch-lines.c: (setup_pipeline),
(test_basetransform_based):
Some test pipelines for the above (not entirely valgrind clean yet
apparently).
2007-12-22 12:06:47 +00:00
Tim-Philipp Müller
032e064516 gst/playback/gststreamselector.c: Don't leak event.
Original commit message from CVS:
* gst/playback/gststreamselector.c: (gst_selector_pad_event):
Don't leak event.
2007-12-21 22:26:47 +00:00
Tim-Philipp Müller
377bde7868 gst/playback/.cvsignore: Ignore more.
Original commit message from CVS:
* gst/playback/.cvsignore:
Ignore more.
2007-12-20 17:13:37 +00:00
Tim-Philipp Müller
85f189aee5 Make switching off of subtitles work. To avoid all kind of problems with unlinking of the subtitle input, we just kee...
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
* gst/playback/gstplaybasebin.c: (set_subtitles_visible),
(set_active_source):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(setup_sinks), (playbin_set_subtitles_visible):
Make switching off of subtitles work. To avoid all kind of
problems with unlinking of the subtitle input, we just keep
the subtitle inputs linked as they are and tell textoverlay
not to render them. Fixes #373011.
Other subtitle switching issues (esp. when there are both
external and in-stream subtitles) remain. They'll be solved
in playbin2.
2007-12-20 10:41:29 +00:00
Wim Taymans
e56165db4f gst/playback/gststreamselector.c: Init the pad segment too.
Original commit message from CVS:
* gst/playback/gststreamselector.c: (gst_selector_pad_init):
Init the pad segment too.
2007-12-18 16:21:35 +00:00
David Schleef
c5b66243be gst/videotestsrc/gstvideotestsrc.*: Add a "blink" pattern. Turn on the pain. Apologies. It's useful for testing ve...
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/videotestsrc/gstvideotestsrc.h:
Add a "blink" pattern.  Turn on the pain.  Apologies.  It's useful
for testing vertical refresh synchronization.
2007-12-18 01:01:23 +00:00
Sebastian Dröge
248742277c Use new gst_base_transform_set_gap_aware() function as volume correctly handles GST_BUFFER_FLAG_GAP. Require core 0.1...
Original commit message from CVS:
* configure.ac:
* gst/volume/gstvolume.c: (gst_volume_init):
Use new gst_base_transform_set_gap_aware() function as volume
correctly handles GST_BUFFER_FLAG_GAP. Require core 0.10.15.1
for this.
2007-12-15 03:40:34 +00:00
Wim Taymans
671d766d8a gst/playback/gstqueue2.c: Use separate timers for input and output rates.
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_finalize),
(reset_rate_timer), (update_in_rates), (update_out_rates),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_chain), (gst_queue_loop):
Use separate timers for input and output rates.
Pause measuring the output rate when we block for more data.
See #503262.
2007-12-14 18:46:12 +00:00
Christian Schaller
9153699f65 update spec file and add two missing files for disting
Original commit message from CVS:
update spec file and add two missing files for disting
2007-12-14 16:23:06 +00:00
Wim Taymans
2da1bb2538 gst/playback/gstqueue2.c: Pause the timer to measure the input rate when we block because the queue is filled. See #5...
Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_chain):
Pause the timer to measure the input rate when we block because the
queue is filled. See #503262.
2007-12-14 09:24:55 +00:00
Wim Taymans
74e5172181 gst/playback/gstdecodebin2.c: Expose the right pad in the right place with the right element.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (analyze_new_pad), (connect_pad):
Expose the right pad in the right place with the right element.
2007-12-13 12:31:38 +00:00
Wim Taymans
802b38c200 gst/audioconvert/Makefile.am: Also link to libm.
Original commit message from CVS:
* gst/audioconvert/Makefile.am:
Also link to libm.
2007-12-10 15:21:41 +00:00
Robin Stocker
7bbbf15ad8 gst/subparse/gstsubparse.c: Some .srt files start with chunk number 0 and not chunk number 1, recognise and accept th...
Original commit message from CVS:
Patch by: Robin Stocker <robin dot stocker at gmx dot ch>
* gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect):
Some .srt files start with chunk number 0 and not chunk number 1,
recognise and accept those as well (fixes #502497).
* tests/check/elements/subparse.c: (srt_input), (srt_input0),
(test_src):
Add unit test for the above.
2007-12-08 18:38:39 +00:00
Wim Taymans
356971158c gst/playback/gstplay-enum.*: Add missing files.
Original commit message from CVS:
* gst/playback/gstplay-enum.c:
(register_gst_autoplug_select_result),
(gst_autoplug_select_result_get_type):
* gst/playback/gstplay-enum.h:
Add missing files.
2007-12-06 12:08:21 +00:00
Wim Taymans
f2f9bf045b gst/playback/Makefile.am: Group decodebin2 and uridecodebin into the same plugin so that they can share the GEnumType.
Original commit message from CVS:
* gst/playback/Makefile.am:
Group decodebin2 and uridecodebin into the same plugin so that they
can share the GEnumType.
* gst/playback/gstdecodebin2.c: (_gst_array_accumulator),
(_gst_select_accumulator), (gst_decode_bin_class_init),
(gst_decode_bin_init), (gst_decode_bin_autoplug_sort),
(gst_decode_bin_autoplug_select), (gst_decode_bin_autoplug_add),
(analyze_new_pad), (connect_pad), (gst_decode_bin_plugin_init):
Add signal to sort factories instead of the more awkward autoplug-select
signal.
Modify autoplug_select so that we can try, skip or expose the
autopluggin of an element on a pad.
* gst/playback/gstfactorylists.c: (compare_ranks),
(decoders_filter), (sinks_filter), (gst_factory_list_is_type),
(element_filter), (gst_factory_list_get_elements),
(gst_factory_list_debug), (gst_factory_list_filter):
* gst/playback/gstfactorylists.h:
Simplify the API, allow getting elements based on mask.
* gst/playback/gstplay-marshal.list:
Add some more marshallers.
* gst/playback/gstplaybin2.c: (init_group), (gst_play_bin_init),
(gst_play_bin_finalize), (pad_removed_cb), (autoplug_factories_cb),
(autoplug_select_cb), (activate_group):
Add support for managing non-raw sinks by providing a custom element and
sink list to decodebin2.
Try to plug non-raw sinks when decodebin2 using autoplug-select of
decodebin2.
* gst/playback/gstplaysink.c: (gen_video_chain), (gen_audio_chain),
(gst_play_sink_set_mode), (gst_play_sink_request_pad):
* gst/playback/gstplaysink.h:
Add support for raw and non-raw sinks.
Add support to force sinks selected by playbin2.
Don't plug raw converters for non-raw sinks.
* gst/playback/gsturidecodebin.c: (_gst_array_accumulator),
(_gst_select_accumulator), (gst_uri_decode_bin_class_init),
(proxy_autoplug_select_signal), (gst_uri_decode_bin_plugin_init),
(plugin_init):
Use right accumulators.
Proxy new signal.
2007-12-05 17:11:48 +00:00
Wim Taymans
11bf488b85 gst/playback/: Refactor some common code to filter factories and check caps compat.
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstfactorylists.c: (compare_ranks), (print_feature),
(get_feature_array), (decoders_filter), (sinks_filter),
(gst_factory_list_get_decoders), (gst_factory_list_get_sinks),
(gst_factory_list_filter):
* gst/playback/gstfactorylists.h:
Refactor some common code to filter factories and check caps compat.
* gst/playback/gstdecodebin.c:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
(gst_decode_bin_init), (gst_decode_bin_dispose),
(gst_decode_bin_autoplug_continue),
(gst_decode_bin_autoplug_factories),
(gst_decode_bin_autoplug_select), (analyze_new_pad),
(find_compatibles):
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(gst_play_bin_init), (gst_play_bin_finalize),
(autoplug_factories_cb), (activate_group):
* gst/playback/gstqueue2.c:
* gst/playback/gsturidecodebin.c: (proxy_unknown_type_signal),
(proxy_autoplug_continue_signal),
(proxy_autoplug_factories_signal), (proxy_autoplug_select_signal),
(proxy_drained_signal):
Add some more debug info and use factor filtering code.
2007-11-30 17:47:15 +00:00
Julien Moutte
0625160416 configure.ac: Add QuickTime Wrapper plug-in.
Original commit message from CVS:
2007-11-26  Julien Moutte  <julien@fluendo.com>

* configure.ac: Add QuickTime Wrapper plug-in.
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_push_drain), (gst_speex_resample_process): Fix
build on Mac OS X Leopard. Incorrect printf format arguments.
* sys/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/qtwrapper/audiodecoders.c:
(qtwrapper_audio_decoder_base_init),
(qtwrapper_audio_decoder_class_init),
(qtwrapper_audio_decoder_init),
(clear_AudioStreamBasicDescription), (fill_indesc_mp3),
(fill_indesc_aac), (fill_indesc_samr), (fill_indesc_generic),
(make_samr_magic_cookie), (open_decoder),
(qtwrapper_audio_decoder_sink_setcaps), (process_buffer_cb),
(qtwrapper_audio_decoder_chain),
(qtwrapper_audio_decoder_sink_event),
(qtwrapper_audio_decoders_register):
* sys/qtwrapper/codecmapping.c: (audio_caps_from_string),
(fourcc_to_caps):
* sys/qtwrapper/codecmapping.h:
* sys/qtwrapper/imagedescription.c: (image_description_for_avc1),
(image_description_for_mp4v), (image_description_from_stsd_buffer),
(image_description_from_codec_data):
* sys/qtwrapper/imagedescription.h:
* sys/qtwrapper/qtutils.c: (get_name_info_from_component),
(get_output_info_from_component), (dump_avcc_atom),
(dump_image_description), (dump_codec_decompress_params),
(addSInt32ToDictionary), (dump_cvpixel_buffer),
(DestroyAudioBufferList), (AllocateAudioBufferList):
* sys/qtwrapper/qtutils.h:
* sys/qtwrapper/qtwrapper.c: (plugin_init):
* sys/qtwrapper/qtwrapper.h:
* sys/qtwrapper/videodecoders.c:
(qtwrapper_video_decoder_base_init),
(qtwrapper_video_decoder_class_init),
(qtwrapper_video_decoder_init), (qtwrapper_video_decoder_finalize),
(fill_image_description), (new_image_description), (close_decoder),
(open_decoder), (qtwrapper_video_decoder_sink_setcaps),
(decompressCb), (qtwrapper_video_decoder_chain),
(qtwrapper_video_decoder_sink_event),
(qtwrapper_video_decoders_register): Initial import of QuickTime
wrapper jointly developped by Songbird authors (Pioneers of the
Inevitable) and Fluendo.
2007-11-26 13:19:46 +00:00
Stefan Kost
1cfef609d0 gst/: Add GAP-flag support.
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/volume/gstvolume.c:
* gst/volume/gstvolume.h:
Add GAP-flag support.
2007-11-26 12:25:55 +00:00
Sebastian Dröge
dacc06a547 gst/speexresample/: Update speex resampler to latest SVN. We're now down to only the changes noted in README again.
Original commit message from CVS:
* gst/speexresample/README:
* gst/speexresample/arch.h:
* gst/speexresample/resample.c: (resampler_basic_direct_single),
(resampler_basic_direct_double),
(resampler_basic_interpolate_single),
(resampler_basic_interpolate_double),
(speex_resampler_process_native), (speex_resampler_process_float),
(speex_resampler_process_int),
(speex_resampler_process_interleaved_float),
(speex_resampler_process_interleaved_int),
(speex_resampler_get_input_latency),
(speex_resampler_get_output_latency):
* gst/speexresample/speex_resampler.h:
Update speex resampler to latest SVN. We're now down to only the
changes noted in README again.
* gst/speexresample/speex_resampler_wrapper.h:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_push_drain), (gst_speex_resample_query):
Adjust to API changes.
2007-11-26 08:43:25 +00:00
Sebastian Dröge
155d1b123d gst/speexresample/gstspeexresample.c: Only post the latency message if we have a resampler state already.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_update_state):
Only post the latency message if we have a resampler state already.
2007-11-23 10:21:31 +00:00
Sebastian Dröge
8edd45dbde gst/audioresample/gstaudioresample.c: Implement latency query.
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c: (gst_audioresample_init),
(audioresample_query), (audioresample_query_type),
(gst_audioresample_set_property):
Implement latency query.
2007-11-23 10:21:11 +00:00
Sebastian Dröge
816466b67f gst/speexresample/gstspeexresample.c: Also post GST_MESSAGE_LATENCY if the latency changes.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_update_state):
Also post GST_MESSAGE_LATENCY if the latency changes.
2007-11-23 10:01:33 +00:00
Sebastian Dröge
f564ebf8cb gst/speexresample/: Add functions to push the remaining samples and to get the latency of the resampler. These will g...
Original commit message from CVS:
* gst/speexresample/resample.c: (speex_resampler_get_latency),
(speex_resampler_drain_float), (speex_resampler_drain_int),
(speex_resampler_drain_interleaved_float),
(speex_resampler_drain_interleaved_int):
* gst/speexresample/speex_resampler.h:
* gst/speexresample/speex_resampler_wrapper.h:
Add functions to push the remaining samples and to get the latency
of the resampler. These will get added to Speex SVN in this or a
slightly changed form at some point too and should get merged then
again.
* gst/speexresample/gstspeexresample.c: (gst_speex_resample_init),
(gst_speex_resample_init_state),
(gst_speex_resample_transform_size),
(gst_speex_resample_push_drain), (gst_speex_resample_event),
(gst_speex_fix_output_buffer), (gst_speex_resample_process),
(gst_speex_resample_query), (gst_speex_resample_query_type):
Drop the prepending zeroes and output the remaining samples on EOS.
Also properly implement the latency query for this. speexresample
should be completely ready for production use now.
2007-11-23 08:48:50 +00:00
Sebastian Dröge
d834d1cb48 gst/speexresample/README: Add README explaining where the resampling code was taken from and which changes were done.
Original commit message from CVS:
* gst/speexresample/README:
Add README explaining where the resampling code was taken from
and which changes were done.
* gst/speexresample/resample.c: (speex_alloc), (speex_realloc),
(speex_free):
Use g_malloc() and friends instead of malloc() to achieve higher
portability and define the functions inline.
* gst/speexresample/speex_resampler.h:
Add back some useless preprocessor stuff to keep the diff between
our version and the one from the Speex SVN repository lower.
2007-11-21 10:18:56 +00:00
Sebastian Dröge
d832d9bb16 gst/speexresample/gstspeexresample.c: Some small cleanup and addition of a TODO item.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_fix_output_buffer), (gst_speex_resample_transform):
Some small cleanup and addition of a TODO item.
2007-11-20 20:23:25 +00:00
Sebastian Dröge
25c4adab31 gst/speexresample/Makefile.am: Add missing file.
Original commit message from CVS:
* gst/speexresample/Makefile.am:
Add missing file.
2007-11-20 12:56:00 +00:00
Sebastian Dröge
66f2838c8c Add speexresample to the docs and while at that do a make update.
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:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-bz2.xml:
* docs/plugins/inspect/plugin-cdxaparse.xml:
* docs/plugins/inspect/plugin-dtsdec.xml:
* docs/plugins/inspect/plugin-equalizer.xml:
* docs/plugins/inspect/plugin-faac.xml:
* docs/plugins/inspect/plugin-faad.xml:
* docs/plugins/inspect/plugin-filter.xml:
* docs/plugins/inspect/plugin-freeze.xml:
* docs/plugins/inspect/plugin-gio.xml:
* docs/plugins/inspect/plugin-gsm.xml:
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
* docs/plugins/inspect/plugin-h264parse.xml:
* docs/plugins/inspect/plugin-modplug.xml:
* docs/plugins/inspect/plugin-mpeg2enc.xml:
* docs/plugins/inspect/plugin-musepack.xml:
* docs/plugins/inspect/plugin-musicbrainz.xml:
* docs/plugins/inspect/plugin-nsfdec.xml:
* docs/plugins/inspect/plugin-replaygain.xml:
* docs/plugins/inspect/plugin-soundtouch.xml:
* docs/plugins/inspect/plugin-spcdec.xml:
* docs/plugins/inspect/plugin-spectrum.xml:
* docs/plugins/inspect/plugin-speed.xml:
* docs/plugins/inspect/plugin-tta.xml:
* docs/plugins/inspect/plugin-videosignal.xml:
* docs/plugins/inspect/plugin-xingheader.xml:
* docs/plugins/inspect/plugin-xvid.xml:
* gst/speexresample/gstspeexresample.h:
Add speexresample to the docs and while at that do a make update.
2007-11-20 07:47:27 +00:00
Sebastian Dröge
3adf5a8875 gst/speexresample/gstspeexresample.c: If the resampler gives less output samples than expected adjust the output buff...
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c:
(gst_speex_fix_output_buffer), (gst_speex_resample_process):
If the resampler gives less output samples than expected
adjust the output buffer and print a warning.
2007-11-20 07:30:30 +00:00
Sebastian Dröge
7fc30c9d28 Add resample element based on the Speex resampling algorithm.
Original commit message from CVS:
* configure.ac:
* gst/speexresample/arch.h:
* gst/speexresample/fixed_generic.h:
* gst/speexresample/gstspeexresample.c:
(gst_speex_resample_base_init), (gst_speex_resample_class_init),
(gst_speex_resample_init), (gst_speex_resample_start),
(gst_speex_resample_stop), (gst_speex_resample_get_unit_size),
(gst_speex_resample_transform_caps),
(gst_speex_resample_init_state), (gst_speex_resample_update_state),
(gst_speex_resample_reset_state), (gst_speex_resample_parse_caps),
(gst_speex_resample_transform_size), (gst_speex_resample_set_caps),
(gst_speex_resample_event), (gst_speex_resample_check_discont),
(gst_speex_resample_process), (gst_speex_resample_transform),
(gst_speex_resample_set_property),
(gst_speex_resample_get_property), (plugin_init):
* gst/speexresample/gstspeexresample.h:
* gst/speexresample/resample.c: (speex_alloc), (speex_realloc),
(speex_free), (compute_func), (main), (sinc), (cubic_coef),
(resampler_basic_direct_single), (resampler_basic_direct_double),
(resampler_basic_interpolate_single),
(resampler_basic_interpolate_double), (update_filter),
(speex_resampler_init), (speex_resampler_init_frac),
(speex_resampler_destroy), (speex_resampler_process_native),
(speex_resampler_process_float), (speex_resampler_process_int),
(speex_resampler_process_interleaved_float),
(speex_resampler_process_interleaved_int),
(speex_resampler_set_rate), (speex_resampler_get_rate),
(speex_resampler_set_rate_frac), (speex_resampler_get_ratio),
(speex_resampler_set_quality), (speex_resampler_get_quality),
(speex_resampler_set_input_stride),
(speex_resampler_get_input_stride),
(speex_resampler_set_output_stride),
(speex_resampler_get_output_stride), (speex_resampler_skip_zeros),
(speex_resampler_reset_mem), (speex_resampler_strerror):
* gst/speexresample/speex_resampler.h:
* gst/speexresample/speex_resampler_float.c:
* gst/speexresample/speex_resampler_int.c:
* gst/speexresample/speex_resampler_wrapper.h:
Add resample element based on the Speex resampling algorithm.
2007-11-20 07:02:45 +00:00
Stefan Kost
84b35b401a gst/playback/: Fix the build + little README update.
Original commit message from CVS:
* gst/playback/README:
* gst/playback/test7.c:
Fix the build + little README update.
2007-11-17 15:25:15 +00:00
Wim Taymans
b75b5525da gst/playback/: Add playbin2.
Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstplayback.c: (plugin_init):
* gst/playback/test7.c: (update_scale), (warning_cb), (error_cb),
(eos_cb), (about_to_finish_cb), (main):
Add playbin2.
Added gapless playback example.
* gst/playback/gstplaybasebin.c:
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_plugin_init):
* gst/playback/gstqueue2.c:
* gst/playback/test.c:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init),
(pad_removed_cb):
* gst/playback/gststreaminfo.h:
Change email.
* gst/playback/gstplaybin2.c: (gst_play_bin_get_type),
(gst_play_bin_class_init), (init_group), (gst_play_bin_init),
(gst_play_bin_dispose), (gst_play_bin_set_uri),
(gst_play_bin_set_suburi), (gst_play_bin_set_property),
(gst_play_bin_get_property), (gst_play_bin_handle_message),
(pad_added_cb), (pad_removed_cb), (no_more_pads_cb), (perform_eos),
(drained_cb), (unlink_group), (activate_group),
(setup_next_source), (gst_play_bin_change_state),
(gst_play_bin2_plugin_init):
Added raw first version of playbin2. Does chained oggs and gapless
playback fine. No support for raw sinks yet. No visualisations or
subtitles yet.
* gst/playback/gstplaysink.c: (gst_play_sink_get_type),
(gst_play_sink_class_init), (gst_play_sink_init),
(gst_play_sink_dispose), (gst_play_sink_vis_unblocked),
(gst_play_sink_vis_blocked), (gst_play_sink_set_video_sink),
(gst_play_sink_set_audio_sink), (gst_play_sink_set_vis_plugin),
(gst_play_sink_set_property), (gst_play_sink_get_property),
(post_missing_element_message), (free_chain), (add_chain),
(activate_chain), (gen_video_chain), (gen_text_element),
(gen_audio_chain), (gen_vis_element), (gst_play_sink_get_mode),
(gst_play_sink_set_mode), (gst_play_sink_request_pad),
(gst_play_sink_release_pad), (gst_play_sink_send_event_to_sink),
(gst_play_sink_send_event), (gst_play_sink_change_state):
* gst/playback/gstplaysink.h:
Added Element that abstracts the sinks and their pipelines for playbin2.
2007-11-16 15:44:48 +00:00
Wim Taymans
3f43bfacd2 gst/playback/gststreamselector.*: Improve streamselector, make it select and unselect the current pad more intelligen...
Original commit message from CVS:
* gst/playback/gststreamselector.c: (gst_selector_pad_get_type),
(gst_selector_pad_class_init), (gst_selector_pad_init),
(gst_selector_pad_finalize), (gst_selector_pad_reset),
(gst_selector_pad_get_linked_pads), (gst_selector_pad_event),
(gst_selector_pad_getcaps), (gst_selector_pad_bufferalloc),
(gst_selector_pad_chain), (gst_stream_selector_get_type),
(gst_stream_selector_base_init), (gst_stream_selector_class_init),
(gst_stream_selector_init), (gst_stream_selector_set_property),
(gst_stream_selector_get_linked_pad),
(gst_stream_selector_getcaps),
(gst_stream_selector_is_active_sinkpad),
(gst_stream_selector_activate_sinkpad),
(gst_stream_selector_get_linked_pads),
(gst_stream_selector_request_new_pad),
(gst_stream_selector_release_pad):
* gst/playback/gststreamselector.h:
Improve streamselector, make it select and unselect the current pad more
intelligently.
Subclass GstPad for the sinkpads of the selector.
Handle segments more correctly.
Fix caps negotiation.
Implement release_pad.
2007-11-16 15:05:07 +00:00
Wim Taymans
0df5f5b2e6 gst/playback/gstdecodebin2.c: Add drained signal fired when decodebin finishes decoding the data.
Original commit message from CVS:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
(gst_decode_group_check_if_drained), (source_pad_event_probe),
(remove_fakesink):
Add drained signal fired when decodebin finishes decoding the data.
Remove deprecated STATE_DIRTY message.
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init),
(unknown_type_cb), (new_decoded_pad_cb), (pad_removed_cb),
(analyse_source), (proxy_drained_signal), (make_decoder),
(source_new_pad), (value_list_append_structure_list),
(handle_redirect_message), (handle_message):
Proxy the new drained signal.
Handle pad removed from decodebin.
Handle redirect messages by sorting multiple redirections based on the
connection speed.
2007-11-16 12:51:44 +00:00