Commit graph

526 commits

Author SHA1 Message Date
Sebastian Dröge
712a416ecd gst/mpegaudioparse/gstmpegaudioparse.*: Implement accurate seeking in mpegaudioparse. Fixes #308312.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset),
(gst_mp3parse_init), (gst_mp3parse_dispose),
(gst_mp3parse_sink_event), (mp3parse_seek_table_last_entry),
(gst_mp3parse_emit_frame), (gst_mp3parse_chain),
(mp3parse_handle_seek), (mp3parse_src_query):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Implement accurate seeking in mpegaudioparse. Fixes #308312.
Also implement segment seeks.
2007-07-13 16:27:56 +00:00
Tim-Philipp Müller
0e2c8a042f Fix build against core CVS by not using deprecated API. Bump requirements for new API (overdue anyway).
Original commit message from CVS:
* configure.ac:
* ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_descramble_buffer):
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw):
Fix build against core CVS by not using deprecated API. Bump
requirements for new API (overdue anyway).
2007-07-11 23:18:14 +00:00
Stefan Kost
2c006cfccc And yet more docs enabled.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
* gst/synaesthesia/Makefile.am:
* gst/synaesthesia/gstsynaesthesia.c:
* gst/synaesthesia/gstsynaesthesia.h:
And yet more docs enabled.
2007-07-03 13:05:01 +00:00
Sebastian Dröge
376b414679 gst/mpegaudioparse/gstmpegaudioparse.c: Use GST_BOILERPLATE instead of manual GType magic.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_base_init),
(gst_mp3parse_init):
Use GST_BOILERPLATE instead of manual GType magic.
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_handle_first_frame), (mp3parse_time_to_bytepos),
(mp3parse_bytepos_to_time):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Implement seeking, byte->time, time->byte conversions with the Xing
seek table if available. This allows better at least a bit more
accurate seeks and file position reporting.
2007-07-01 19:12:32 +00:00
Sebastian Dröge
79cfc89c8f gst/mpegaudioparse/gstmpegaudioparse.c: Copy the complete Xing seek table in the 100 byte array instead of copying th...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_handle_first_frame):
Copy the complete Xing seek table in the 100 byte array instead of
copying the first byte 100 times.
* gst/mpegaudioparse/gstmpegaudioparse.c: (mp3parse_total_bytes),
(mp3parse_total_time), (mp3parse_time_to_bytepos):
Add seeking support based on the Xing header but comment it out for
now as it seems to yield worse result than the other method.
Also use gst_pad_query_peer_duration() instead of getting the peer pad
ourself, creating a new GstQuery, etc.
2007-06-28 20:33:51 +00:00
Edward Hervey
f4f98ea80b Fix leaks some more.
Original commit message from CVS:
* ext/amrnb/amrnbdec.c: (gst_amrnbdec_init):
* gst/ac3parse/gstac3parse.c: (gst_ac3parse_init):
* gst/asfdemux/gstasfmux.c: (gst_asfmux_init):
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_init):
* gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_init):
* gst/iec958/ac3iec.c: (ac3iec_init):
* gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_init):
Fix leaks some more.
2007-06-22 10:57:06 +00:00
Edward Hervey
33e97185f5 gst/mpegaudioparse/gstmpegaudioparse.c: "She's leaking me", said valgrind.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_init):
"She's leaking me", said valgrind.
2007-06-21 14:33:58 +00:00
Jan Schmidt
b18aa04605 gst/mpegaudioparse/gstmpegaudioparse.c: Fix "pad caps are not a real subset of its template caps" warning.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_caps_create):
Fix "pad caps are not a real subset of its template caps" warning.
2007-06-19 14:40:20 +00:00
Sébastien Moutte
5f0d42cbb5 gst/dvdsub/gstdvdsubdec.c: Use gst_util_guint64_to_gdouble for conversion.
Original commit message from CVS:
* gst/dvdsub/gstdvdsubdec.c:(gst_dvd_sub_dec_parse_subpic):
Use gst_util_guint64_to_gdouble for conversion.
* win32/vs6/libgstasfdemux.dsp:
Add asfpacket.c to the build.
2007-06-12 21:46:10 +00:00
Jan Schmidt
f66de5cf88 gst/mpegaudioparse/gstmpegaudioparse.*: If the Xing header provides a total time, use it to calculate the correct ave...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_reset),
(gst_mp3parse_emit_frame), (gst_mp3parse_handle_first_frame):
* gst/mpegaudioparse/gstmpegaudioparse.h:
If the Xing header provides a total time, use it to calculate the
correct average bitrate immediately, instead of sending updates as
we parse the stream.
2007-06-08 08:39:43 +00:00
by Mark Nauwelaerts
2969f0a29c gst/dvdsub/gstdvdsubdec.c: Use GstClockTime instead of guint for a time variable to prevent overflows on too large su...
Original commit message from CVS:
Patch by by: Mark Nauwelaerts <manauw at skynet dot be>
* gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_parse_subpic):
Use GstClockTime instead of guint for a time variable to prevent
overflows on too large subtitle durations. Fixes #444514.
2007-06-05 21:47:29 +00:00
Mark Nauwelaerts
1aa6c129e3 gst/dvdsub/gstdvdsubdec.c: Clear state when handling the serialized FLUSH_STOP event instead of the FLUSH_START event...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/dvdsub/gstdvdsubdec.c: (gst_dvd_sub_dec_sink_event):
Clear state when handling the serialized FLUSH_STOP event instead of
the FLUSH_START event, thereby making sure we don't free buffers the
chain function is still using. Fixes dvdsubdec crashing when flusing
or seeking (#442706).
2007-05-31 22:33:26 +00:00
Tim-Philipp Müller
a570f40d46 gst/mpegaudioparse/gstmpegaudioparse.c: Initialise variable to make fc4 build bot happy.
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
Initialise variable to make fc4 build bot happy.
2007-05-23 11:16:09 +00:00
Tim-Philipp Müller
527665dd95 gst/mpegstream/gstmpegdemux.c: Add sanity check so we don't abort for broken or non-MPEG streams, but instead error o...
Original commit message from CVS:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_subbuffer):
Add sanity check so we don't abort for broken or non-MPEG streams,
but instead error out. Fixes crashes/aborts for when our typefinder
wrongly identifies quicktime files as mpeg (which should be fixed in
-base now too). (#440120).
2007-05-21 15:11:45 +00:00
Jan Schmidt
c145813ad3 gst/mpegaudioparse/gstmpegaudioparse.*: Implement parsing of Xing headers from the first frame of the stream, and use...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(mp3_type_frame_length_from_header), (gst_mp3parse_reset),
(gst_mp3parse_emit_frame), (gst_mp3parse_handle_first_frame),
(gst_mp3parse_chain), (mp3parse_total_bytes),
(mp3parse_total_time):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Implement parsing of Xing headers from the first frame of the stream,
and use it to report duration correctly where possible.
2007-05-18 08:42:25 +00:00
Tim-Philipp Müller
897f7039f8 gst/realmedia/rmdemux.c: After descrambling, push the packets out as individual packets instead of one big descramble...
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_descramble_cook_audio):
After descrambling, push the packets out as individual packets
instead of one big descrambled buffer. Makes cook audio decoding
work with the 'realaudiodec' decoder from gst-plugins-bad.
2007-05-16 19:15:13 +00:00
Tim-Philipp Müller
286a2c0edb gst/realmedia/rmdemux.*: Remember first timestamp encountered in stream and re-timestamp stream to start from zero (f...
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_init),
(gst_rmdemux_sink_event), (gst_rmdemux_perform_seek),
(gst_rmdemux_reset), (gst_rmdemux_chain), (gst_rmdemux_add_stream),
(gst_rmdemux_parse_packet):
* gst/realmedia/rmdemux.h:
Remember first timestamp encountered in stream and re-timestamp
stream to start from zero (fixes #397219); only send one newsegment
event, not two; when seeking, send newsegment events from the
streaming thread and not from the seeking thread.
2007-05-16 19:07:45 +00:00
Mark Nauwelaerts
971b4e3614 gst/mpegstream/: Reset last_flow values for the various streams after a flushing seek, otherwise we might aggregate w...
Original commit message from CVS:
Based on patch by: Mark Nauwelaerts  <manauw skynet be>
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_class_init),
(gst_mpeg_demux_process_event), (gst_mpeg_streams_reset_last_flow):
* gst/mpegstream/gstmpegdemux.h:
Reset last_flow values for the various streams after a flushing
seek, otherwise we might aggregate wrong flow returns afterwards
that will make upstream pause silently. This should fix seeking
in DVDs and also fix the Thoggen cropping dialog (#438610).
2007-05-16 12:48:43 +00:00
Tim-Philipp Müller
08c63b6800 gst/asfdemux/gstasfdemux.*: Activate streams (ie. add the pads to the element) depending on whether we actually get d...
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_reset),
(gst_asf_demux_chain_headers),
(gst_asf_demux_parse_data_object_start), (all_streams_prerolled),
(gst_asf_demux_have_mutually_exclusive_active_stream),
(gst_asf_demux_check_activate_streams),
(gst_asf_demux_find_stream_with_complete_payload),
(gst_asf_demux_push_complete_payloads), (gst_asf_demux_loop),
(gst_asf_demux_activate_ext_props_streams),
(gst_asf_demux_process_object):
* gst/asfdemux/gstasfdemux.h:
Activate streams (ie. add the pads to the element) depending on
whether we actually get data for those streams within the ASF
preroll value specified. Currently only done in pull-mode though
(this will fix problems with playbin hanging on mms streams once
we use this in push-mode as well).
2007-05-07 13:51:43 +00:00
Tim-Philipp Müller
f7abd8bbc8 gst/asfdemux/: Make all timestamps start from zero in pull-mode too; some small clean-ups and FIXMEs here and there.
Original commit message from CVS:
* gst/asfdemux/asfpacket.c: (gst_asf_payload_queue_for_stream):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_reset),
(gst_asf_demux_init), (gst_asf_demux_push_complete_payloads),
(gst_asf_demux_process_file):
* gst/asfdemux/gstasfdemux.h:
Make all timestamps start from zero in pull-mode too; some small
clean-ups and FIXMEs here and there.
2007-05-04 11:04:16 +00:00
Tim-Philipp Müller
c2784b4ca8 gst/asfdemux/asfpacket.c: If packet size is specified within the packet and smaller than the actual packet size, don'...
Original commit message from CVS:
* gst/asfdemux/asfpacket.c: (gst_asf_demux_parse_payload),
(gst_asf_demux_parse_packet):
If packet size is specified within the packet and smaller than
the actual packet size, don't parse beyond the size specified in
the packet (this makes us parse some cases of packets with single
compressed payloads cleanly, see e.g stream from #431318). Also
add a sanity check when parsing compressed single payloads.
2007-05-01 11:10:31 +00:00
Tim-Philipp Müller
279b2b0290 gst/asfdemux/: Seeking improvements: honour the KEY_UNIT seek flag; after a seek, only send data from the keyframe ri...
Original commit message from CVS:
* gst/asfdemux/asfpacket.c: (gst_asf_payload_queue_for_stream):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_seek_index_lookup),
(gst_asf_demux_handle_seek_event),
(gst_asf_demux_push_complete_payloads):
Seeking improvements: honour the KEY_UNIT seek flag; after a seek, only
send data from the keyframe right before the new segment start to
make sure the decoder doesn't have to decode more than absolutely
necessary.
2007-05-01 09:19:13 +00:00
Tim-Philipp Müller
b46ece6980 gst/asfdemux/: Implement payload extension system/extended replicated data parsing, so we can extract payload duratio...
Original commit message from CVS:
* gst/asfdemux/asfheaders.c:
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/asfpacket.c:
(asf_payload_parse_replicated_data_extensions),
(gst_asf_demux_parse_payload):
* gst/asfdemux/asfpacket.h:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream),
(gst_asf_demux_push_complete_payloads),
(gst_asf_demux_process_ext_stream_props):
* gst/asfdemux/gstasfdemux.h:
Implement payload extension system/extended replicated data parsing,
so we can extract payload durations if they're specified.
2007-04-30 15:36:00 +00:00
Tim-Philipp Müller
850c0fbab8 gst/asfdemux/: Refactor stream parse/activation a bit (stream activation heuristics are still the same though); some ...
Original commit message from CVS:
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream),
(gst_asf_demux_reset), (gst_asf_demux_parse_data_object_start),
(gst_asf_demux_loop), (gst_asf_demux_setup_pad),
(gst_asf_demux_add_audio_stream), (gst_asf_demux_activate_stream),
(gst_asf_demux_parse_stream_object),
(gst_asf_demux_process_ext_stream_props),
(gst_asf_demux_process_queued_extended_stream_objects),
(gst_asf_demux_activate_ext_props_streams),
(gst_asf_demux_process_object):
* gst/asfdemux/gstasfdemux.h:
Refactor stream parse/activation a bit (stream activation heuristics
are still the same though); some more clean-ups.
2007-04-30 11:41:22 +00:00
Tim-Philipp Müller
1c69080416 gst/asfdemux/: Init debug category before using it.
Original commit message from CVS:
* gst/asfdemux/gstasf.c: (plugin_init):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init):
* gst/asfdemux/gstasfdemux.h:
Init debug category before using it.
2007-04-28 10:49:17 +00:00
Tim-Philipp Müller
9ee314648e gst/asfdemux/gstasfdemux.c: Fix silly bug when we can't pull as much data as we want; don't forget to announce pendin...
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_pull_data),
(gst_asf_demux_push_complete_payloads), (gst_asf_demux_loop):
Fix silly bug when we can't pull as much data as we want; don't
forget to announce pending tags in the new packet parsing code.
2007-04-27 18:39:21 +00:00
Tim-Philipp Müller
6197c64106 gst/asfdemux/: New packet parsing code: should put halfway decent timestamps on buffers, and might even set the appro...
Original commit message from CVS:
* gst/asfdemux/Makefile.am:
* gst/asfdemux/asfpacket.c: (asf_packet_read_varlen_int),
(asf_packet_create_payload_buffer),
(asf_payload_find_previous_fragment),
(gst_asf_payload_queue_for_stream), (gst_asf_demux_parse_payload),
(gst_asf_demux_parse_packet):
* gst/asfdemux/asfpacket.h:
* gst/asfdemux/gstasfdemux.c:
(gst_asf_demux_reset_stream_state_after_discont),
(gst_asf_demux_push_complete_payloads), (gst_asf_demux_loop),
(gst_asf_demux_setup_pad), (gst_asf_demux_descramble_buffer),
(gst_asf_demux_process_chunk):
* gst/asfdemux/gstasfdemux.h:
New packet parsing code: should put halfway decent timestamps on
buffers, and might even set the appropriate keyframe/discont buffer
flags from time to time (and even if it doesn't, I'm at least able
to debug this code); only used in pull-mode so far. Still needs
some more work, like payload extensions parsing and proper flow
aggregation, and stream activation based on preroll. Stay tuned.
2007-04-20 20:57:56 +00:00
Tim-Philipp Müller
07f692085f gst/asfdemux/: Some clean-ups and small fixes: rename asf_stream_context structure to
Original commit message from CVS:
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream),
(gst_asf_demux_seek_index_lookup),
(gst_asf_demux_handle_seek_event), (gst_asf_demux_get_stream),
(gst_asf_demux_setup_pad), (gst_asf_demux_add_video_stream),
(gst_asf_demux_process_ext_content_desc),
(gst_asf_demux_process_file), (gst_asf_demux_descramble_segment),
(gst_asf_demux_push_buffer), (gst_asf_demux_process_chunk),
(gst_asf_demux_process_segment), (gst_asf_demux_handle_data):
* gst/asfdemux/gstasfdemux.h:
Some clean-ups and small fixes: rename asf_stream_context structure to
AsfStream; inline some three-line utility functions that are only used
once anyway and get rid of their associated helper structs; make debug
category global so that it is used by the debug statements in the other
file as well; simplify gst_asf_demux_get_stream(); fix accidental
implicit initialisation of stream->last_buffer_timestamp to 0, which
would lead to missing timestamps on the first buffer; put fourcc format
into video caps to make certain proprietary wmv decoders happy (for the
case of WMVA in particular); play_time is offset by preroll as well, so
fix overreporting of duration for some files.
2007-04-20 17:32:00 +00:00
Tim-Philipp Müller
9ff45f3d88 gst/asfdemux/gstasfdemux.c: Printf format fixes.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_handle_seek_event),
(gst_asf_demux_pull_indices):
Printf format fixes.
2007-04-17 10:21:50 +00:00
Tim-Philipp Müller
b2ba2f9e0a gst/mpegstream/gstmpegparse.c: Post an error message if EOS wasn't handled by anything downstream.
Original commit message from CVS:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_process_event),
(gst_mpeg_parse_send_event):
Post an error message if EOS wasn't handled by anything downstream.
This should fix playbin freezing/hanging with small VobSub subtitle
files (background: not-linked flow returns from downstream are
ignored for a while at the beginning, so if the file is small
upstream will never get a not-linked flow return even if nothing
is connected downstream). (#429960).
2007-04-16 16:30:50 +00:00
Tim-Philipp Müller
d0483656b3 gst/asfdemux/: Make asfdemux work in pull mode where possible. If there's an index at the end of the file, read it an...
Original commit message from CVS:
* gst/asfdemux/asfheaders.c:
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_free_stream),
(gst_asf_demux_reset), (gst_asf_demux_init),
(gst_asf_demux_activate), (gst_asf_demux_activate_push),
(gst_asf_demux_activate_pull), (gst_asf_demux_sink_event),
(gst_asf_demux_seek_index_lookup),
(gst_asf_demux_reset_stream_state_after_discont),
(gst_asf_demux_handle_seek_event),
(gst_asf_demux_handle_src_event), (gst_asf_demux_chain_headers),
(gst_asf_demux_chain), (gst_asf_demux_pull_data),
(gst_asf_demux_pull_indices),
(gst_asf_demux_parse_data_object_start),
(gst_asf_demux_pull_headers), (gst_asf_demux_loop),
(gst_asf_demux_setup_pad), (gst_asf_demux_process_file),
(gst_asf_demux_process_simple_index),
(gst_asf_demux_process_object),
(gst_asf_demux_send_event_unlocked), (gst_asf_demux_push_buffer),
(gst_asf_demux_handle_data), (gst_asf_demux_change_state):
* gst/asfdemux/gstasfdemux.h:
Make asfdemux work in pull mode where possible. If there's an index
at the end of the file, read it and use it for seeking purposes.
2007-04-12 13:38:03 +00:00
Wim Taymans
96d8fd786b gst/synaesthesia/gstsynaesthesia.c: Some timestamp fixes.
Original commit message from CVS:
* gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_init),
(gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_setcaps),
(gst_synaesthesia_chain), (gst_synaesthesia_change_state):
Some timestamp fixes.
* gst/synaesthesia/synaescope.c: (synaescope_coreGo):
Fix for 64-bit machines.
2007-04-12 10:19:18 +00:00
René Stadler
47e79a2050 gst/realmedia/rmdemux.*: Make rmdemux handle any number of logical streams. Fixes #428698.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler dot de>
* gst/realmedia/rmdemux.c: (find_seek_offset_bytes),
(find_seek_offset_time), (gst_rmdemux_reset),
(gst_rmdemux_get_stream_by_id), (gst_rmdemux_send_event),
(gst_rmdemux_add_stream), (gst_rmdemux_combine_flows):
* gst/realmedia/rmdemux.h:
Make rmdemux handle any number of logical streams. Fixes #428698.
2007-04-12 10:10:22 +00:00
Tim-Philipp Müller
a46c1e9621 gst/realmedia/rmdemux.c: Remove unused zlib.h include. Fixes #421594.
Original commit message from CVS:
* gst/realmedia/rmdemux.c:
Remove unused zlib.h include. Fixes #421594.
2007-03-22 21:44:45 +00:00
Jan Schmidt
c5ff02937b gst/mpegaudioparse/gstmpegaudioparse.*: Implement seeking via average bitrate, and position+duration querying in mp3p...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c:
(mp3_type_frame_length_from_header), (gst_mp3parse_reset),
(gst_mp3parse_init), (gst_mp3parse_sink_event),
(gst_mp3parse_emit_frame), (gst_mp3parse_chain),
(gst_mp3parse_change_state), (mp3parse_time_to_bytepos),
(mp3parse_bytepos_to_time), (mp3parse_total_bytes),
(mp3parse_total_time), (mp3parse_handle_seek),
(mp3parse_src_event), (mp3parse_src_query),
(mp3parse_get_query_types), (plugin_init):
* gst/mpegaudioparse/gstmpegaudioparse.h:
Implement seeking via average bitrate, and position+duration
querying in mp3parse. Later, it will support frame-accurate seeking by
building a seek table as it parses.
Add 'parsed=false' to the sink pad caps, and 'parsed=true' to the src
pad caps. Bump the priority to PRIMARY+1 so that it is autoplugged
before any extant MP3 decoder plugin. This allows us to remove framing
support from the decoders, if we want, and will provide them with
accurate seeking automatically once it is finished.
Fix the handling of MPEG-1 Layer 1 files.
Partially fix timestamping of packets arriving from a demuxer by
queueing the incoming timestamp until the next packet starts, rather
than applying it immediately to the next pushed buffer.
2007-03-12 10:47:01 +00:00
Tim-Philipp Müller
620f5606ba gst/asfdemux/gstasfdemux.c: Printf format fix.
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_header_ext):
Printf format fix.
2007-03-10 15:56:26 +00:00
Wim Taymans
d8659dad60 gst/dvdlpcmdec/gstdvdlpcmdec.*: Implement all sample rates.
Original commit message from CVS:
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcm_reset),
(update_timestamps), (parse_header), (gst_dvdlpcmdec_chain_dvd),
(gst_dvdlpcmdec_chain_raw), (dvdlpcmdec_sink_event):
* gst/dvdlpcmdec/gstdvdlpcmdec.h:
Implement all sample rates.
Implement sample permutation a little smarter avoiding a memcpy.
Fix timestamps, use segments, fix seeking.
2007-02-28 15:52:23 +00:00
Tim-Philipp Müller
12f441024b gst/asfdemux/gstasfdemux.*: Parse advanced mutual exclusion object and only add pads for 'hidden' streams (those in a...
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_process_file),
(gst_asf_demux_process_advanced_mutual_exclusion),
(gst_asf_demux_process_queued_extended_stream_objects),
(gst_asf_demux_process_object), (gst_asf_demux_change_state):
* gst/asfdemux/gstasfdemux.h:
Parse advanced mutual exclusion object and only add pads for
'hidden' streams (those in an extended stream header) that are
mutually exclusive with an already existing 'main stream' if
the broadcasting flag is not set. If the broadcasting flag is set,
assume that data for this stream isn't sent. (This should ideally be
solved better by making playbin more robust against this and/or by
making mmssrc send some information downstream about which streams
will be streamed). Fixes #353116.
2007-02-15 19:55:55 +00:00
Jan Schmidt
012b81f07a gst/synaesthesia/: Move all the mutable engine state into a structure so that multiple element instances can run with...
Original commit message from CVS:
* gst/synaesthesia/gstsynaesthesia.c:
(gst_synaesthesia_class_init), (gst_synaesthesia_init),
(gst_synaesthesia_finalize), (gst_synaesthesia_chain):
* gst/synaesthesia/synaescope.c: (synaescope_coreGo),
(synaescope32), (synaescope_set_data), (synaesthesia_update),
(synaesthesia_init), (synaesthesia_new), (synaesthesia_close):
* gst/synaesthesia/synaescope.h:
Move all the mutable engine state into a structure so that
multiple element instances can run without interfering.
2007-02-13 12:00:59 +00:00
Stefan Kost
45542b7376 gst/synaesthesia/: More source cleanups and add FIXME comments.
Original commit message from CVS:
* gst/synaesthesia/gstsynaesthesia.c: (gst_synaesthesia_init),
(gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps),
(gst_synaesthesia_src_setcaps), (gst_synaesthesia_chain),
(plugin_init):
* gst/synaesthesia/synaescope.c: (synaescope_coreGo),
(synaescope8):
More source cleanups and add FIXME comments.
2007-02-12 12:46:20 +00:00
Sébastien Moutte
d094953671 gst/realmedia/rmdemux.c: Use gst_guint64_to_gdouble for conversions.
Original commit message from CVS:
* gst/realmedia/rmdemux.c:(gst_rmdemux_parse_indx_data):
Use gst_guint64_to_gdouble for conversions.
* gst/synaesthesia/synaescope.c:
Define M_PI and do not include <pthread.h> and
<sys/time.h> for G_OS_WIN32
* win32/vs6/libgstrealmedia.dsp:
* win32/vs6/synaesthesia.dsp:
Update projects files.
* win32/common/config.h.in:
Add config.h.in for autogen of config.h
2007-02-11 13:42:45 +00:00
Tim-Philipp Müller
0d4e832887 ext/lame/gstlame.*: On receiving EOS, we try to push a last buffer with the remaining samples. Don't do that if we go...
Original commit message from CVS:
* ext/lame/gstlame.c: (gst_lame_sink_event), (gst_lame_chain),
(gst_lame_change_state):
* ext/lame/gstlame.h:
On receiving EOS, we try to push a last buffer with the remaining
samples. Don't do that if we got an unclean flow return on the last
gst_pad_push(), downstream might not handle this very gracefully
(see #403168).
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
Pass flow returns upstream (helps #403168).
2007-02-09 16:24:45 +00:00
Stefan Kost
9f8cdabb6c gst/synaesthesia/gstsynaesthesia.c: check result of gst_pad_push() in _chain.
Original commit message from CVS:
* gst/synaesthesia/gstsynaesthesia.c:
(gst_synaesthesia_class_init), (gst_synaesthesia_init),
(gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps),
(gst_synaesthesia_chain), (plugin_init):
check result of gst_pad_push() in _chain.
2007-02-09 08:03:09 +00:00
Stefan Kost
228c0d94c5 gst/synaesthesia/: Added docs (not yet added to gst-plugins-ugl/docs/plugins as plugin is not built by default). Fixe...
Original commit message from CVS:
* gst/synaesthesia/Makefile.am:
* gst/synaesthesia/gstsynaesthesia.c:
(gst_synaesthesia_class_init), (gst_synaesthesia_init),
(gst_synaesthesia_sink_setcaps), (gst_synaesthesia_src_getcaps),
(gst_synaesthesia_chain), (plugin_init):
* gst/synaesthesia/synaescope.c:
* gst/synaesthesia/synaescope.h:
Added docs (not yet added to gst-plugins-ugl/docs/plugins as plugin is not
built by default). Fixed Makefile.am. Fixed license headers (its GPL as it
is derived from GPL code). Fixed GST_SYNAESTHESIA_CLASS macro. Added
GST_DEBUG_FUNCPTR. Reflowed _setcaps. Updated pad setup in _init. Fix
possible leak in _chain. (#356882)
2007-02-09 07:48:50 +00:00
Tim-Philipp Müller
f8d7045fc8 gst/asfdemux/: Refactor and clean up header parsing and chain function a bit; get rid of some cruft; make header pars...
Original commit message from CVS:
* gst/asfdemux/asfheaders.c:
* gst/asfdemux/asfheaders.h:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_init),
(gst_asf_demux_sink_event), (gst_asf_demux_handle_seek_event),
(gst_asf_demux_identify_guid), (asf_demux_peek_object),
(gst_asf_demux_chain_headers), (gst_asf_demux_chain),
(gst_asf_demux_setup_pad), (gst_asf_demux_process_stream),
(gst_asf_demux_process_ext_content_desc),
(gst_asf_demux_get_object_header), (gst_asf_demux_process_header),
(gst_asf_demux_process_file), (gst_asf_demux_process_comment),
(gst_asf_demux_process_bitrate_props_object),
(gst_asf_demux_process_header_ext),
(gst_asf_demux_process_language_list),
(gst_asf_demux_process_ext_stream_props),
(gst_asf_demux_process_queued_extended_stream_objects),
(gst_asf_demux_process_object), (gst_asf_demux_change_state):
* gst/asfdemux/gstasfdemux.h:
Refactor and clean up header parsing and chain function a bit; get
rid of some cruft; make header parsing a tad more robust, fixing
#403188.
2007-02-08 21:07:27 +00:00
Tim-Philipp Müller
69f195f044 gst/asfdemux/gstasfdemux.c: Post an error if we receive an EOS event while still waiting for the
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event):
Post an error if we receive an EOS event while still waiting for the
ASF header object to come through.
2007-02-01 11:12:25 +00:00
Xavier B
a7ba4d3802 gst/asfdemux/gstasfdemux.c: Guard places where we assume that a certain amount of data is available better against le...
Original commit message from CVS:
Patch by: Xavier B. <xavierb gmail com>
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_get_guid),
(gst_asf_demux_add_audio_stream), (gst_asf_demux_add_video_stream),
(gst_asf_demux_process_ext_content_desc),
(gst_asf_demux_process_data),
(gst_asf_demux_process_language_list),
(gst_asf_demux_process_ext_stream_props),
(gst_asf_demux_process_segment), (gst_asf_demux_handle_data):
Guard places where we assume that a certain amount of data is
available better against less data being available (should fix
infamous assertion crasher bug #336370). Also fixes a small
memory leak.
2007-01-24 17:36:36 +00:00
Tim-Philipp Müller
a638e98a98 gst/realmedia/: Add demuxer for RealAudio files (#349779).
Original commit message from CVS:
* gst/realmedia/Makefile.am:
* gst/realmedia/rademux.c:
* gst/realmedia/rademux.h:
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
(gst_rmdemux_descramble_dnet_audio), (gst_rmdemux_plugin_init):
* gst/realmedia/rmutils.c: (gst_rm_utils_descramble_dnet_buffer):
* gst/realmedia/rmutils.h:
Add demuxer for RealAudio files (#349779).
2007-01-11 12:49:23 +00:00
Jan Schmidt
155339b9e2 gst/mpegaudioparse/gstmpegaudioparse.c: All sample-rates < 32khz come from the LSF extensions, which only use 1 granu...
Original commit message from CVS:
* gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain):
All sample-rates < 32khz come from the LSF extensions, which only
use 1 granule. Fixes parsing of 22.05khz, 24khz and 16khz files.
Use gst_util_uint64_scale because we can.
2006-12-29 14:51:19 +00:00
Stefan Kost
9a9c15cec3 gst/asfdemux/gstasfdemux.c: add a comment about a future change
Original commit message from CVS:
* gst/asfdemux/gstasfdemux.c:
(gst_asf_demux_get_gst_tag_from_tag_name),
(gst_asf_demux_process_ext_content_desc):
add a comment about a future change
* tests/check/elements/amrnbenc.c: (setup_amrnbenc),
(cleanup_amrnbenc):
* tests/check/elements/mpeg2dec.c: (setup_mpeg2dec),
(cleanup_mpeg2dec):
consistent pad (de)activation
2006-12-21 08:16:41 +00:00