Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find):
Disable halfway-seek for pending release (since it needs a new
core release).
Original commit message from CVS:
* gst/playback/README:
* gst/playback/gstplaybasebin.c: (group_destroy), (group_is_muted),
(add_stream), (unknown_type), (add_element_stream), (no_more_pads),
(probe_triggered), (preroll_unlinked), (new_decoded_pad),
(gst_play_base_bin_change_state), (gst_play_base_bin_found_tag):
* gst/playback/gstplaybin.c: (gen_vis_element), (remove_sinks),
(setup_sinks):
* gst/playback/gststreaminfo.c: (gst_stream_info_set_mute),
(gst_stream_info_is_mute), (gst_stream_info_set_property):
* gst/playback/gststreaminfo.h:
Updated README.
Only switch groups if all streams have muted (EOSed).
Send Tags in sync with the stream playback instead of in
the playback/preroll phase.
Some cleanups, free the fakesrc elements.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_caps_internal):
buffer-frames property was missing
* ext/arts/gst_arts.c:
rate missing from sinkcaps
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/swfdec/gstswfdec.c:
int audio doesn't know buffer-frames
* ext/cdparanoia/gstcdparanoia.c:
int audio doesn't know chunksize either
* ext/nas/nassink.c:
it's endianness, not endianess
* gst-libs/gst/audio/audio.h:
make float standard pad template caps really describe float
* gst/law/mulaw.c: (linear_factory):
signed only, please
* gst/mpegstream/gstdvddemux.c:
widths of 20 are not valid
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_ayuv),
(gst_videomixer_fill_checker), (gst_videomixer_fill_color),
(gst_videomixer_blend_buffers), (gst_videomixer_loop):
Only mix AYUV for maximum quality.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (get_relative), (gst_ogg_demux_src_query),
(gst_ogg_demux_push), (gst_ogg_pad_push):
Let's act as if we're synchronized now! :).
* ext/theora/theoradec.c: (theora_dec_chain):
Add some debug.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_push):
Actually always send a discont (cornercase when resending the
same serial-tagged chain twice).
Original commit message from CVS:
2004-11-08 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_clear),
(gst_ximagesink_finalize):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_clear),
(gst_xvimagesink_finalize): Some more cleanups, leaks fixed and checks.
Original commit message from CVS:
reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* ext/vorbis/vorbisenc.c: (raw_caps_factory):
Fix weird caps (#157548).
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/rtp/gstrtpgsmparse.c: (gst_rtpgsm_caps_nego):
Add missing NULL terminator (#157543).
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.c: (paint_setup_Y41B),
(paint_hline_Y41B), (paint_setup_Y42B), (paint_hline_Y42B):
Added two more colorspaces.
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_blend_ayuv_i420),
(gst_videomixer_fill_checker), (gst_videomixer_fill_color),
(gst_videomixer_blend_buffers), (gst_videomixer_loop):
Fix stride issues. Does not completely work for odd
heights.
Original commit message from CVS:
* gst/alpha/gstalpha.c: (gst_alpha_method_get_type),
(gst_alpha_chroma_key), (gst_alpha_chain):
Fix stride issues. Does not completely work for odd
heights.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpegcsp_avpicture_fill):
* gst/ffmpegcolorspace/imgconvert.c: (avpicture_get_size),
(avpicture_alloc):
* gst/ffmpegcolorspace/imgconvert_template.h:
Use correct _fill function to get correct strides.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(gst_qtdemux_add_stream), (qtdemux_parse), (qtdemux_parse_tree),
(qtdemux_parse_udta), (qtdemux_tag_add), (gst_qtdemux_handle_esds):
Change all g_print()s to debugging. Add a bunch of consistency
checks.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init),
(try_to_link_1), (get_our_ghost_pad), (remove_element_chain),
(unlinked), (no_more_pads), (close_link):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
(unknown_type), (add_element_stream), (new_decoded_pad),
(removed_decoded_pad), (setup_source):
* gst/playback/gststreaminfo.c: (gst_stream_info_get_type),
(gst_stream_info_class_init), (gst_stream_info_init),
(gst_stream_info_new), (gst_stream_info_dispose),
(stream_info_mute_pad), (gst_stream_info_set_property),
(gst_stream_info_get_property):
* gst/playback/gststreaminfo.h:
Fix playback of multiple files.
a slightly different approach to handling dynamic pad removals.
This one only looks at pads that we have linked.
Original commit message from CVS:
2004-11-01 Christophe Fergeau <teuf@gnome.org>
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_finalize): fix an "invalid
free" warning from libc.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init),
(get_unconnected_element), (remove_starting_from), (pad_removed),
(close_link):
Implement support for dynamic pad changing. We listen to "live"
pad removals (i.e. while playing) and re-setup autoplugging
after that. Playbasebin/playbin need some more work for this
to finally work, but decodebin supports (and replugs) chained
ogg now.
Original commit message from CVS:
* ext/esd/esdsink.c: (gst_esdsink_class_init),
(gst_esdsink_finalize):
Use a finalize function, not dispose, and more importantly,
call the parent class finalize function too
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_push):
Hack to prevent crash when going to READY inside signal handler
while this function is active.
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_handle_sink_event):
Set EOS on the element when processing an EOS event.
* ext/speex/gstspeexdec.h:
* ext/speex/gstspeexenc.h:
Only keep a const ptr to the mode
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data),
(gst_riff_create_audio_template_caps):
Allow WMAV3, with up to 6 channels.
* gst/asfdemux/gstasfmux.c: (gst_asfmux_request_new_pad):
Don't call gst_pad_set_event_function on a sink pad.
* gst/mpegstream/gstdvddemux.c:
(gst_dvd_demux_get_subpicture_stream),
(gst_dvd_demux_set_cur_audio), (gst_dvd_demux_set_cur_subpicture):
Copy the explicit caps that were set across to the cur_* pads,
instead of trying to use a possibly non-existent negotiated caps.
Reset the type of subpicture pads to UNKNOWN after calling init_stream,
so that the caps get set.
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_chunk):
Don't touch buffer if it is of size 0 (fixes#151064).
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_event),
(gst_ogg_demux_push):
Make seeking sort-of exact again (fixes#156387).
Original commit message from CVS:
Reviewd by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/wavparse/gstwavparse.c: (gst_wavparse_fmt):
Fix memleak (#155223).
Original commit message from CVS:
2004-10-28 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link):
fix build
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiofilter.c: (gst_audiofilter_link):
fix link function to always query channels and query width for
floats
* configure.ac:
add equalizer dir
* gst/equalizer/Makefile.am:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_get_type),
(gst_iir_equalizer_base_init), (gst_iir_equalizer_class_init),
(gst_iir_equalizer_init), (gst_iir_equalizer_finalize),
(arg_to_scale), (setup_filter),
(gst_iir_equalizer_compute_frequencies),
(gst_iir_equalizer_set_property), (gst_iir_equalizer_get_property),
(gst_iir_equalizer_filter_inplace), (gst_iir_equalizer_setup),
(plugin_init):
add an equalizer
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_video_getcaps),
(gst_dvdec_video_link), (gst_dvdec_push), (gst_dvdec_loop):
Allow a little margin when negotiating the framerate.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_event),
(gst_ogg_demux_handle_event), (_find_chain_get_unknown_part),
(_find_streams_check), (gst_ogg_demux_push):
Fix EOS again. Needs to be done in a better way. We should not
remove the pad if there is no new chained stream.
Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avimux_audsinkconnect),
(gst_avimux_stop_file):
First calculate the rate, and only then use it. Hdr.rate is a
multiple and not a derivative of hdr.scale. Scale is not the
same as blockalign but is solely related to rate.
Original commit message from CVS:
2004-10-25 Zaheer Abbas Merali <zaheerabbas at merali dot org>
reviewed by: Ronald Bultje <rbultje at gnome dot org>
* sys/v4l/v4l_calls.c: (gst_v4l_get_chan_names):
Fix for some v4l cards which hang in v4lsrc
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_remove),
(gst_ogg_demux_push), (gst_ogg_chains_clear):
Make sure to remove the pad when a new chain is
encountered. Set some vars to NULL so we don't try
to reference freed memory.
Original commit message from CVS:
* ext/speex/gstspeexdec.c: (gst_speex_dec_init),
(speex_dec_convert):
sinkconvert function so oggdemux can get the file length (totem).
Original commit message from CVS:
* sys/oss/gstosssrc.c: (gst_osssrc_get_time), (gst_osssrc_get),
(gst_osssrc_src_query):
* sys/oss/gstosssrc.h:
OK, so people want offset in DEFAULT. This time, actually fix all
cases.
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_getcaps):
Add FPS properly.
Original commit message from CVS:
* sys/v4l2/gstv4l2element.c: (gst_v4l2element_get_property):
Flag typo.
* sys/v4l2/v4l2_calls.c: (gst_v4l2_set_defaults):
No warnings.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (_find_chain_seek),
(gst_ogg_pad_push):
Check for pad availability before using it.
* ext/ogg/gstoggdemux.c: (_find_chain_process):
Fix parsing of chained ogg. Needs more work on the decoder side.
Original commit message from CVS:
* gst/spectrum/Makefile.am:
* gst/spectrum/demo-osssrc.c: (spectrum_chain), (main),
(idle_func):
Fix demo and reenable it. Yes, I'm currently playing with audio
analysis tools
Original commit message from CVS:
2004-10-21 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/tcp/gsttcpserversink.c:
(gst_tcpserversink_handle_server_read),
(gst_tcpserversink_init_send):
Zero some variables first (need for accept not to return EINVAL)
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_pad_populate),
(gst_ogg_pad_push):
Yay for non-lineair granulepos in theora.
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_init), (gst_dvdec_video_getcaps),
(gst_dvdec_video_link), (gst_dvdec_push), (gst_dvdec_loop):
* ext/dv/gstdvdec.h:
Make sure we renegotiate aspect ratio when the camera switches.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_pad_push):
Start at zero.
* ext/theora/theoradec.c: (theora_dec_chain):
Skip headers. Bad idea for chained ogg, but fixes seeking.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query),
(gst_ogg_demux_src_event), (gst_ogg_pad_populate),
(_read_bos_process), (gst_ogg_demux_iterate), (gst_ogg_pad_new):
Faster seeking.
* ext/theora/theoradec.c: (theora_dec_sink_convert):
Time-to-default conversion.
* ext/vorbis/vorbisdec.c: (vorbis_dec_chain):
Don't error on unknown packets, just skip. We should probably
read them if we want to support chained ogg.
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_video_getcaps),
(gst_dvdec_video_link), (gst_dvdec_push):
* ext/jpeg/gstsmokeenc.c: (gst_smokeenc_class_init),
(gst_smokeenc_resync), (gst_smokeenc_chain):
Fix mimetype on smoke encoder.
Add aspect ratio to dvdec. Not sure if these
values are correct though....
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_iterate):
Really do nothing when no data is available.
Go to the playing state when the stream is not seekable
instead of failing.
Original commit message from CVS:
* ext/cdaudio/gstcdaudio.c: (_do_init), (gst_cdaudio_base_init),
(gst_cdaudio_get_event_masks), (gst_cdaudio_send_event),
(gst_cdaudio_query), (plugin_init), (cdaudio_uri_get_type),
(cdaudio_uri_get_protocols), (cdaudio_uri_get_uri),
(cdaudio_uri_set_uri), (cdaudio_uri_handler_init):
Added uri handler for cd://
Port to new API.
Original commit message from CVS:
* ext/speex/gstspeexenc.c: (gst_speexenc_class_init),
(gst_speexenc_chain):
Fix speex timestamps so that it gets muxed properly.
Original commit message from CVS:
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_get_type),
(gst_dv1394src_base_init), (gst_dv1394src_class_init),
(gst_dv1394src_init), (gst_dv1394src_dispose),
(gst_dv1394src_iso_receive), (gst_dv1394src_discover_avc_node),
(gst_dv1394src_change_state), (gst_dv1394src_get_event_mask),
(gst_dv1394src_event), (gst_dv1394src_get_formats),
(gst_dv1394src_convert), (gst_dv1394src_get_query_types),
(gst_dv1394src_query), (gst_dv1394src_uri_get_type),
(gst_dv1394src_uri_get_protocols), (gst_dv1394src_uri_get_uri),
(gst_dv1394src_uri_set_uri), (gst_dv1394src_uri_handler_init):
* ext/raw1394/gstdv1394src.h:
Added conversion/query functions.
Update buffer timestamps,
Added signals.
Added uri dv:// so it might play from the firewire in playbin.
Fix a possible leak.
Added debugging.
Original commit message from CVS:
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_class_init),
(gst_dv1394src_init), (gst_dv1394src_set_property),
(gst_dv1394src_get_property), (gst_dv1394src_iso_receive),
(gst_dv1394src_discover_avc_node), (gst_dv1394src_change_state):
* ext/raw1394/gstdv1394src.h:
Added AV/C VTR control support needed for some cameras.
Added automatic port detection.
Added properties for selecting the channel.
The configure.ac script is not yet updated to reflect the
new libavc1394 and librom1394 dependencies.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse), (gst_qtdemux_handle_esds):
An esds box is not a container.
Fix parsing of mp4v boxes.
Do not try to renegotiate fps for each frame. Need to
find a better method. This should fix mp4 playback.
Original commit message from CVS:
* configure.ac: update for swfdec-0.3 and liboil-0.2
* ext/swfdec/gstswfdec.c: update for swfdec-0.3
* ext/swfdec/gstswfdec.h: same
* gst/videofilter/gstvideobalance.c: update for liboil-0.2
* gst/videotestsrc/videotestsrc.c: same
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_add),
(gst_multifdsink_remove), (gst_multifdsink_remove_client_link),
(is_sync_frame), (gst_multifdsink_new_client),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer),
(gst_multifdsink_handle_clients), (gst_multifdsink_change_state):
Turn warnings into info.
Don't allow a state change in the streaming thread.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_check_caps_reset), (gst_mad_chain):
Decoding the header first fixes some problems in resyncing
in more mp3s.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_vis_element), (remove_sinks), (setup_sinks):
Added vis plugin support, need to configure the vis
element to activate it.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get),
(gst_gnomevfssrc_srcpad_query), (gst_gnomevfssrc_srcpad_event):
Some debug.
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_handle_src_event), (gst_avi_demux_read_superindex),
(gst_avi_demux_read_subindexes), (gst_avi_demux_add_stream),
(gst_avi_demux_stream_index), (gst_avi_demux_skip),
(gst_avi_demux_sync), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header):
* gst/avi/gstavidemux.h:
Support for openDML-2.0 indx/ix## chunks. Support for broken index
recovery (where, if part of the index is broken, we will still read
the rest of the index and recover the broken part by stream
scanning). More broken media support. EOS workarounds. General AVI
braindamage headache recovery. Aspirin included.
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_open),
(cdparanoia_event), (cdparanoia_query):
Get rid of hideous lead-in.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
Cleanup the previous pipeline a little earlier for the
case that a source element provides raw data.
Original commit message from CVS:
* ext/mad/gstid3tag.c: (gst_id3_tag_chain):
reset v1 tag offset when there is no v1 tag. Fixes id3demux always
consuming the last 128 bytes, even though it was valid mp3 data.
Original commit message from CVS:
2004-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_palette_to_caps),
(gst_v4lsrc_getcaps), (gst_v4lsrc_get):
* sys/v4l/v4l-overlay_calls.c: (gst_v4l_set_overlay):
Change g_warnings to GST_WARNING_OBJECT and fix colourspace issue
Original commit message from CVS:
2004-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_src_link), (gst_v4lsrc_getcaps):
Fix for webcams that support only specific width or height
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/wavenc/gstwavenc.c: (gst_wavenc_stop_file):
Fix wrong discont event setup (fixes#154967).
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/auparse/gstauparse.c: (gst_auparse_chain):
Error out on invalid data (fixes#154807).
Original commit message from CVS:
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* ext/dvdread/dvdreadsrc.c: (_read):
Make titles > 0 work again (fixes#154834).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
OK, so the original code was too strict. It makes random AVI files
hang for seconds upon opening, which is unacceptable and is far
beyond the original goal of getting multiple chunks for one-chunk
sounc stream files. So now do just that.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source),
(gst_play_base_bin_change_state):
Actually clean up streaminfo if output fails. This would trigger
if, for example, there was no CD in the drive. No preroll, so
a streaminfo structure is created, but the subsequent state change
of the thread fails.
* gst/playback/gstplaybin.c: (gst_play_bin_change_state):
Don't change state if parent failed.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(gst_play_bin_init), (gst_play_bin_get_property), (handoff),
(gen_video_element), (remove_sinks):
Add small bits of code for screenshot handling.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gst_play_bin_set_property),
(gen_video_element), (gen_audio_element), (setup_sinks):
Don't assume the user provided sinks are named "sink"...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gen_preroll_element),
(unknown_type), (setup_source), (gst_play_base_bin_remove_element),
(gst_play_base_bin_link_stream):
Do not try to autoplug sources that generate raw streams like
cdparanoia.
disconnect the preroll overrun signal when we don't need it anymore.
Original commit message from CVS:
2004-10-08 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_sink_link),
(gst_ximagesink_set_xwindow_id), (gst_ximagesink_init):
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_sink_link),
(gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_init):
* sys/xvimage/xvimagesink.h: Reverting Ronald's changes as the issue is
not coming from those elements. Moreover these elements should not keep
the xid they have been given when in NULL state.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_sink_link),
(gst_ximagesink_set_xwindow_id), (gst_ximagesink_init):
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_sink_link),
(gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_init):
* sys/xvimage/xvimagesink.h:
Actually only create a new toplevel window if we're not gonna
embed it right after.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (play_base_bin_mute_pad),
(gst_play_base_bin_mute_stream), (gst_play_base_bin_link_stream):
* gst/playback/gstplaybin.c: (setup_sinks):
Implement muting/unmuting of streams, mute streams that are not
used.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(find_compatibles), (close_pad_link), (try_to_link_1), (new_pad),
(no_more_pads), (close_link), (type_found):
* gst/playback/gstplaybasebin.c: (new_decoded_pad):
* gst/playback/gstplaybin.c: (gen_video_element):
Do not signal the no_more_pads after the first pad when
we are plugging a non dynamic element with multiple
output pads (like swfdec, dvdec, ...).