Commit graph

560 commits

Author SHA1 Message Date
Wim Taymans
4778549c39 gst/typefind/gsttypefindfunctions.c: Don't segfault on NULL data.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (aac_type_find):
Don't segfault on NULL data.
2004-11-08 09:48:31 +00:00
Wim Taymans
ac515f710f gst/playback/: Add support for chained ogg files. Prepare for playlist support. This patch introduces the concept of ...
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (unlinked):
* gst/playback/gstplay-marshal.list:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(gst_play_base_bin_init), (group_create), (get_active_group),
(get_building_group), (group_destroy), (group_commit),
(queue_overrun), (remove_groups), (add_stream), (unknown_type),
(add_element_stream), (no_more_pads), (probe_triggered),
(preroll_unlinked), (new_decoded_pad), (removed_decoded_pad),
(state_change), (setup_source), (gst_play_base_bin_get_property),
(gst_play_base_bin_change_state), (gst_play_base_bin_add_element),
(gst_play_base_bin_link_stream),
(gst_play_base_bin_get_streaminfo):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(remove_sinks), (setup_sinks), (gst_play_bin_change_state):
Add support for chained ogg files. Prepare for playlist
support. This patch introduces the concept of pad groups, which
together compose one playable media file.
2004-11-08 09:46:17 +00:00
Ronald S. Bultje
75c18f1b4e Add musepack decoder.
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musepack/gstmusepackdec.cpp:
* ext/musepack/gstmusepackdec.h:
* ext/musepack/gstmusepackreader.cpp:
* ext/musepack/gstmusepackreader.h:
Add musepack decoder.
* ext/faad/gstfaad.c: (gst_faad_base_init):
Make pad templates static.
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find),
(plugin_init):
Add musepack typefinder, make mp3 typefinding work halfway stream,
which doesn't actually work yet because id3demux doesn't implement
_get_length().
2004-11-07 18:30:07 +00:00
Thomas Vander Stichele
ecbc5c1a2e ports can go up to 65535. Move common defines to gsttcp.h
Original commit message from CVS:
ports can go up to 65535.  Move common defines to gsttcp.h
2004-11-05 17:38:20 +00:00
Wim Taymans
7585e3b9fb gst/videotestsrc/videotestsrc.c: Added two more colorspaces.
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.
2004-11-05 15:07:57 +00:00
Wim Taymans
e40a51fa08 gst/ffmpegcolorspace/: More stride fixes.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpegcsp_avpicture_fill):
* gst/ffmpegcolorspace/imgconvert.c: (avpicture_get_size),
(yuv422p_to_yuv422), (yuv420p_to_yuv422), (shrink12),
(img_convert), (deinterlace_line), (deinterlace_line_inplace):
More stride fixes.
2004-11-05 14:58:50 +00:00
Thomas Vander Stichele
97171752ff debug port
Original commit message from CVS:
debug port
2004-11-04 15:57:00 +00:00
Christophe Fergeau
78e33b59e9 gst/videoscale/: leak fixes
Original commit message from CVS:
2004-11-03  Christophe Fergeau  <teuf@gnome.org>

* gst/videoscale/gstvideoscale.c: (gst_videoscale_getcaps):
* gst/videoscale/videoscale.c: (videoscale_find_by_structure):
leak fixes
2004-11-03 16:08:14 +00:00
Wim Taymans
3e13fd8044 gst/ffmpegcolorspace/: Use correct _fill function to get correct strides.
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.
2004-11-03 15:46:16 +00:00
Wim Taymans
9b23e6f57f gst/playback/: Fix playback of multiple files. a slightly different approach to handling dynamic pad removals.
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.
2004-11-02 10:30:36 +00:00
Ronald S. Bultje
abd34577da gst/playback/gstdecodebin.c: Implement support for dynamic pad changing. We listen to "live" pad removals (i.e. while...
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.
2004-11-01 16:08:32 +00:00
Jan Schmidt
4cf67a0834 Fixes a bunch of problems with finalize and dispose functions, either assumptions that dispose is only called once, o...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_class_init), (gst_alsa_dispose),
(gst_alsa_finalize):
* ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init),
(gst_cdaudio_finalize):
* ext/cdparanoia/gstcdparanoia.c: (cdparanoia_class_init),
(cdparanoia_finalize):
* ext/divx/gstdivxdec.c: (gst_divxdec_dispose):
* ext/divx/gstdivxenc.c: (gst_divxenc_dispose):
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init),
(dvdreadsrc_finalize):
* ext/flac/gstflacdec.c: (gst_flacdec_class_init),
(gst_flacdec_finalize):
* ext/flac/gstflacenc.c: (gst_flacenc_class_init),
(gst_flacenc_finalize):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnomevfssink_class_init),
(gst_gnomevfssink_finalize):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_class_init),
(gst_gnomevfssrc_finalize):
* ext/libfame/gstlibfame.c: (gst_fameenc_class_init),
(gst_fameenc_finalize):
* ext/nas/nassink.c: (gst_nassink_class_init),
(gst_nassink_finalize):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_finalize),
(gst_sdlvideosink_class_init):
* ext/sndfile/gstsf.c: (gst_sf_dispose):
* gst-libs/gst/mixer/mixertrack.c: (gst_mixer_track_dispose):
* gst-libs/gst/tuner/tunerchannel.c: (gst_tuner_channel_dispose):
* gst-libs/gst/tuner/tunernorm.c: (gst_tuner_norm_dispose):
* gst-libs/gst/xwindowlistener/xwindowlistener.c:
(gst_x_window_listener_dispose):
* gst/audioscale/gstaudioscale.c:
* gst/playondemand/gstplayondemand.c: (play_on_demand_class_init),
(play_on_demand_finalize):
* gst/videofilter/gstvideobalance.c: (gst_videobalance_dispose):
* gst/videoscale/gstvideoscale.c: (gst_videoscale_chain):
* sys/cdrom/gstcdplayer.c: (cdplayer_class_init),
(cdplayer_finalize):
* sys/glsink/glimagesink.c: (gst_glimagesink_finalize),
(gst_glimagesink_class_init):
* sys/oss/gstosselement.c: (gst_osselement_class_init),
(gst_osselement_finalize):
* sys/oss/gstosssink.c: (gst_osssink_dispose):
* sys/oss/gstosssrc.c: (gst_osssrc_dispose):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_dispose):
Fixes a bunch of problems with finalize and dispose functions,
either assumptions that dispose is only called once, or not calling
the parent class dispose/finalize function
2004-11-01 14:43:38 +00:00
Scott Wheeler
3fcf384570 pre-C99 fixes
Original commit message from CVS:
pre-C99 fixes
2004-11-01 13:23:29 +00:00
Johan Dahlin
6112413a1f Plug more leaks.
Original commit message from CVS:
Plug more leaks.
2004-11-01 10:38:30 +00:00
Benjamin Otte
d60bad062b gst/tags/gstvorbistag.c: lotsa memleaks today. But they're all small...
Original commit message from CVS:
* gst/tags/gstvorbistag.c: (gst_vorbis_tag_chain):
lotsa memleaks today. But they're all small...
2004-10-31 17:29:02 +00:00
Benjamin Otte
7f1398eb26 gst/tags/gstvorbistag.c: fix memleak
Original commit message from CVS:
* gst/tags/gstvorbistag.c: (gst_tag_to_vorbis_comments):
fix memleak
2004-10-31 16:26:01 +00:00
Ronald S. Bultje
50edf4b216 gst/ffmpegcolorspace/: Sync back from gst-ffmpeg. Deprecates ffcolorspace. Adds pallette handling plus update from ff...
Original commit message from CVS:
* gst/ffmpegcolorspace/Makefile.am:
* gst/ffmpegcolorspace/avcodec.h:
* gst/ffmpegcolorspace/common.h:
* gst/ffmpegcolorspace/dsputil.c: (dsputil_static_init):
* gst/ffmpegcolorspace/dsputil.h:
* gst/ffmpegcolorspace/gstffmpeg.c: (plugin_init):
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_get_palette), (gst_ffmpeg_set_palette),
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps),
(gst_ffmpegcsp_codectype_to_caps), (gst_ffmpeg_caps_to_smpfmt),
(gst_ffmpeg_caps_to_pixfmt), (gst_ffmpegcsp_caps_with_codectype),
(gst_ffmpegcsp_avpicture_fill):
* gst/ffmpegcolorspace/gstffmpegcodecmap.h:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_caps_remove_format_info), (gst_ffmpegcsp_getcaps),
(gst_ffmpegcsp_pad_link), (gst_ffmpegcsp_get_type),
(gst_ffmpegcsp_base_init), (gst_ffmpegcsp_class_init),
(gst_ffmpegcsp_init), (gst_ffmpegcsp_chain),
(gst_ffmpegcsp_change_state), (gst_ffmpegcsp_set_property),
(gst_ffmpegcsp_get_property), (gst_ffmpegcolorspace_register):
* gst/ffmpegcolorspace/imgconvert.c:
(avcodec_get_chroma_sub_sample), (avcodec_get_pix_fmt_name),
(avcodec_get_pix_fmt), (avpicture_fill), (avpicture_layout),
(avpicture_get_size), (avcodec_get_pix_fmt_loss),
(avg_bits_per_pixel), (avcodec_find_best_pix_fmt1),
(avcodec_find_best_pix_fmt), (img_copy_plane), (img_copy),
(yuv422_to_yuv420p), (uyvy422_to_yuv420p), (uyvy422_to_yuv422p),
(yuv422_to_yuv422p), (yuv422p_to_yuv422), (yuv422p_to_uyvy422),
(uyvy411_to_yuv411p), (yuv420p_to_yuv422), (C_JPEG_TO_CCIR),
(img_convert_init), (img_apply_table), (shrink41), (shrink21),
(shrink12), (shrink22), (shrink44), (grow21_line), (grow41_line),
(grow21), (grow22), (grow41), (grow44), (conv411),
(gif_clut_index), (build_rgb_palette), (bitcopy_n), (mono_to_gray),
(monowhite_to_gray), (monoblack_to_gray), (gray_to_mono),
(gray_to_monowhite), (gray_to_monoblack), (avpicture_alloc),
(avpicture_free), (is_yuv_planar), (img_convert),
(get_alpha_info_pal8), (img_get_alpha_info), (deinterlace_line),
(deinterlace_line_inplace), (deinterlace_bottom_field),
(deinterlace_bottom_field_inplace), (avpicture_deinterlace):
* gst/ffmpegcolorspace/imgconvert_template.h:
* gst/ffmpegcolorspace/mem.c: (av_malloc), (av_realloc), (av_free):
* gst/ffmpegcolorspace/mmx.h:
* gst/ffmpegcolorspace/utils.c: (av_mallocz), (av_strdup),
(av_fast_realloc), (av_mallocz_static), (av_free_static),
(av_freep), (avcodec_get_context_defaults),
(avcodec_alloc_context), (avcodec_init):
Sync back from gst-ffmpeg. Deprecates ffcolorspace. Adds pallette
handling plus update from ffmpeg CVS. Large clean-up.
2004-10-31 14:33:18 +00:00
Ronald S. Bultje
df916dcfc9 gst/playback/Makefile.am: We need the marshallers for decodebin, too.
Original commit message from CVS:
* gst/playback/Makefile.am:
We need the marshallers for decodebin, too.
2004-10-31 13:37:26 +00:00
David Schleef
9552faf6f0 gst/typefind/gsttypefindfunctions.c: Make quicktime typefinding work with 64-bit offsets.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (qt_type_find): Make
quicktime typefinding work with 64-bit offsets.
2004-10-31 02:09:50 +00:00
Ronald S. Bultje
2070a88585 gst/playback/: Make caps explicitely available. Makes testing for unsupported types possible. Improves error reporting.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (unknown_type),
(add_element_stream), (new_decoded_pad),
(gst_play_base_bin_change_state):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init),
(gst_stream_info_init), (gst_stream_info_new),
(gst_stream_info_dispose), (gst_stream_info_get_property):
* gst/playback/gststreaminfo.h:
Make caps explicitely available. Makes testing for unsupported
types possible. Improves error reporting.
2004-10-29 15:27:10 +00:00
Ronald S. Bultje
b463251864 gst/audioconvert/gstaudioconvert.c: Really don't touch read-only buffers (#156563).
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_buffer_to_default_format):
Really don't touch read-only buffers (#156563).
2004-10-29 12:48:45 +00:00
Wim Taymans
9f38ed64f5 gst/tcp/: Added burst on connect sync_method, deprecated sync_clients, streamlined the sync code some more.
Original commit message from CVS:
* gst/tcp/.cvsignore:
* gst/tcp/gstmultifdsink.c: (gst_sync_method_get_type),
(gst_multifdsink_class_init), (gst_multifdsink_init),
(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_set_property),
(gst_multifdsink_get_property):
* gst/tcp/gstmultifdsink.h:
Added burst on connect sync_method, deprecated sync_clients,
streamlined the sync code some more.
2004-10-29 11:10:38 +00:00
Ronald S. Bultje
3b2fd2e665 gst/playback/gstplaybasebin.c: Improve error reporting.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (thread_error), (setup_source),
(gst_play_base_bin_change_state):
Improve error reporting.
2004-10-29 08:40:28 +00:00
Wim Taymans
2bb3268dd5 gst/tcp/: Added more locks around fdset structures. Fixed/reworked the poll array resizing code.
Original commit message from CVS:
* gst/tcp/Makefile.am:
* gst/tcp/fdsetstress.c: (mess_some_more), (run_test), (main):
* gst/tcp/gstfdset.c: (nearest_pow), (resize), (ensure_size),
(gst_fdset_new), (gst_fdset_free), (gst_fdset_set_mode),
(gst_fdset_fd_ctl_write), (gst_fdset_fd_ctl_read),
(gst_fdset_fd_has_closed), (gst_fdset_fd_has_error),
(gst_fdset_fd_can_read), (gst_fdset_fd_can_write),
(gst_fdset_wait):
Added more locks around fdset structures. Fixed/reworked
the poll array resizing code.
Added stress test for fdset.
2004-10-28 14:22:15 +00:00
Iain Holmes
e2dc945577 Memory leak fixes
Original commit message from CVS:
Memory leak fixes
Allow level to take mono or stereo audio
2004-10-26 11:36:53 +00:00
Ronald S. Bultje
c362d7a14f gst/asfdemux/gstasfdemux.c: Don't push incomplete packets.
Original commit message from CVS:
Reviewd by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_chunk):
Don't push incomplete packets.
* gst/typefind/gsttypefindfunctions.c: (m4a_type_find):
Fix MPEG-4 audio typefinding.
2004-10-25 09:01:43 +00:00
Zaheer Abbas Merali
345756ed9d gst/tcp/gsttcpserversink.c: Zero some variables first (need for accept not to return EINVAL)
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)
2004-10-21 10:53:20 +00:00
Ronald S. Bultje
f5c1757f50 ext/ogg/gstoggdemux.c: Wrong return.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_iterate):
Wrong return.
* gst/playback/Makefile.am:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init):
* gst/playback/gstplay-marshal.list:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init):
Fix marshallers.
2004-10-20 12:02:20 +00:00
Wim Taymans
216fb64b09 gst/playback/: Add sink padtemplate to decodebin.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init),
(gst_decode_bin_init), (find_compatibles), (close_pad_link),
(try_to_link_1), (no_more_pads), (close_link), (type_found):
* gst/playback/gstplaybasebin.c: (gen_preroll_element),
(remove_prerolls), (unknown_type), (add_element_stream),
(new_decoded_pad), (setup_source), (gst_play_base_bin_add_element),
(gst_play_base_bin_remove_element),
(gst_play_base_bin_link_stream):
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_vis_element), (remove_sinks), (setup_sinks):
* gst/playback/gststreaminfo.c: (gst_stream_type_get_type),
(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:
Add sink padtemplate to decodebin.
Added some more comments.
Make queue size configurable in playbasebin.
Added possibility to use elements as sinks (ex cdaudio).
2004-10-18 13:40:48 +00:00
David Schleef
7aa6ed756e configure.ac: update for swfdec-0.3 and liboil-0.2
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
2004-10-14 23:19:58 +00:00
Wim Taymans
1989b502da gst/tcp/gstmultifdsink.c: Turn warnings into info.
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.
2004-10-14 11:28:21 +00:00
Wim Taymans
06addff261 gst/playback/gstplaybin.c: Added vis plugin support, need to configure the vis element to activate it.
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.
2004-10-12 16:41:23 +00:00
Wim Taymans
0e9b17a986 gst/playback/gstplaybasebin.c: Wrong var used to get g_list_next.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
Wrong var used to get g_list_next.
2004-10-11 12:07:15 +00:00
Wim Taymans
faa1d71a2e gst/playback/gstplaybasebin.c: Cleanup the previous pipeline a little earlier for the case that a source element prov...
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.
2004-10-11 09:35:48 +00:00
Ronald S. Bultje
c82f67606c gst/playback/gstplaybasebin.c: Actually clean up streaminfo if output fails. This would trigger if, for example, ther...
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.
2004-10-09 13:50:33 +00:00
Ronald S. Bultje
002a5ec2b6 gst/playback/gstplaybin.c: Add small bits of code for screenshot handling.
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.
2004-10-08 18:05:39 +00:00
Wim Taymans
b6fd3e4990 gst/playback/gstplaybin.c: Don't assume the user provided sinks are named "sink"...
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"...
2004-10-08 17:39:28 +00:00
Wim Taymans
f1684d7324 gst/playback/gstplaybasebin.c: Do not try to autoplug sources that generate raw streams like cdparanoia.
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.
2004-10-08 17:10:16 +00:00
Wim Taymans
a85131e7ca gst/playback/: Reuse the audio and video bins.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init),
(gst_decode_bin_init), (find_compatibles), (close_pad_link),
(try_to_link_1), (no_more_pads), (close_link), (type_found):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(unknown_type), (gst_play_base_bin_remove_element),
(gst_play_base_bin_link_stream):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_init),
(gst_play_bin_set_property), (gen_video_element),
(gen_audio_element), (setup_sinks):
* gst/playback/gststreaminfo.c: (gst_stream_type_get_type),
(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:
Reuse the audio and video bins.
Some internal cleanups in the stream selection code.
2004-10-08 11:30:32 +00:00
Wim Taymans
72570f800a gst/playback/: Implement muting/unmuting of streams, mute streams that are not used.
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.
2004-10-07 11:14:48 +00:00
Wim Taymans
96ead4ff7f gst/typefind/gsttypefindfunctions.c: Added lame audio/x-ac3 typefind function.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (ac3_type_find),
(plugin_init):
Added lame audio/x-ac3 typefind function.
2004-10-07 09:56:43 +00:00
Wim Taymans
ab34b63400 gst/playback/: Do not signal the no_more_pads after the first pad when we are plugging a non dynamic element with mul...
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, ...).
2004-10-06 16:33:06 +00:00
Wim Taymans
e3ddfa2c41 gst/playback/: Set state on newly added element to READY so that negotiation can happen ASAP.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(find_compatibles), (close_pad_link), (try_to_link_1),
(no_more_pads), (close_link), (type_found):
* gst/playback/gstplaybasebin.c: (new_decoded_pad):
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_audio_element):
Set state on newly added element to READY so that negotiation
can happen ASAP.
Addes some more debug info.
Do not try to plug pads with multiple caps structures or ANY
because it is too dangerous since we do not do dynamic
replugging.
2004-10-06 09:51:37 +00:00
Stéphane Loeuillet
dc9ec48574 - add .rmvb to the list of RealMedia known file extensions
Original commit message from CVS:
- add .rmvb to the list of RealMedia known file extensions
2004-10-05 13:07:08 +00:00
Wim Taymans
f92e880040 gst/playback/: Add some debug info to decodebin, update README
Original commit message from CVS:
* gst/playback/README:
* gst/playback/gstdecodebin.c: (gst_decode_bin_factory_filter),
(gst_decode_bin_init), (find_compatibles), (close_pad_link),
(try_to_link_1), (no_more_pads), (close_link), (type_found):
Add some debug info to decodebin, update README
2004-10-01 15:57:53 +00:00
Ronald S. Bultje
2dd175a86a gst/videoscale/gstvideoscale.c: Fix negotiation.
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c: (gst_videoscale_link):
Fix negotiation.
2004-10-01 12:32:25 +00:00
Ronald S. Bultje
6fd179b578 ext/flac/gstflacdec.c: Only return true if we actually filled something in. Prevents player applications from showing...
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flacdec_src_query):
Only return true if we actually filled something in. Prevents
player applications from showing a random length for flac files.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_class_init),
(gst_riff_read_use_event), (gst_riff_read_handle_event),
(gst_riff_read_seek), (gst_riff_read_skip), (gst_riff_read_strh),
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data), (gst_riff_read_strf_iavs):
OK, ok, so I implemented event handling. Apparently it's normal
that we receive random events at random points without asking
for it.
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_handle_src_event), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header),
(gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Implement non-lineair chunk handling and subchunk processing.
The first solves playback of AVI files where the audio and video
data of individual buffers that we read are not synchronized.
This should not happen according to the wonderful AVI specs, but
of course it does happen in reality. It is also a prerequisite for
the second. Subchunk processing allows us to cut chunks in small
pieces and process each of these pieces separately. This is
required because I've seen several AVI files with incredibly large
audio chunks, even some files with only one audio chunk for the
whole file. This allows for proper playback including seeking.
This patch is supposed to fix all AVI A/V sync issues.
* gst/flx/gstflxdec.c: (gst_flxdec_class_init),
(flx_decode_chunks), (flx_decode_color), (gst_flxdec_loop):
Work.
* gst/modplug/gstmodplug.cc:
Proper return value setting for the query() function.
* gst/playback/gstplaybasebin.c: (setup_source):
Being in non-playing state (after, e.g., EOS) is not necessarily
a bad thing. Allow for that. This fixes playback of short files.
They don't actually playback fully now, because the clock already
runs. This means that small files (<500kB) with a small length
(<2sec) will still not or barely play. Other files, such as mod
or flx, will work correctly, however.
2004-09-29 09:45:40 +00:00
Wim Taymans
e3e3775c80 gst/tcp/gstmultifdsink.*: Make syncing to keyframes actually work for new clients and lagging clients.
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_client_queue_buffer),
(gst_multifdsink_new_client),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer),
(gst_multifdsink_handle_clients):
* gst/tcp/gstmultifdsink.h:
Make syncing to keyframes actually work for new clients and lagging
clients.
2004-09-27 15:09:35 +00:00
Wim Taymans
99b89da705 gst/playback/gstplaybasebin.c: Only signal the no_more_pads signal when we have added the stream to our list.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (new_decoded_pad):
Only signal the no_more_pads signal when we have
added the stream to our list.
2004-09-24 17:33:00 +00:00
Wim Taymans
26f9ce012c gst/playback/: Don't try to preroll or decode more than one audio/video track.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (remove_prerolls),
(new_decoded_pad):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (setup_sinks):
Don't try to preroll or decode more than one audio/video
track.
2004-09-24 16:38:28 +00:00
Ronald S. Bultje
05090d3025 gst/playback/gstplaybasebin.c: Throw error if we failed to find a suitable output. This should throw an error if we s...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_change_state):
Throw error if we failed to find a suitable output. This should
throw an error if we successfully set up a pipeline (e.g. because
we recognized a media file) but found no decodable streams in it
(e.g. because it contains only media stream types for which we
have no decoders, or because it's not a media type).
2004-09-24 16:01:46 +00:00
Ronald S. Bultje
cf543aa606 ext/dirac/: Do something. Don't actually know if this works because I don't have a demuxer yet.
Original commit message from CVS:
* ext/dirac/Makefile.am:
* ext/dirac/gstdirac.cc:
* ext/dirac/gstdiracdec.cc:
* ext/dirac/gstdiracdec.h:
Do something. Don't actually know if this works because I don't
have a demuxer yet.
* ext/gsm/gstgsmdec.c: (gst_gsmdec_getcaps):
Add channels=1 to caps returned from _getcaps().
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_get_type),
(gst_ogm_video_parse_get_type), (gst_ogm_audio_parse_base_init),
(gst_ogm_video_parse_base_init), (gst_ogm_parse_init),
(gst_ogm_audio_parse_init), (gst_ogm_video_parse_init),
(gst_ogm_parse_sink_convert), (gst_ogm_parse_chain),
(gst_ogm_parse_change_state):
Separate between audio/video so ogmaudioparse actually uses the
audio pad templates. Both audio and video work now, including
autoplugging. Also use sometimes-srcpad hack.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
Handle events better. Don't hang on infinite loops.
* gst/avi/gstavidemux.c: (gst_avi_demux_class_init),
(gst_avi_demux_init), (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_stream_header), (gst_avi_demux_stream_data),
(gst_avi_demux_change_state):
* gst/avi/gstavidemux.h:
Improve A/V sync. Still not perfect.
* gst/matroska/ebml-read.c: (gst_ebml_read_seek),
(gst_ebml_read_skip):
Handle events better.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(gst_qtdemux_loop_header), (qtdemux_parse_trak),
(qtdemux_audio_caps):
Add IMA4. Improve event handling. Save offset after a seek when
the headers are at the end of the file so that we don't end up in
an infinite loop.
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
Add low-priority typefind support for files with no length.
2004-09-23 14:59:22 +00:00
Jan Schmidt
771b0248e7 ext/gdk_pixbuf/pixbufscale.c: Correct caps negotiation
Original commit message from CVS:
* ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_getcaps):
Correct caps negotiation
* gst/volume/gstvolume.c: (volume_chain_float),
(volume_chain_int16):
Modify debug output to be little more informative
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_destroy):
Add XSync calls after detaching from the shared memory segment to
avoid a crash.
2004-09-22 15:03:08 +00:00
Ronald S. Bultje
07b9b8ac0b gst/asfdemux/gstasfdemux.c: Prevent infinite loops. More correct error reporting.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (_read_var_length), (_read_guid),
(gst_asf_demux_process_segment), (gst_asf_demux_handle_data),
(gst_asf_demux_process_chunk), (gst_asf_demux_handle_sink_event):
Prevent infinite loops. More correct error reporting.
* gst/auparse/gstauparse.c: (gst_auparse_chain):
Error out if negotiation fails.
* gst/playback/gstplaybasebin.c: (setup_source),
(gst_play_base_bin_change_state), (gst_play_base_bin_error),
(gst_play_base_bin_found_tag):
Error/tag forwarding. Pre-roll fixes for source errors on state
changes (e.g. "file does not exist") to prevent hangs.
2004-09-22 07:55:37 +00:00
Ronald S. Bultje
823ceafca7 ext/mad/gstmad.c: Allow for mp3 rate/channels changes. However, only very conservatively. Reason that we *have* to en...
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_check_caps_reset),
(gst_mad_change_state):
Allow for mp3 rate/channels changes. However, only very
conservatively. Reason that we *have* to enable this is smiply
because the mad find_sync() function is not good enough, it will
regularly sync on random data as valid frames and therefore make
us provide random caps as *final* caps of the stream. The best fix
I could think of is to simply require several of the same stream
changes in a row before we change caps.
The actual testcase that works now is #
* ext/ogg/Makefile.am:
* ext/ogg/gstogg.c: (plugin_init):
* ext/ogg/gstogmparse.c:
OGM support (video only for now; I need an audio sample file).
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init),
(gst_asf_demux_process_stream), (gst_asf_demux_video_caps),
(gst_asf_demux_add_video_stream):
WMV extradata.
* gst/playback/gstplaybasebin.c: (unknown_type):
Don't error out on single unknown-types after all. It's wrong.
If we found type of video and audio but not of a subtitle stream,
it will still error out (which is unwanted). Will find a better fix
later on.
* gst/typefind/gsttypefindfunctions.c: (ogmvideo_type_find),
(ogmaudio_type_find), (plugin_init):
OGM support.
2004-09-20 12:40:40 +00:00
Wim Taymans
de08f07f19 gst/tcp/: Small cleanups in fdset.c
Original commit message from CVS:
* gst/tcp/gstfdset.c: (gst_fdset_fd_has_closed),
(gst_fdset_fd_has_error), (gst_fdset_fd_can_read),
(gst_fdset_fd_can_write), (gst_fdset_wait):
* gst/tcp/gstmultifdsink.c: (gst_client_status_get_type),
(gst_multifdsink_init), (gst_multifdsink_add),
(gst_multifdsink_remove), (gst_multifdsink_get_stats),
(gst_multifdsink_remove_client_link),
(gst_multifdsink_client_queue_buffer),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_recover_client), (gst_multifdsink_handle_clients),
(gst_multifdsink_close), (gst_multifdsink_change_state):
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcpserversink.c: (gst_tcpserversink_class_init),
(gst_tcpserversink_removed):
Small cleanups in fdset.c
Use a hastable to map fd to the client structure for faster
lookup in _remove and get_stats.
Added virtual function to close the fds.
Handle clients even when the select/poll call was unblocked because
of a command.
Implement syncing to keyframe in the recovery procedure.
2004-09-17 10:06:52 +00:00
Iain Holmes
02be6646cc Free the caps used for the try
Original commit message from CVS:
Free the caps used for the try
2004-09-16 11:34:50 +00:00
Arwed v. Merkatz
1ec7724889 use audio/x-ttafile and audio/x-tta for tta instead of audio/x-tta and audio/x-raw-tta
Original commit message from CVS:
use audio/x-ttafile and audio/x-tta for tta instead of audio/x-tta and audio/x-raw-tta
2004-09-15 19:43:38 +00:00
David Schleef
78deea7e4a configure.ac: remove NASM check, since we don't use it. Update dirac check to 0.4
Original commit message from CVS:
* configure.ac: remove NASM check, since we don't use it.  Update
dirac check to 0.4
* ext/dirac/gstdiracdec.cc: update to current 0.4 API
* gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_link):
Initialized variables.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_loop_header), (qtdemux_parse), (qtdemux_parse_trak),
(gst_qtdemux_handle_esds), (qtdemux_audio_caps): Fix seeking, add
SVQ3 format
2004-09-15 19:29:24 +00:00
Ronald S. Bultje
8c535ea438 gst/playback/gstplaybin.c: Volume is a double not a float.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gst_play_bin_get_property):
Volume is a double not a float.
2004-09-15 16:48:43 +00:00
Wim Taymans
f20328baad gst/tcp/gstmultifdsink.c: Don't close the fd in multifdsink as we didn't open it in the first place. Some cleanups.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_remove_client_link),
(gst_multifdsink_handle_clients), (gst_multifdsink_change_state):
Don't close the fd in multifdsink as we didn't open it in the
first place. Some cleanups.
2004-09-15 16:03:14 +00:00
Ronald S. Bultje
68d1ca33ae gst/playback/gstplaybasebin.c: Handle the case where we failed to setup a clear pipeline. This will throw an error (o...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (state_change), (setup_source),
(gst_play_base_bin_change_state):
Handle the case where we failed to setup a clear pipeline. This
will throw an error (or EOS, another nice case) and if you don't
catch that, the app will wait for the signal forever (and thus
hang).
2004-09-15 08:35:18 +00:00
Ronald S. Bultje
312cc7ec64 ext/gnomevfs/: Use _uri_new() instead of _open(), so it doesn't take as long and
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssink.c:
(gst_gnomevfssink_uri_get_protocols):
* ext/gnomevfs/gstgnomevfssrc.c:
(gst_gnomevfssrc_uri_get_protocols):
* ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris):
* ext/gnomevfs/gstgnomevfsuri.h:
Use _uri_new() instead of _open(), so it doesn't take as long and
Christophe's computer won't hang.
* gst/playback/gstplaybasebin.c: (unknown_type):
Throw error on unknown media type, so apps actually display it.
2004-09-15 06:33:44 +00:00
Wim Taymans
87eb159d81 gst/playback/: Some more work on making sure seeking pauses the pipeline and that changing the uri actually does some...
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (queue_overrun), (no_more_pads),
(setup_source), (gst_play_base_bin_set_property),
(gst_play_base_bin_add_element):
* gst/playback/gstplaybin.c: (gst_play_bin_send_event):
Some more work on making sure seeking pauses the pipeline and
that changing the uri actually does something.
2004-09-14 16:54:14 +00:00
Wim Taymans
761b17e400 gst/tcp/: Be a bit more paranoid when freeing memory.
Original commit message from CVS:
* gst/tcp/gstfdset.c: (gst_fdset_wait):
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_close):
* gst/tcp/gsttcpserversink.c: (gst_tcpserversink_init_send),
(gst_tcpserversink_close):
Be a bit more paranoid when freeing memory.
2004-09-14 14:03:16 +00:00
Ronald S. Bultje
8005b541c5 gst/playback/gstplaybasebin.c: Handle double disposals, and proper change of URIs.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c:
(gst_play_base_bin_dispose), (gst_play_base_bin_set_property):
Handle double disposals, and proper change of URIs.
2004-09-13 18:23:49 +00:00
Ronald S. Bultje
b709c6844b ext/alsa/gstalsamixer.c: Update mixer (to sync with other sessions) if we try to obtain a new value. This makes alsam...
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_update),
(gst_alsa_mixer_get_volume), (gst_alsa_mixer_set_volume),
(gst_alsa_mixer_set_mute), (gst_alsa_mixer_set_record),
(gst_alsa_mixer_set_option), (gst_alsa_mixer_get_option):
Update mixer (to sync with other sessions) if we try to obtain
a new value. This makes alsamixer work accross applications.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_get_time):
Only call sync functions if we're running, else alsalib asserts.
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query):
Sometimes fails to compile. Possibly a gcc bug.
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_audio_element):
Add a reference to an application-provided object, because we lose
this same reference if we add it to the bin. If we don't do this,
we can only use this object once and thus crash if we go from
ready to playing, back to ready and back to playing again.
Also add an audioscale element because several cheap soundcards -
like mine - don't support all samplerates.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get),
(gst_ximagesink_xcontext_clear), (gst_ximagesink_change_state):
Fix wrong order or PAR calls. Makes automatically obtained PAR
from the X server atually being used.
2004-09-13 09:24:00 +00:00
Thomas Vander Stichele
6579f69d30 a little NULL never hurt anyone
Original commit message from CVS:
a little NULL never hurt anyone
2004-09-13 05:06:16 +00:00
Scott Wheeler
656c686274 Added a volume element to the gstplaybin pipeline and an element for setting it.
Original commit message from CVS:
Added a volume element to the gstplaybin pipeline and an element for setting
it.
2004-09-09 15:28:21 +00:00
Ronald S. Bultje
dd935da004 ext/alsa/: Re-commit ALSA switches.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
Re-commit ALSA switches.
* gst/adder/gstadder.c: (gst_adder_loop):
64-bit fix (#151416).
* gst/debug/progressreport.c: (gst_progressreport_report):
64-bit fix (#151419).
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_contents):
64-bit fix (#151420).
* gst/playback/test3.c: (update_scale):
64-bit fix (#151421).
2004-08-31 14:12:49 +00:00
Wim Taymans
f8c64679ac gst/tcp/: Fix some memory leaks.
Original commit message from CVS:
* gst/tcp/gstfdset.c: (gst_fdset_free), (gst_fdset_wait):
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_add),
(gst_multifdsink_remove_client_link),
(gst_multifdsink_client_queue_buffer),
(gst_multifdsink_handle_client_write):
* gst/tcp/gsttcpclientsink.c: (gst_tcpclientsink_init_send):
* gst/tcp/gsttcpclientsrc.c: (gst_tcpclientsrc_init_receive):
Fix some memory leaks.
2004-08-30 10:28:40 +00:00
Arwed v. Merkatz
7248590db3 Typefinding for TTA files, fixes bug #148711.
Original commit message from CVS:
Typefinding for TTA files, fixes bug #148711.
2004-08-25 14:12:54 +00:00
Wim Taymans
5df309dd0f gst/tcp/: Some extra checks in gstfdset.
Original commit message from CVS:
* gst/tcp/gstfdset.c: (gst_fdset_free), (gst_fdset_set_mode),
(gst_fdset_get_mode), (gst_fdset_add_fd), (gst_fdset_remove_fd),
(gst_fdset_fd_ctl_write), (gst_fdset_fd_ctl_read),
(gst_fdset_fd_has_closed), (gst_fdset_fd_has_error),
(gst_fdset_fd_can_read), (gst_fdset_fd_can_write),
(gst_fdset_wait):
* gst/tcp/gstfdset.h:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_add),
(gst_multifdsink_client_queue_buffer),
(gst_multifdsink_handle_client_write):
* gst/tcp/gstmultifdsink.h:
Some extra checks in gstfdset.
Only use send() when the fd is a socket. Don't try to
read from write only fds.
2004-08-18 16:13:19 +00:00
Wim Taymans
36db5cb890 gst/tcp/gstfdset.c: Add more locking and bounds checking.
Original commit message from CVS:
* gst/tcp/gstfdset.c: (gst_fdset_add_fd), (gst_fdset_remove_fd),
(gst_fdset_fd_ctl_write), (gst_fdset_fd_ctl_read),
(gst_fdset_fd_has_closed), (gst_fdset_fd_has_error),
(gst_fdset_fd_can_read), (gst_fdset_fd_can_write),
(gst_fdset_wait):
Add more locking and bounds checking.
2004-08-18 11:57:56 +00:00
Wim Taymans
d5c88bc058 gst/tcp/gstfdset.c: Realloc test fdset in the lock and right before starting the poll call. Bump the limit to 4096.
Original commit message from CVS:
* gst/tcp/gstfdset.c: (ensure_size), (gst_fdset_wait):
Realloc test fdset in the lock and right before starting
the poll call. Bump the limit to 4096.
2004-08-18 10:22:34 +00:00
Zaheer Abbas Merali
d9e22cf818 gst/audioscale/gstaudioscale.*: made audioscale resample from any sample rate to any sample rate
Original commit message from CVS:
2004-08-17  Zaheer Abbas Merali  <zaheerabbas at merali dot org>

* gst/audioscale/gstaudioscale.c:
* gst/audioscale/gstaudioscale.h:
made audioscale resample from any sample rate to any sample rate
2004-08-17 21:27:30 +00:00
Wim Taymans
0efee1eb17 gst/tcp/gstmultifdsink.*: Added option to send a keyframe to clients as the first buffer.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init),
(gst_multifdsink_init), (gst_multifdsink_add),
(gst_multifdsink_client_queue_buffer),
(gst_multifdsink_set_property), (gst_multifdsink_get_property):
* gst/tcp/gstmultifdsink.h:
Added option to send a keyframe to clients as the first buffer.
Make timeout property writable.
2004-08-17 10:30:17 +00:00
Thomas Vander Stichele
bda2761348 fix index comparison
Original commit message from CVS:
fix index comparison
2004-08-17 09:57:31 +00:00
Wim Taymans
aaeaa1efec gst/tcp/gstfdset.c: Make sure the pollfds are not changed when the poll call is running. Protect against array out of...
Original commit message from CVS:
* gst/tcp/gstfdset.c: (ensure_size), (gst_fdset_new),
(gst_fdset_add_fd), (gst_fdset_remove_fd),
(gst_fdset_fd_has_closed), (gst_fdset_fd_has_error),
(gst_fdset_fd_can_read), (gst_fdset_fd_can_write),
(gst_fdset_wait):
Make sure the pollfds are not changed when the poll call is
running. Protect against array out of bounds.
2004-08-16 16:45:52 +00:00
Thomas Vander Stichele
6141dbe95f fix debug levels
Original commit message from CVS:
fix debug levels
2004-08-16 15:48:27 +00:00
David Schleef
b9a69ae7f7 gst/tcp/gstfdset.c: Fix compile problem on OS/X.
Original commit message from CVS:
* gst/tcp/gstfdset.c: Fix compile problem on OS/X.
2004-08-11 22:58:07 +00:00
Wim Taymans
870c00c76a gst/tcp/: Abstracted away the select call, implemented poll (yes we ran into the 1024 limit in production).
Original commit message from CVS:
* gst/tcp/Makefile.am:
* gst/tcp/gstfdset.c: (gst_fdset_mode_get_type), (nearest_pow),
(ensure_size), (gst_fdset_new), (gst_fdset_free),
(gst_fdset_set_mode), (gst_fdset_get_mode), (gst_fdset_add_fd),
(gst_fdset_remove_fd), (gst_fdset_fd_ctl_write),
(gst_fdset_fd_ctl_read), (gst_fdset_fd_has_closed),
(gst_fdset_fd_has_error), (gst_fdset_fd_can_read),
(gst_fdset_fd_can_write), (gst_fdset_wait):
* gst/tcp/gstfdset.h:
* gst/tcp/gstmultifdsink.c: (gst_unit_type_get_type),
(gst_multifdsink_class_init), (gst_multifdsink_init),
(gst_multifdsink_add), (gst_multifdsink_remove),
(gst_multifdsink_clear), (gst_multifdsink_get_stats),
(gst_multifdsink_remove_client_link),
(gst_multifdsink_handle_client_read),
(gst_multifdsink_client_queue_data),
(gst_multifdsink_client_queue_caps),
(gst_multifdsink_client_queue_buffer),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer),
(gst_multifdsink_handle_clients), (gst_multifdsink_set_property),
(gst_multifdsink_get_property), (gst_multifdsink_init_send),
(gst_multifdsink_close):
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcpserversink.c: (gst_tcpserversink_class_init),
(gst_tcpserversink_init), (gst_tcpserversink_handle_server_read),
(gst_tcpserversink_handle_wait), (gst_tcpserversink_init_send),
(gst_tcpserversink_close):
* gst/tcp/gsttcpserversink.h:
Abstracted away the select call, implemented poll (yes we ran into
the 1024 limit in production).
2004-08-11 15:58:48 +00:00
Thomas Vander Stichele
2260add03b improve debugging
Original commit message from CVS:
improve debugging
2004-08-11 11:42:49 +00:00
Thomas Vander Stichele
930a02f6e5 fix debug levels
Original commit message from CVS:
fix debug levels
2004-08-11 10:56:33 +00:00
Wim Taymans
45208fed48 gst/tcp/: Starting to prepare for specifying buffer time in other units than buffers. Expose remove reason in signal.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_unit_type_get_type),
(gst_client_status_get_type), (gst_multifdsink_class_init),
(gst_multifdsink_init), (gst_multifdsink_remove_client_link),
(gst_multifdsink_handle_client_read),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_recover_client), (gst_multifdsink_queue_buffer),
(gst_multifdsink_handle_clients), (gst_multifdsink_set_property),
(gst_multifdsink_get_property):
* gst/tcp/gstmultifdsink.h:
* gst/tcp/gsttcp-marshal.list:
Starting to prepare for specifying buffer time in other units
than buffers. Expose remove reason in signal.
2004-08-10 15:23:19 +00:00
Wim Taymans
3b5ba92cea gst/tcp/gstmultifdsink.*: Added more debugging info. Changed the way clients are removed from the lists. Fixed a bug ...
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_add),
(gst_multifdsink_remove), (gst_multifdsink_clear),
(gst_multifdsink_remove_client_link),
(gst_multifdsink_handle_client_read),
(gst_multifdsink_client_queue_data),
(gst_multifdsink_client_queue_buffer),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients),
(gst_multifdsink_chain), (gst_multifdsink_close):
* gst/tcp/gstmultifdsink.h:
Added more debugging info. Changed the way clients are
removed from the lists. Fixed a bug where a bad file descriptor
could cause many clients to be removed.
2004-08-10 11:35:44 +00:00
Benjamin Otte
1e8be7e191 gst/videotestsrc/gstvideotestsrc.c: allow all pixel-aspect-ratios, not just 1:1
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c: (generate_capslist):
allow all pixel-aspect-ratios, not just 1:1
2004-08-10 07:31:11 +00:00
Thomas Vander Stichele
d5fccfe4e7 use real error
Original commit message from CVS:
use real error
2004-08-09 19:27:04 +00:00
Thomas Vander Stichele
26141ac67e we don't distinguish between closing because of errors and normal (yet)
Original commit message from CVS:
we don't distinguish between closing because of errors and normal (yet)
2004-08-09 16:57:40 +00:00
Wim Taymans
91d11fc8dd gst/tcp/gstmultifdsink.c: Do a bit more logging, make the client_read code more robust.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init),
(gst_multifdsink_add), (gst_multifdsink_get_stats),
(gst_multifdsink_client_remove),
(gst_multifdsink_handle_client_read),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients):
Do a bit more logging, make the client_read code more robust.
2004-08-09 16:48:41 +00:00
Wim Taymans
fd78bb16f1 gst/tcp/gstmultifdsink.c: Make sure we don't try to read more from a client that what ioctl says us or we deadlock.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init),
(gst_multifdsink_add), (gst_multifdsink_get_stats),
(gst_multifdsink_client_remove),
(gst_multifdsink_handle_client_read),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients):
Make sure we don't try to read more from a client that what
ioctl says us or we deadlock.
2004-08-06 15:42:58 +00:00
Thomas Vander Stichele
fa9cca2cc4 handle changing framerate while PLAYING
Original commit message from CVS:
handle changing framerate while PLAYING
2004-08-05 17:51:07 +00:00
Thomas Vander Stichele
43b6b750c6 move common code out of if
Original commit message from CVS:
move common code out of if
2004-08-05 17:41:33 +00:00
Benjamin Otte
242409ad1d gst/videotestsrc/gstvideotestsrc.c: generate the list of supported caps at startup and reuse it instead of always gen...
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
(gst_videotestsrc_get_capslist), (generate_capslist),
(plugin_init):
generate the list of supported caps at startup and reuse it instead
of always generating it
2004-08-04 11:08:13 +00:00
Benjamin Otte
fac2d57868 fixes for G_DISABLE_ASSERT and friends
Original commit message from CVS:
* examples/dynparams/filter.c: (ui_control_create):
* examples/gstplay/player.c: (print_tag):
* ext/alsa/gstalsa.c: (gst_alsa_request_new_pad):
* ext/gdk_pixbuf/gstgdkanimation.c:
(gst_gdk_animation_iter_may_advance):
* ext/jack/gstjack.c: (gst_jack_request_new_pad):
* ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list),
(tag_list_to_id3_tag_foreach), (gst_id3_tag_handle_event):
* ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_get_tag_value):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_get_tag_value):
* ext/xine/xineaudiodec.c: (gst_xine_audio_dec_chain):
* gst-libs/gst/media-info/media-info-test.c: (print_tag):
* gst/sine/demo-dparams.c: (main):
* gst/tags/gstvorbistag.c: (gst_tag_to_vorbis_comments):
* testsuite/alsa/formats.c: (create_pipeline):
* testsuite/alsa/sinesrc.c: (sinesrc_force_caps), (sinesrc_get):
fixes for G_DISABLE_ASSERT and friends
* gst/typefind/gsttypefindfunctions.c: (aac_type_find),
(mp3_type_frame_length_from_header), (mp3_type_find),
(plugin_init):
require mp3 typefinding to have at least MIN_HEADERS valid headers
add typefinding for AAC adts files
2004-08-03 14:28:12 +00:00
Benjamin Otte
f423b5ff15 gst/audioscale/gstaudioscale.c: - fix templates to only support S16, it's the only format that works
Original commit message from CVS:
* gst/audioscale/gstaudioscale.c:
- fix templates to only support S16, it's the only format that works
- make caps nego code use try_set_caps_nonfixed and fixation instead
of try_set_caps twice, which is not nice for autopluggers
- change rank to secondary, so autopluggers can pick it up after
audioconvert
2004-08-02 15:55:54 +00:00
Thomas Vander Stichele
a073c3d744 don't lie to me baby
Original commit message from CVS:
don't lie to me baby
2004-08-02 15:35:13 +00:00
Wim Taymans
8a0309661a gst/tcp/gstmultifdsink.*: Recover from a select with a bad file descriptor by removing the client.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multifdsink_class_init),
(gst_multifdsink_add), (gst_multifdsink_remove),
(gst_multifdsink_clear), (gst_multifdsink_get_stats),
(gst_multifdsink_client_remove),
(gst_multifdsink_handle_client_write),
(gst_multifdsink_queue_buffer), (gst_multifdsink_handle_clients):
* gst/tcp/gstmultifdsink.h:
Recover from a select with a bad file descriptor by removing
the client.
2004-07-30 16:17:37 +00:00
Thomas Vander Stichele
7144b47a83 rename properly
Original commit message from CVS:
rename properly
2004-07-29 14:08:11 +00:00
Thomas Vander Stichele
6976f09876 rename properly
Original commit message from CVS:
rename properly
2004-07-29 14:05:09 +00:00