Commit graph

3247 commits

Author SHA1 Message Date
Stefan Kost
091c2cfbc0 gst/rtpmanager/async_jitter_queue.c (tail_buffer_duration, async_jitter_queue_ref, async_jitter_queue_ref_unlocked, a...
Original commit message from CVS:
* gst/rtpmanager/async_jitter_queue.c (tail_buffer_duration,
async_jitter_queue_ref, async_jitter_queue_ref_unlocked,
async_jitter_queue_set_low_threshold,
async_jitter_queue_length_ts_units_unlocked,
async_jitter_queue_unref_and_unlock, async_jitter_queue_unref,
async_jitter_queue_lock, async_jitter_queue_push,
async_jitter_queue_push_unlocked, async_jitter_queue_push_sorted,
async_jitter_queue_pop_intern_unlocked, async_jitter_queue_pop,
async_jitter_queue_pop_unlocked, async_jitter_queue_length_unlocked,
async_jitter_queue_set_flushing_unlocked,
async_jitter_queue_unset_flushing_unlocked):
Format arg fix (spotted by Ali Sabil <ali.sabil@gmail.com>)
2009-08-11 02:30:27 +01:00
Wim Taymans
88f2441722 gst/rtpmanager/gstrtpjitterbuffer.c: Pass queries upstream.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_query):
Pass queries upstream.
2009-08-11 02:30:27 +01:00
Wim Taymans
a241c62ecb gst/rtpmanager/gstrtpjitterbuffer.c: Add some debug info.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_query):
Add some debug info.
* gst/rtpmanager/rtpsession.c: (rtp_session_init),
(rtp_session_send_rtp):
Store real user name in the session.
2009-08-11 02:30:27 +01:00
Wim Taymans
600afaaff9 gst/rtpmanager/async_jitter_queue.c: Fix the case where the buffer underruns and does not block.
Original commit message from CVS:
* gst/rtpmanager/async_jitter_queue.c: (signal_waiting_threads),
(async_jitter_queue_pop_intern_unlocked):
Fix the case where the buffer underruns and does not block.
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_base_init),
(create_recv_rtcp), (create_send_rtp), (create_rtcp),
(gst_rtp_bin_request_new_pad):
Rename RTCP send pad, like in the session manager.
Allow getting an RTCP pad for receiving even if we don't receive RTP.
fix handling of send_rtp_src pad.
* gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain):
When no pt map could be found, fall back to the sinkpad caps.
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_process_rtp),
(gst_rtp_session_send_rtp), (create_recv_rtp_sink),
(create_recv_rtcp_sink), (create_send_rtp_sink),
(create_send_rtcp_src):
Fix pad names.
* gst/rtpmanager/rtpsession.c: (source_push_rtp),
(rtp_session_create_source), (rtp_session_process_sr),
(rtp_session_send_rtp), (session_start_rtcp):
* gst/rtpmanager/rtpsession.h:
Unlock session when performing a callback.
Add callbacks for the internal session object.
Fix sending of RTP packets.
first attempt at adding NTP times in the SR packets.
Small debug and doc improvements.
* gst/rtpmanager/rtpsource.c: (rtp_source_send_rtp):
Update stats for SR reports.
2009-08-11 02:30:26 +01:00
Wim Taymans
e6537bcd7c gst/rtpmanager/gstrtpsession.c: Remove debug.
Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_send_rtcp):
Remove debug.
* gst/rtpmanager/rtpsession.c: (rtp_session_process_sr),
(rtp_session_process_sdes), (calculate_rtcp_interval),
(rtp_session_next_timeout), (session_report_blocks):
* gst/rtpmanager/rtpstats.c: (rtp_stats_calculate_rtcp_interval):
Improve debugging
Fix interval for BYE/RTCP packets.
2009-08-11 02:30:26 +01:00
Wim Taymans
a7b80281d1 gst/rtpmanager/gstrtpsession.c: Move reconsideration code to the rtpsession object.
Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c: (rtcp_thread),
(gst_rtp_session_send_rtcp), (gst_rtp_session_reconsider):
Move reconsideration code to the rtpsession object.
Simplify timout handling and add reconsideration.
* gst/rtpmanager/rtpsession.c: (rtp_session_class_init),
(rtp_session_init), (rtp_session_finalize), (on_bye_ssrc),
(on_bye_timeout), (on_timeout), (rtp_session_set_callbacks),
(obtain_source), (rtp_session_create_source),
(update_arrival_stats), (rtp_session_process_rtp),
(rtp_session_process_sr), (rtp_session_process_rr),
(rtp_session_process_bye), (rtp_session_process_rtcp),
(calculate_rtcp_interval), (rtp_session_send_bye),
(rtp_session_next_timeout), (session_start_rtcp),
(session_report_blocks), (session_cleanup), (session_sdes),
(session_bye), (is_rtcp_time), (rtp_session_on_timeout):
* gst/rtpmanager/rtpsession.h:
Handle timeout of inactive sources and senders.
Implement BYE scheduling.
* gst/rtpmanager/rtpsource.c: (calculate_jitter),
(rtp_source_process_sr), (rtp_source_get_last_sr),
(rtp_source_get_last_rb):
* gst/rtpmanager/rtpsource.h:
Add members to check for timeouts.
* gst/rtpmanager/rtpstats.c: (rtp_stats_init_defaults),
(rtp_stats_calculate_rtcp_interval), (rtp_stats_add_rtcp_jitter),
(rtp_stats_calculate_bye_interval):
* gst/rtpmanager/rtpstats.h:
Use RFC algorithm for calculating the reporting interval.
2009-08-11 02:30:26 +01:00
Wim Taymans
43f0b878c9 gst/rtpmanager/gstrtpsession.c: Implement forward and reverse reconsideration.
Original commit message from CVS:
* gst/rtpmanager/gstrtpsession.c: (rtcp_thread):
Implement forward and reverse reconsideration.
* gst/rtpmanager/rtpsession.c: (rtp_session_get_num_sources),
(rtp_session_get_num_active_sources), (rtp_session_process_sr),
(session_report_blocks):
* gst/rtpmanager/rtpsession.h:
Small cleanups.
2009-08-11 02:30:26 +01:00
Wim Taymans
333764307d gst/rtpmanager/gstrtpbin.*: Make default jitterbuffer latency configurable.
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* gst/rtpmanager/gstrtpbin.c: (create_stream),
(gst_rtp_bin_class_init), (gst_rtp_bin_set_property),
(gst_rtp_bin_get_property):
* gst/rtpmanager/gstrtpbin.h:
Make default jitterbuffer latency configurable.
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_class_init),
(gst_jitter_buffer_sink_parse_caps), (gst_rtp_jitter_buffer_loop),
(gst_rtp_jitter_buffer_set_property),
(gst_rtp_jitter_buffer_get_property):
Debuging cleanups.
2009-08-11 02:30:26 +01:00
Wim Taymans
ae536e0c89 gst/rtpmanager/gstrtpjitterbuffer.c: Report NO_PREROLL when going to PAUSED.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_change_state):
Report NO_PREROLL when going to PAUSED.
* gst/rtpmanager/gstrtpsession.c: (rtcp_thread):
Don't send RTCP right before we are shutting down.
* gst/rtpmanager/rtpsession.c: (rtp_session_process_rtp),
(rtp_session_process_sr), (session_report_blocks),
(rtp_session_perform_reporting):
Improve report blocks.
* gst/rtpmanager/rtpsource.c: (calculate_jitter), (init_seq),
(rtp_source_process_rtp), (rtp_source_process_sr),
(rtp_source_process_rb), (rtp_source_get_last_sr),
(rtp_source_get_last_rb):
* gst/rtpmanager/rtpsource.h:
* gst/rtpmanager/rtpstats.h:
Cleanups, add methods to access stats.
2009-08-11 02:30:25 +01:00
Wim Taymans
23883be047 gst/rtpmanager/gstrtpbin.c: fix for pad name change
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (create_rtcp):
fix for pad name change
* gst/rtpmanager/gstrtpsession.c: (rtcp_thread),
(gst_rtp_session_send_rtcp), (gst_rtp_session_clock_rate):
Fix for renamed methods.
* gst/rtpmanager/rtpsession.c: (rtp_session_init),
(rtp_session_finalize), (rtp_session_set_cname),
(rtp_session_get_cname), (rtp_session_set_name),
(rtp_session_get_name), (rtp_session_set_email),
(rtp_session_get_email), (rtp_session_set_phone),
(rtp_session_get_phone), (rtp_session_set_location),
(rtp_session_get_location), (rtp_session_set_tool),
(rtp_session_get_tool), (rtp_session_set_note),
(rtp_session_get_note), (source_push_rtp), (obtain_source),
(rtp_session_add_source), (rtp_session_get_source_by_ssrc),
(rtp_session_create_source), (rtp_session_process_rtp),
(rtp_session_process_sr), (rtp_session_process_sdes),
(rtp_session_process_rtcp), (rtp_session_send_rtp),
(rtp_session_get_reporting_interval), (session_report_blocks),
(session_sdes), (rtp_session_perform_reporting):
* gst/rtpmanager/rtpsession.h:
Prepare for implementing SSRC sampling.
Create SSRC for the session.
Add methods to set the SDES entries.
fix accounting of senders/receivers.
Implement SR/RR/SDES RTCP reporting.
* gst/rtpmanager/rtpsource.c: (rtp_source_init), (init_seq),
(rtp_source_process_rtp), (rtp_source_process_sr):
* gst/rtpmanager/rtpsource.h:
Implement extended sequence number.
* gst/rtpmanager/rtpstats.c: (rtp_stats_calculate_rtcp_interval):
* gst/rtpmanager/rtpstats.h:
Rename some fields.
2009-08-11 02:30:25 +01:00
Tim-Philipp Müller
677b361dc3 gst/rtpmanager/rtpsession.c: Don't use GLib-2.10 API, we only require GLib 2.8 at the moment.
Original commit message from CVS:
* gst/rtpmanager/rtpsession.c: (rtp_session_finalize):
Don't use GLib-2.10 API, we only require GLib 2.8 at the moment.
2009-08-11 02:30:25 +01:00
Wim Taymans
54b3dec1f5 configure.ac: Disable rtpmanager for now because it depends on CVS -base.
Original commit message from CVS:
* configure.ac:
Disable rtpmanager for now because it depends on CVS -base.
* gst/rtpmanager/Makefile.am:
Added new files for session manager.
* gst/rtpmanager/gstrtpjitterbuffer.h:
* gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map),
(create_stream), (pt_map_requested), (new_ssrc_pad_found):
Some cleanups.
the session manager can now also request a pt-map.
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_base_init),
(gst_rtp_session_class_init), (gst_rtp_session_init),
(gst_rtp_session_finalize), (rtcp_thread), (start_rtcp_thread),
(stop_rtcp_thread), (gst_rtp_session_change_state),
(gst_rtp_session_process_rtp), (gst_rtp_session_send_rtp),
(gst_rtp_session_send_rtcp), (gst_rtp_session_clock_rate),
(gst_rtp_session_get_time), (gst_rtp_session_event_recv_rtp_sink),
(gst_rtp_session_chain_recv_rtp),
(gst_rtp_session_event_recv_rtcp_sink),
(gst_rtp_session_chain_recv_rtcp),
(gst_rtp_session_event_send_rtp_sink),
(gst_rtp_session_chain_send_rtp), (create_send_rtcp_src),
(gst_rtp_session_request_new_pad):
* gst/rtpmanager/gstrtpsession.h:
We can ask for pt-map now too when the session manager needs it.
Hook up to the new session manager, implement the needed callbacks for
pushing data, getting clock time and requesting clock-rates.
Rename rtcp_src to send_rtcp_src to make it clear that this RTCP is to
be send to clients.
Add code to start and stop the thread that will schedule RTCP through
the session manager.
* gst/rtpmanager/rtpsession.c: (rtp_session_class_init),
(rtp_session_init), (rtp_session_finalize),
(rtp_session_set_property), (rtp_session_get_property),
(on_new_ssrc), (on_ssrc_collision), (on_ssrc_validated),
(on_bye_ssrc), (rtp_session_new), (rtp_session_set_callbacks),
(rtp_session_set_bandwidth), (rtp_session_get_bandwidth),
(rtp_session_set_rtcp_bandwidth), (rtp_session_get_rtcp_bandwidth),
(source_push_rtp), (source_clock_rate), (check_collision),
(obtain_source), (rtp_session_add_source),
(rtp_session_get_num_sources),
(rtp_session_get_num_active_sources),
(rtp_session_get_source_by_ssrc),
(rtp_session_get_source_by_cname), (rtp_session_create_source),
(update_arrival_stats), (rtp_session_process_rtp),
(rtp_session_process_sr), (rtp_session_process_rr),
(rtp_session_process_sdes), (rtp_session_process_bye),
(rtp_session_process_app), (rtp_session_process_rtcp),
(rtp_session_send_rtp), (rtp_session_get_rtcp_interval),
(rtp_session_produce_rtcp):
* gst/rtpmanager/rtpsession.h:
The advanced beginnings of the main session manager that handles the
participant database of RTPSources, SSRC probation, SSRC collisions,
parse RTCP to update source stats. etc..
* gst/rtpmanager/rtpsource.c: (rtp_source_class_init),
(rtp_source_init), (rtp_source_finalize), (rtp_source_new),
(rtp_source_set_callbacks), (rtp_source_set_as_csrc),
(rtp_source_set_rtp_from), (rtp_source_set_rtcp_from),
(push_packet), (get_clock_rate), (calculate_jitter),
(rtp_source_process_rtp), (rtp_source_process_bye),
(rtp_source_send_rtp), (rtp_source_process_sr),
(rtp_source_process_rb):
* gst/rtpmanager/rtpsource.h:
Object that encapsulates an SSRC and its state in the database.
Calculates the jitter and transit times of data packets.
* gst/rtpmanager/rtpstats.c: (rtp_stats_init_defaults),
(rtp_stats_calculate_rtcp_interval), (rtp_stats_add_rtcp_jitter):
* gst/rtpmanager/rtpstats.h:
Various stats regarding the session and sources.
Used to calculate the RTCP interval.
2009-08-11 02:30:25 +01:00
Wim Taymans
490113d40d gst/rtpmanager/: Protect lists and structures with locks.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map),
(gst_rtp_bin_init), (gst_rtp_bin_finalize), (new_ssrc_pad_found),
(create_recv_rtp), (gst_rtp_bin_request_new_pad):
* gst/rtpmanager/gstrtpbin.h:
* gst/rtpmanager/gstrtpclient.c:
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init),
(gst_rtp_session_init), (gst_rtp_session_finalize),
(gst_rtp_session_event_recv_rtp_sink),
(gst_rtp_session_event_recv_rtcp_sink),
(gst_rtp_session_chain_recv_rtcp),
(gst_rtp_session_request_new_pad):
Protect lists and structures with locks.
Return FLOW_OK from RTCP messages for now.
2009-08-11 02:30:25 +01:00
Wim Taymans
8bbea77a41 gst/rtpmanager/gstrtpbin.c: Emit pt map requests and cache results.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map),
(create_stream), (gst_rtp_bin_class_init), (pt_map_requested):
Emit pt map requests and cache results.
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_class_init),
(gst_jitter_buffer_sink_parse_caps),
(gst_jitter_buffer_sink_setcaps),
(gst_rtp_jitter_buffer_get_clock_rate),
(gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop):
* gst/rtpmanager/gstrtpjitterbuffer.h:
* gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain):
Emit request-pt-map signals.
2009-08-11 02:30:25 +01:00
Wim Taymans
03bf43d50e gst/rtpmanager/gstrtpbin-marshal.list: Some more custom marshallers.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin-marshal.list:
Some more custom marshallers.
* gst/rtpmanager/gstrtpbin.c: (create_session), (get_pt_map),
(clock_rate_request), (create_stream), (gst_rtp_bin_class_init),
(pt_map_requested), (new_ssrc_pad_found), (create_recv_rtp):
* gst/rtpmanager/gstrtpbin.h:
Prepare for caching pt maps.
Connect to signals to collect pt maps.
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_class_init),
(gst_jitter_buffer_sink_setcaps), (gst_rtp_jitter_buffer_loop):
* gst/rtpmanager/gstrtpjitterbuffer.h:
Add request_clock_rate signal.
Use scale insteat of scale_int because the later does not deal with
negative numbers.
* gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_class_init),
(gst_rtp_pt_demux_chain):
* gst/rtpmanager/gstrtpptdemux.h:
Implement request-pt-map signal.
2009-08-11 02:30:24 +01:00
Wim Taymans
8c67b5d7dd gst/rtpmanager/: Added custom marshallers for signals.
Original commit message from CVS:
* gst/rtpmanager/.cvsignore:
* gst/rtpmanager/Makefile.am:
* gst/rtpmanager/gstrtpbin-marshal.list:
Added custom marshallers for signals.
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init):
* gst/rtpmanager/gstrtpbin.h:
Prepare for emiting pt map signals.
* gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_class_init):
* gst/rtpmanager/gstrtpssrcdemux.c:
(gst_rtp_ssrc_demux_class_init):
Fix signals.
2009-08-11 02:30:24 +01:00
Wim Taymans
a6aa41dc21 gst/rtpmanager/gstrtpbin.*: Provide a clock.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init),
(gst_rtp_bin_init), (gst_rtp_bin_provide_clock):
* gst/rtpmanager/gstrtpbin.h:
Provide a clock.
2009-08-11 02:30:24 +01:00
Wim Taymans
1b0ae2608f gst/rtpmanager/gstrtpbin.c: Fix pad template name parsing.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (create_rtcp):
Fix pad template name parsing.
2009-08-11 02:30:24 +01:00
Wim Taymans
63dbc75734 gst/rtpmanager/gstrtpjitterbuffer.c: Add some debug and comments.
Original commit message from CVS:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_jitter_buffer_sink_setcaps), (gst_rtp_jitter_buffer_chain),
(gst_rtp_jitter_buffer_loop):
Add some debug and comments.
Fix double unref() in error cases.
2009-08-11 02:30:24 +01:00
Wim Taymans
9bfc641f0d gst/rtpmanager/gstrtpbin.*: Add debugging category.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (find_session_by_id),
(create_session), (find_stream_by_ssrc), (create_stream),
(gst_rtp_bin_class_init), (new_payload_found),
(new_ssrc_pad_found), (create_recv_rtp), (create_recv_rtcp),
(create_send_rtp), (create_rtcp):
* gst/rtpmanager/gstrtpbin.h:
Add debugging category.
Added RTPStream to manage stream per SSRC, each with its own
jitterbuffer and ptdemux.
Added SSRCDemux.
Connect to various SSRC and PT signals and create ghostpads, link stuff.
* gst/rtpmanager/gstrtpmanager.c: (plugin_init):
Added rtpbin to elements.
* gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_chain):
Fix caps and forward GstFlowReturn
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_class_init),
(gst_rtp_session_event_recv_rtp_sink),
(gst_rtp_session_chain_recv_rtp),
(gst_rtp_session_event_recv_rtcp_sink),
(gst_rtp_session_chain_recv_rtcp),
(gst_rtp_session_event_send_rtp_sink),
(gst_rtp_session_chain_send_rtp), (create_recv_rtp_sink),
(create_recv_rtcp_sink), (create_send_rtp_sink), (create_rtcp_src),
(gst_rtp_session_request_new_pad):
Add debug category.
Add event handling
* gst/rtpmanager/gstrtpssrcdemux.c: (find_rtp_pad_for_ssrc),
(create_rtp_pad_for_ssrc), (gst_rtp_ssrc_demux_class_init),
(gst_rtp_ssrc_demux_init), (gst_rtp_ssrc_demux_chain),
(gst_rtp_ssrc_demux_change_state):
* gst/rtpmanager/gstrtpssrcdemux.h:
Add debug category.
Add new-pt-pad signal.
2009-08-11 02:30:24 +01:00
Wim Taymans
a9d14ed310 gst/rtpmanager/: Added simple SSRC demuxer.
Original commit message from CVS:
* gst/rtpmanager/Makefile.am:
* gst/rtpmanager/gstrtpmanager.c: (plugin_init):
* gst/rtpmanager/gstrtpssrcdemux.c: (find_pad_for_ssrc),
(create_pad_for_ssrc), (gst_rtp_ssrc_demux_base_init),
(gst_rtp_ssrc_demux_class_init), (gst_rtp_ssrc_demux_init),
(gst_rtp_ssrc_demux_finalize), (gst_rtp_ssrc_demux_sink_event),
(gst_rtp_ssrc_demux_chain), (gst_rtp_ssrc_demux_src_event),
(gst_rtp_ssrc_demux_change_state):
* gst/rtpmanager/gstrtpssrcdemux.h:
Added simple SSRC demuxer.
2009-08-11 02:30:23 +01:00
Wim Taymans
5351f0cb51 gst/rtpmanager/: Some more ghostpad magic.
Original commit message from CVS:
* gst/rtpmanager/gstrtpbin.c: (find_session_by_id),
(create_session), (gst_rtp_bin_base_init), (create_recv_rtp),
(create_recv_rtcp), (create_send_rtp), (create_rtcp),
(gst_rtp_bin_request_new_pad):
* gst/rtpmanager/gstrtpbin.h:
* gst/rtpmanager/gstrtpclient.c:
Some more ghostpad magic.
2009-08-11 02:30:23 +01:00
Wim Taymans
fdae491de7 gst/rtpmanager/Makefile.am: Add .h file so it can be disted properly.
Original commit message from CVS:
* gst/rtpmanager/Makefile.am:
Add .h file so it can be disted properly.
2009-08-11 02:30:23 +01:00
Wim Taymans
f0d1ab1c1f Add RTP session management elements. Still in progress.
Original commit message from CVS:
* configure.ac:
* gst/rtpmanager/Makefile.am:
* gst/rtpmanager/async_jitter_queue.c: (async_jitter_queue_new),
(signal_waiting_threads), (async_jitter_queue_ref),
(async_jitter_queue_ref_unlocked),
(async_jitter_queue_set_low_threshold),
(async_jitter_queue_set_high_threshold),
(async_jitter_queue_set_max_queue_length),
(async_jitter_queue_get_g_queue), (calculate_ts_diff),
(async_jitter_queue_length_ts_units_unlocked),
(async_jitter_queue_unref_and_unlock), (async_jitter_queue_unref),
(async_jitter_queue_lock), (async_jitter_queue_unlock),
(async_jitter_queue_push), (async_jitter_queue_push_unlocked),
(async_jitter_queue_push_sorted),
(async_jitter_queue_push_sorted_unlocked),
(async_jitter_queue_insert_after_unlocked),
(async_jitter_queue_pop_intern_unlocked), (async_jitter_queue_pop),
(async_jitter_queue_pop_unlocked), (async_jitter_queue_length),
(async_jitter_queue_length_unlocked),
(async_jitter_queue_set_flushing_unlocked),
(async_jitter_queue_unset_flushing_unlocked),
(async_jitter_queue_set_blocking_unlocked):
* gst/rtpmanager/async_jitter_queue.h:
* gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_base_init),
(gst_rtp_bin_class_init), (gst_rtp_bin_init),
(gst_rtp_bin_finalize), (gst_rtp_bin_set_property),
(gst_rtp_bin_get_property), (gst_rtp_bin_change_state),
(gst_rtp_bin_request_new_pad), (gst_rtp_bin_release_pad):
* gst/rtpmanager/gstrtpbin.h:
* gst/rtpmanager/gstrtpclient.c: (new_pad), (create_stream),
(free_stream), (find_stream_by_ssrc), (gst_rtp_client_base_init),
(gst_rtp_client_class_init), (gst_rtp_client_init),
(gst_rtp_client_finalize), (gst_rtp_client_set_property),
(gst_rtp_client_get_property), (gst_rtp_client_change_state),
(gst_rtp_client_request_new_pad), (gst_rtp_client_release_pad):
* gst/rtpmanager/gstrtpclient.h:
* gst/rtpmanager/gstrtpjitterbuffer.c:
(gst_rtp_jitter_buffer_base_init),
(gst_rtp_jitter_buffer_class_init), (gst_rtp_jitter_buffer_init),
(gst_rtp_jitter_buffer_dispose), (gst_rtp_jitter_buffer_getcaps),
(gst_jitter_buffer_sink_setcaps), (free_func),
(gst_rtp_jitter_buffer_flush_start),
(gst_rtp_jitter_buffer_flush_stop),
(gst_rtp_jitter_buffer_src_activate_push),
(gst_rtp_jitter_buffer_change_state), (priv_compare_rtp_seq_lt),
(compare_rtp_buffers_seq_num), (gst_rtp_jitter_buffer_sink_event),
(gst_rtp_jitter_buffer_chain), (gst_rtp_jitter_buffer_loop),
(gst_rtp_jitter_buffer_query),
(gst_rtp_jitter_buffer_set_property),
(gst_rtp_jitter_buffer_get_property):
* gst/rtpmanager/gstrtpjitterbuffer.h:
* gst/rtpmanager/gstrtpmanager.c: (plugin_init):
* gst/rtpmanager/gstrtpptdemux.c: (gst_rtp_pt_demux_base_init),
(gst_rtp_pt_demux_class_init), (gst_rtp_pt_demux_init),
(gst_rtp_pt_demux_finalize), (gst_rtp_pt_demux_chain),
(gst_rtp_pt_demux_getcaps), (find_pad_for_pt),
(gst_rtp_pt_demux_setup), (gst_rtp_pt_demux_release),
(gst_rtp_pt_demux_change_state):
* gst/rtpmanager/gstrtpptdemux.h:
* gst/rtpmanager/gstrtpsession.c: (gst_rtp_session_base_init),
(gst_rtp_session_class_init), (gst_rtp_session_init),
(gst_rtp_session_finalize), (gst_rtp_session_set_property),
(gst_rtp_session_get_property), (gst_rtp_session_change_state),
(gst_rtp_session_chain_recv_rtp),
(gst_rtp_session_chain_recv_rtcp),
(gst_rtp_session_chain_send_rtp), (create_recv_rtp_sink),
(create_recv_rtcp_sink), (create_send_rtp_sink), (create_rtcp_src),
(gst_rtp_session_request_new_pad), (gst_rtp_session_release_pad):
* gst/rtpmanager/gstrtpsession.h:
Add RTP session management elements. Still in progress.
2009-08-11 02:30:23 +01:00
Mark Nauwelaerts
96e72522fc avidemux: push mode; cater for chunk padding 2009-08-10 14:41:52 +02:00
Mark Nauwelaerts
f67db2a089 avidemux: only use stream's pad after having checked it exists 2009-08-10 14:41:34 +02:00
Mark Nauwelaerts
4249f52c6c avidemux: sprinkle some more GST_DEBUG_FUNCPTR 2009-08-10 14:41:29 +02:00
Mark Nauwelaerts
6d26594eef avidemux: post error message if no pads to push EOS event on 2009-08-10 14:41:27 +02:00
Mark Nauwelaerts
b0a0c06155 avidemux: fix typo in warning message 2009-08-10 14:41:23 +02:00
Mark Nauwelaerts
7750173244 avidemux: fix some buffer ref handling 2009-08-10 14:41:19 +02:00
Mark Nauwelaerts
5b0f7f04e7 avidemux: do not exceed maximum number of supported streams 2009-08-10 14:41:16 +02:00
Mark Nauwelaerts
effa7b4660 avidemux: prevent double unref; gst_avi_demux_parse_avih already unrefs 2009-08-10 14:41:14 +02:00
Mark Nauwelaerts
42bc085d95 avidemux: verify size of INFO LIST to satisfy subsequent expectations 2009-08-10 14:41:12 +02:00
Mark Nauwelaerts
f4f8e8532c avidemux: check video stream framerate against avi header frame duration
The former might be bogus in silly cases, and the latter seems to
carry more weight.
2009-08-10 14:41:09 +02:00
Mark Nauwelaerts
3863871100 avidemux: streamline stream duration calculation 2009-08-10 14:41:07 +02:00
Edward Hervey
d29ba8d48f matroska: remove dead assignments 2009-08-10 09:58:33 +02:00
Edward Hervey
0d6f0801f5 rtp: Remove dead assignments and resulting unneeded variables. 2009-08-10 09:58:33 +02:00
Thiago Santos
08862850a7 matroska: Adds support to muxing/demuxing WMA
Adds support for muxing wma audio family and fixes
demuxing of wma family in matroskademux. matroskademux
was broken because it missed codec_data.
2009-08-09 20:34:05 -03:00
Thiago Santos
df442b4727 matroskamux: adds support for wmv family
Adds support to WMV1, WMV2, WMV3 and other family formats that
are signaled by the 'format' field in the caps (i.e. WVC1).
Partially fixes #576378
2009-08-09 20:34:04 -03:00
LoneStar
494555cecd id3demux: Try GST_*_TAG_ENCODING and locale encoding if tags are not UTF8
Fixes bug #499242.
2009-08-09 12:52:17 +02:00
Vincent Penquerc'h
19b7001bf9 matroska: add kate subtitle support to matroska muxer and demuxer
See #525743.
2009-08-08 12:54:48 +01:00
Tim-Philipp Müller
b0bcb27517 id3demux: add ID3 v2.3 spec as well 2009-08-07 16:51:45 +01:00
Tim-Philipp Müller
0417283077 id3demux: sizes in ID3 v2.3 are unlikely to be sync-safe integers
In ID3 v2.3 compressed frames will have a 4-byte data length indicator
after the frame header to indicate the size of the decompressed data.
This integer is unlikely to be a sync-safe integer for v2.3 tags,
only in v2.4 it's sync-safe.
2009-08-07 16:42:39 +01:00
Tim-Philipp Müller
3ec0a31d64 id3demux: fix typo in debug message 2009-08-07 16:36:55 +01:00
Tim-Philipp Müller
2e05af3876 id3demux: fix parsing of unsync'ed ID3 v2.4 tags and frames
Reversing the unsynchronisation seems to work slightly differently
for ID3 v2.3 tags and v2.4 tags: v2.3 tags don't have syncsafe frame
sizes in the frame header, so the unsynchronisation is applied to
the whole frame data including all the frame headers. v2.4 frames
have sync-safe sizes, however, so the unsynchronisation only needs
to be applied to the actual frame data, and it seems that's what's
being done as well. So we need to undo the unsynchronisation on a
per-frame basis for v2.4 tags for things to work properly.

Fixes extraction of coverart/images from APIC frames in ID3 v2.4
tags (#588148).

Add unit test for this as well.
2009-08-07 16:02:23 +01:00
Wim Taymans
ddfa9961c6 rtph264pay: use array instead of queue 2009-08-06 11:14:44 +02:00
Mark Nauwelaerts
2bfb42c5f8 rtph264pay: push NALs only after SPS/PPS
parse complete (bytestream) buffer for SPS/PPS before pushing NALs.

Fixes #564501.
2009-08-06 11:14:44 +02:00
Edward Hervey
d65d542e9d rtpqdm2depay: Fix debug statement. 2009-08-04 11:17:17 +02:00
Edward Hervey
20c7977b9b rtpqdm2depay,rtpsv3vdepay: Add debugging category. 2009-08-03 21:26:31 +02:00
Edward Hervey
25c5514fab rtpqdm2depay: Handle gaps in incoming packets.
Whenever we see a gap, we flush the temporary packets (but not the adapter). If we
had some data temporarily stored it will be outputted (the sound will sound a bit
garbled... but that's how it sounds on MacOSX :)
2009-08-03 21:26:30 +02:00
Edward Hervey
6aff520a24 rtpqdmdepay: Fix CRC calculation and remove commented code. 2009-08-03 21:26:30 +02:00
Edward Hervey
d39c057e42 rtp: New QDM2 rtp depayloader.
Reverse-engineered by comparing:
* A rtp hinted file provided by DarwinStreamingServer
* The output procued by DSS for that same file

Also used various streaming sources available on the internet to fine-tune
the code.

The header/codec_data extraction methods are from FFMpeg (LGPL).
2009-08-03 21:26:30 +02:00
Edward Hervey
e2b3665ae6 rtpsv3vdepay: Properly fill codec_data and cleanup code a bite more. 2009-08-03 21:26:30 +02:00
Edward Hervey
65a2871e90 rtpsv3vdepay: Only output buffers once we're configured. 2009-08-03 21:26:30 +02:00
Edward Hervey
1743763c0b rtpsv3vdepay: Add more encoding-name variants 2009-08-03 21:26:30 +02:00
Sebastian Dröge
8b9d547c14 flvmux: Fix writing of the index for < 128 buffers
Partially fixes bug #590447.
2009-08-03 20:08:00 +02:00
Sebastian Dröge
cb4eb5714c flvmux: Fix resetting of the element
Reset the have_video/have_audio flags and make sure to
properly release the request pads.

Partially fixes bug #590447.
2009-08-03 20:07:00 +02:00
Wim Taymans
784b95ddbf rtspsrc: don't add non-utf8 chars to structures 2009-08-03 18:13:46 +02:00
Luc Deschenaux
654ca56d85 jpegdepay: use attributes for extra properties
Use some of the SDP attributes when they are present to specify the output
dimension and framerate. This allows us to receive jpeg frames larger than
2040 width/height.

Fixes #564437
2009-08-03 18:02:31 +02:00
Wim Taymans
efb9c17975 RTP docs: update with attributes in caps 2009-08-03 18:01:27 +02:00
Luc Deschenaux
f96e900a64 rtspsrc: put all SDP attributes on caps
Put the SDP attributes on the caps too so that they can be used by
depayloaders.

See #564437
2009-08-03 17:21:44 +02:00
Tim-Philipp Müller
6c323f5b0d multiudpsink: don't do things with side-effects inside g_return_val_if_fail()
Someone might compile this code with -DG_DISABLE_ASSERT some day.
2009-08-02 11:50:43 +01:00
Tim-Philipp Müller
93690bfdd6 flvmux: fix invalid write caused by using sizeof("string") as length
sizeof("foo") includes the string's NUL-terminator in the size returned,
but we're writing strings here with an explicit size at the beginning
and no NUL-terminator. In most cases using sizeof("foo") as length in
memcpy is not harmful, but it is where the string goes right at the
end of our buffer to write, since we don't allocate space for that
NUL terminator.
2009-07-31 23:54:47 +01:00
Sebastian Dröge
22d712786c avidemux: Fix last commit and improve readability 2009-07-29 14:31:48 +02:00
Руслан Ижбулатов
3702fcdb80 Fixed the fix for TIME->DEFAULT conversion.
Fixes bug #578052 again.
2009-07-29 13:58:33 +02:00
Edward Hervey
050e91995e rtpsv3depay: Fix width/height calculation, bring up to marginal rank.
Based on documentation found on http://wiki.multimedia.cx/
2009-07-29 13:39:08 +02:00
Thiago Santos
52482a3741 avimux: adds support to wma 2009-07-28 00:30:43 -03:00
Thiago Santos
f43b442cf9 avimux: adds support to wmv 2009-07-28 00:07:15 -03:00
Thiago Santos
40abf68562 qtdemux: Downgrade warning message to debug 2009-07-27 21:39:57 -03:00
Sebastian Dröge
f0054bcc82 effectv: Don't allow caps changes for some effectv filters
These filters use information from previous frames to
generate the current frame and a caps change will make
the effect start from the beginning again.
2009-07-24 19:54:05 +02:00
Sebastian Dröge
6eada080a0 warptv: Make the sine table global instead of having it in every instance 2009-07-24 19:54:05 +02:00
Sebastian Dröge
aa02444768 flvdemux: Implement SEEKING query
Also add some more query types to the answer of the query type function.

Fixes bug #589424.
2009-07-23 11:51:07 +02:00
Stefan Kost
8990398733 interleave: fix indenting and upgrade two debugs to warnings.
Fix newlines in variable decls. Change two debugs to become warnings as they
indicate that things will not work.
2009-07-21 10:07:00 +03:00
Sebastian Dröge
b7bf2f6820 matroskademux: Answer SEEKING queries in the original format 2009-07-21 07:52:00 +02:00
Josep Torra
efcfb89b5c udputils: initialize struct content with 0.
Fixes some random crashes.
2009-07-21 01:12:44 +02:00
Sebastian Dröge
bb03d8ff18 matroskademux: Implement SEEKING query 2009-07-20 16:52:19 +02:00
Sebastian Dröge
c5b420068a effectv: Chain up finalize to the parent class in warptv
Fixes a memory leak.
2009-07-16 17:10:21 +02:00
Sebastian Dröge
2abd58de9d effectv: Add rippletv element
This produces a water ripple effect on the video input,
based on motion or a rain drop algorithm.

Kindly relicensed to LGPL2+ by Kentaro Fukuchi <fukuchi@megaui.net>.

Fixes bug #588695.
2009-07-16 12:05:31 +02:00
Sebastian Dröge
433255304e effectv: Add streaktv effect filter element
This combines the StreakTV and BaltanTV filters from the
effectv project.

Kindly relicensed to LGPL2+ by Kentaro Fukuchi <fukuchi@megaui.net>.

Fixes bug #588368.
2009-07-16 12:04:38 +02:00
Sebastian Dröge
f981bec99d effectv: Fix processing on big endian architectures 2009-07-16 12:04:36 +02:00
Sebastian Dröge
c17134c6de effectv: Add radioactv effect filter
This filter adds a radiation-like motion blur effect
to the video stream.

Kindly relicensed to LGPL2+ by Kentaro Fukuchi <fukuchi@megaui.net>.

Fixes bug #588359.
2009-07-16 12:04:08 +02:00
Sebastian Dröge
3ad603be84 effectv: Make the optv threshold property an uint 2009-07-16 12:04:06 +02:00
Sebastian Dröge
2c2611b6bf effect: Add optv effect filter from the effectv project
This filter binarizes input frames and combines them with various
optical pattern.

Kindly relicensed to LGPL2+ by Kentaro Fukuchi <fukuchi@megaui.net>.

Fixes bug #588349.
2009-07-16 12:03:29 +02:00
Marc Leeman
7484b631b7 mpvpay: Rework the timestamping
Rework the timestamping in the mpv payloader so that the timestamps are more
accurate.

Fixes #587680
2009-07-13 17:55:25 +02:00
Sebastian Dröge
91ad86c0f9 videomixer: Random cleanup 2009-07-10 19:54:25 +02:00
Sebastian Dröge
f19ef7eada videomixer: Send queries to the master pad by default instead of all pads 2009-07-10 19:54:13 +02:00
Sebastian Dröge
0bf61ecfaf videomixer: Add RGB, BGR, xRGB, RGBx, xBGR, BGRx support 2009-07-10 19:35:49 +02:00
Sebastian Dröge
bbcb4f8f15 videomixer: Clean up debugging a bit 2009-07-10 17:43:07 +02:00
Sebastian Dröge
0775db4455 videomixer: Remove some redundant checks and error out immediately if not negotiated
Also stop leaking the output buffer in some error cases.
2009-07-10 17:33:40 +02:00
Sebastian Dröge
4ccd9c92ae videomixer: Remove the calculate_frame_size() function and use libgstvideo instead 2009-07-10 17:23:03 +02:00
Edward Hervey
34c97c0c6f videomixer: Remove unused link/unlink pad methods 2009-07-10 14:37:16 +02:00
Edward Hervey
b02949faeb videomixer: I420 mode: Add fast path for 0.0 and 1.0 alpha
If the source alpha is 0.0, we take nothing.
If the source alpha is 1.0, we overwrite everything.
2009-07-10 14:37:13 +02:00
Edward Hervey
3c88249d48 videomixer: I420 blending : Fix main algorithm.
When blending a source layer with an alpha of 'a' on top of another
destination layer we take the sum of:
* 'a' percent of the source layer
* (100 - 'a') percent of the destination layer (the remainder)
2009-07-10 14:37:10 +02:00
Edward Hervey
ace4cb2295 videomixer: Make debugging category global to all the code. 2009-07-10 14:37:07 +02:00
Edward Hervey
3ebf5e9a2a videomixer: improve readability of debugging statements. 2009-07-10 14:37:04 +02:00
Mark Nauwelaerts
a905ef233e rtspsrc: do not leak timeout message 2009-07-09 11:34:40 +02:00
Sebastian Dröge
63115fe72c avi: Don't forward NEWSEGMENT events from upstream
New ones are generated later and simply forwarding them can
result in NEWSEGMENT events of different format going downstream.

Fixes bug #587983.
2009-07-09 07:14:23 +02:00
Sebastian Dröge
356972740a videomixer: Make checker pattern lookup table constant 2009-07-08 18:19:45 +02:00
Sebastian Dröge
69f9b7c8d6 videomixer: Add support for ARGB
And clean up the caps parsing.
2009-07-08 18:17:48 +02:00
Benjamin Gaignard
abd383a2a6 udp: Initialize pointer to NULL
Otherwise we're calling free() with some random
memory address in error cases.

Fixes bug #587982.
2009-07-08 15:19:03 +02:00
Mark Nauwelaerts
977796fd07 qtdemux: sprinkle some more const 2009-07-08 11:20:30 +02:00
Mark Nauwelaerts
a4d586daac qtdemux: perform some more (careful) data buffering
Once buffering has started (with an mdat atom), continue buffering
until moov atom is reached, which handles cases with multiple
mdat atoms.  Also keep adapter/offset better in sync with upstream
and fix some debug statements.  Fixes #587426.
2009-07-08 11:20:27 +02:00
Philip Jgenstedt
0ebff2d14c avidemux: Replace deprecated GST_DISABLE_DEBUG with correct macro. Fixes #587826 2009-07-06 10:40:31 +02:00
Tim-Philipp Müller
2bcf52dde7 qtdemux: error out instead of dividing by 0
Error out if timescale is 0.
2009-07-01 13:07:48 +01:00
Tim-Philipp Müller
f6a1211495 Revert "qtdemux: Make sure we don't blacklist streams by wrongly comparing their"
This reverts commit 5503a59a57.

Reverting this since it causes regressions with a lot of sample files
I have, all of which worked fine with the last -good release (#586891).
2009-07-01 09:32:42 +01:00
Tim-Philipp Müller
ae27524be0 qtdemux: comment out unused structure 2009-07-01 09:24:38 +01:00
Tim-Philipp Müller
8fa148d2f1 qtdemux: more size checks, and use g_try_new0() instead of g_new0()
Whenever we alloc something based on a user-supplied size, we should
really use g_try_new(), otherwise we can easily be made to abort by
passing a ridiculously large number to us for allocing. Fixes
problems with some fuzzed files.
2009-07-01 09:24:38 +01:00
Tim-Philipp Müller
405aae4568 qtdemux: guard against bogus atom sizes and short reads
Check the possibly 64-bit atom size more carefully before casting it
to an int and passing it to gst_pad_pull_range(), otherwise we might
end up pulling 0 bytes, getting an empty buffer as requested and
dereferencing not available data whilst thinking we actually asked
for and got 0x1000000000000 bytes. Similar fix for push mode operation
where neededbytes ends up being 0 bytes, which makes us assert. Fixes
crash with broken or fuzzed file (NB #122378).
2009-07-01 09:24:38 +01:00
Tim-Philipp Müller
c730912f67 qtdemux: use 0x prefix when logging numbers in hex 2009-07-01 09:24:38 +01:00
LRN
122d40a742 Don't use sendmsg()-dependent code on Windows
Fixes #585842
2009-06-30 20:38:33 +02:00
Wim Taymans
89f0c37c9f law: fix caps and negotiation
Fix the caps to include the depth (instead of width twice) in the caps of
audio/x-raw-int.
Fix negotiation to not only copy the rate/channels of the first structure.
2009-06-30 15:59:20 +02:00
Tim-Philipp Müller
1fb30a154a qtdemux: don't process track_num/track_count tags with a 0 value
Number/count values of 0 mean they're not set. Don't put those in the
taglist.
2009-06-26 13:29:27 +01:00
Julien Moutte
5503a59a57 qtdemux: Make sure we don't blacklist streams by wrongly comparing their
duration with entire clip duration.
2009-06-25 13:23:40 +02:00
Krzysztof Błaszkowski
9fbdfefc56 rtpdec: fix some buffer leaks 2009-06-25 13:18:14 +02:00
Edward Hervey
32a3d6e717 flvparse: Add missing break in switch/case. 2009-06-25 08:11:09 +02:00
Edward Hervey
67ca4c57b1 flvdemux: Remove unused variable, hint branch likeliness, add comments. 2009-06-25 08:10:38 +02:00
Edward Hervey
ff3730fb7b avidemux: Removed unused variable 2009-06-25 08:09:57 +02:00
Edward Hervey
4780d17894 qtdemux: Remove dead assignments and unused variables.
Also add branch likeliness macros.
2009-06-25 07:41:44 +02:00
Edward Hervey
b9d7f2527e qtdemux: Fix uninitialized variables. Fixes build on macosx 2009-06-25 07:41:43 +02:00
Tim-Philipp Müller
632bb7818a avidemux: short-circuit gst_avi_demux_src_convert() when parsing the index
Don't call gst_avi_demux_src_convert() for each single index entry. Not
only do we already have the pointer to the stream context, we also know
the formats we want to convert from and to already, so we may just as
well use optimised conversion routines that bypass some of the checks
and lookups made in gst_avi_demux_src_convert().
2009-06-24 13:04:01 +01:00
Edward Hervey
86c2299ed1 qtdemux: Another round of G_*LIKELY micro-optimisations. 2009-06-24 12:48:32 +02:00
Edward Hervey
30dd458567 qtdemux: Take last sample duration for dummy segment calculation.
This fixes the cases where files without EDL wouldn't output their
last buffer.
2009-06-24 12:48:32 +02:00
Edward Hervey
4e6808bc52 avidemux: Sprinkle branch likeliness macros over the code. 2009-06-24 12:37:39 +02:00
Edward Hervey
279be94321 qtdemux: Add GST_MEMDUMP statements for unknown atoms.
This is to help developers track down and implement unhandled atoms faster.
2009-06-24 12:37:38 +02:00
Sebastian Dröge
810c60a6f3 deinterlace: Remove the interlaced field from the output caps if deinterlacing is enabled 2009-06-23 17:52:29 +02:00
Sebastian Dröge
20668a0782 deinterlace: Copy the correct line from correct place in the history 2009-06-23 17:52:29 +02:00
Wim Taymans
81d7a297f7 rtspsrc: use same protocols after redirect
After a redirect we want to use the same protocols that we were using for the
current url.
2009-06-23 16:39:36 +02:00
Tim-Philipp Müller
da4c1c9227 qtdemux: don't leak cover art 2009-06-23 15:35:37 +01:00
Tim-Philipp Müller
0d9dccee4f udp: fix compiler warning about EAI_ADDRFAMILY getting redefined in some cases
Include the header from where we include all the system headers with the
socket stuff before we try to define EAI_ADDRFAMILY ourselves, otherwise
we define it ourselves and then get a compiler warning if a system header
defines it as well without guarding against it being defined already.
2009-06-23 14:10:10 +01:00
Wim Taymans
dff3f37bdf matroska: and the new headers too 2009-06-23 14:39:56 +02:00
Wim Taymans
8a4dc37544 matroske: fix compiler error
change gpointer to guint8 * for codec_state and codec_priv as some
functions operate on those types and it avoids breaking strict-aliasing
rules.
2009-06-23 14:32:43 +02:00
Wim Taymans
9600c54938 matroskademux: avoid leaking buffers
Don't leak buffers when resyncing to a keyframe.
Avoid leaking buffers when exiting the loop on error conditions.
Add some more debug info.

Fixes #585911
2009-06-23 12:42:33 +02:00
Tim-Philipp Müller
ace09d40bd qtdemux: use GST_MEMDUMP 2009-06-22 10:49:03 +01:00
Tim-Philipp Müller
0a8f254460 apedemux: add container-format tag
Use pbutils here because the string is translated.
2009-06-22 10:49:03 +01:00
Tim-Philipp Müller
98fa27dcd1 id3demux: add container-format tag
Using pbutils here because the string is translated.
2009-06-22 10:49:02 +01:00
Tim-Philipp Müller
6c6e96becd multipartdemux: post container-format tag 2009-06-22 10:49:02 +01:00
Tim-Philipp Müller
323517f527 matroska-demux: post container-format tags 2009-06-22 10:49:01 +01:00
Tim-Philipp Müller
4fe23fbe4b avidemux: post container-format tag 2009-06-22 10:49:01 +01:00
Tim-Philipp Müller
b8176ee9cc qtdemux: post container-format tags 2009-06-22 10:49:01 +01:00
Sebastian Dröge
a3cb8f005b audioamplify: Fix integer overflows on 32 bit architectures 2009-06-21 17:13:43 +02:00
Kipp Cannon
f80b62c3db audioamplify: Don't declare a loop index static
The previous patch to add support for additional sample formats possibly
introduced a reentrancy bug:  a variable used for a loop index was declared
static.  This patch fixes that, and also adds a "/* *INDENT-ON* */" annotation
following the macro block.  (I don't know what the annotation is for, but the
adder, where I copied this from, has it).
2009-06-21 09:50:54 +02:00
Sebastian Dröge
ffe64fb934 audioamplify: Fix off-by-one in wrap-positive mode 2009-06-19 22:37:27 +02:00
Kipp Cannon
afccf53ace audioamplify: Add noclip method and support for more formats
Fixes bug #585828 and #585831.
2009-06-19 22:20:45 +02:00
Koop Mast
8ecd5f1a06 udp: Fix build on FreeBSD
Fixes bug #586397.
2009-06-19 21:47:29 +02:00
Ognyan Tonchev
83a0e7d2a3 rtpmp4vpay: add support for buffer-list
See #585559
2009-06-19 18:00:35 +02:00
Ognyan Tonchev
d5d0364d7b rtpjpegpay: add support for buffer-lists
See #585559
2009-06-19 17:57:12 +02:00
Ognyan Tonchev
40ec22788f rtph264pay: add support for buffer-lists
See #585559
2009-06-19 17:53:32 +02:00
Wim Taymans
8f43709e00 udputils: don't free invalid memory
As spotted by benjiG in IRC.
don't free invalid memory when getaddrinfo failed.
2009-06-19 16:00:51 +02:00
Mark Nauwelaerts
3d8f31843c avidemux: streaming; adjust sizes to cater for padding in chunks 2009-06-18 16:59:26 +02:00
Mark Nauwelaerts
08c9019566 avidemux: streaming mode; handle data chunks grouped in rec lists.
Fixes #567983.
2009-06-17 12:31:42 +02:00
Mark Nauwelaerts
71eb4a4dfa qtdemux: map some tags to COMPOSER rather than ARTIST 2009-06-17 12:31:40 +02:00
Mark Nauwelaerts
0d2db95453 qtdemux: fix some 3GP tag extraction (keywords, genre, location) 2009-06-17 12:31:37 +02:00
Mark Nauwelaerts
0f0117aabb qtdemux: extract pixel-aspect-ratio information 2009-06-17 12:31:32 +02:00
Sebastian Dröge
fc9779bd86 matroskademux: Fix leaking of the Matroska TITLE element 2009-06-17 07:14:09 +02:00
Sebastian Dröge
55535c7fe6 effectv: Add basic documentation for the effectv elements 2009-06-16 20:38:42 +02:00
Sebastian Dröge
757f80b23e effectv: Define the fast PRNG function at a central place 2009-06-16 20:16:13 +02:00
Sebastian Dröge
414d0548e2 effectv: Move type definitions into separate headers
This is needed for the docs later.
2009-06-16 20:13:35 +02:00
Sebastian Dröge
44a822b29f effectv: Remove get_unit_size implementations
The default on from GstVideoFilter handles this already.
2009-06-16 19:41:02 +02:00
Wim Taymans
a0e3bc5997 udpsrc: add debug line for the socket 2009-06-16 15:06:50 +02:00
Ognyan Tonchev
375523be71 multiudpsink: add support for buffer lists
Add support for BufferList and add a unit test.

Fixes #585842
2009-06-16 15:04:15 +02:00
Wim Taymans
a2cef3e5c2 mp4gdepay: guess constantDuration better
Do a better job at guessing the constantDuration parameter when it is not
present in the caps.

Fixes #585205
2009-06-15 22:42:45 +02:00
Sebastian Dröge
cf58ba0fa5 warptv: Clean up warptv element and fix some minor bugs and leaks 2009-06-15 21:13:35 +02:00
Sebastian Dröge
f4fc26dc49 vertigotv: Clean up vertigotv element and fix some minor bugs and leaks 2009-06-15 21:13:35 +02:00
Sebastian Dröge
46ceaf957a dicetv: Use guint8 instead of char (which can be signed or unsigned) 2009-06-15 21:13:35 +02:00
Sebastian Dröge
aaf8c8769d shagadelictv: Use guint8/gint8 instead of char (which can be signed or unsigned) 2009-06-15 21:13:35 +02:00
Sebastian Dröge
1f65192185 shagadelictv: Clean up element and free all memory in finalize 2009-06-15 21:13:34 +02:00
Sebastian Dröge
f3dc59d010 revtv: Clean up revtv element 2009-06-15 21:13:34 +02:00
Sebastian Dröge
006caab053 quarktv: Simplify some code 2009-06-15 21:13:34 +02:00
Sebastian Dröge
438295acae quarktv: Use the input data if a NULL buffer is chosen instead of the value 0 2009-06-15 21:13:34 +02:00
Sebastian Dröge
426ff3bd93 quarktv: Fix setting the planes property of quarktv
Setting it to a value<16 would cause crashes before because
current_plane was set to the old number of planes-1. Also
fix calculations for non-2^n planes values.
2009-06-15 21:13:33 +02:00
Sebastian Dröge
c116c301af quarktv: Clean up the quarktv element 2009-06-15 21:13:33 +02:00
Sebastian Dröge
b3bb4fa7ef effectv: Make elements list constant 2009-06-15 21:13:33 +02:00
Sebastian Dröge
012f71afb5 edgetv: Clean up edgetv element and fix memory leak 2009-06-15 21:13:33 +02:00
Sebastian Dröge
0cbdfcbc22 dicetv: Clean up dicetv element and fix some smaller issues
This fixes a memory leak (the dice map) and a crash when
setting the square-bits property before caps are set.
2009-06-15 21:13:33 +02:00
Sebastian Dröge
d1ad31b9b3 agingtv: Actually use GstController for syncing the properties to timestamps 2009-06-15 21:13:32 +02:00
Sebastian Dröge
45ef8efc6b agingtv: Export some more agingtv properties via GObject properties 2009-06-15 21:13:32 +02:00
Sebastian Dröge
f8424d0166 agingtv: General cleanup and updating of copyright
Also make the scratch-lines property exported via a GObject
property and initialize/reset the internal state correctly.
2009-06-15 21:13:32 +02:00
Sebastian Dröge
865f11192c agingtv: Store and update state inside the instance struct
This makes the coloraging effect and pits effect visible.
2009-06-15 21:13:32 +02:00
Olivier Crête
4c782db81d rtpsirenpay: Remove deprecated symbol
Patch by: Luis Menina
2009-06-13 21:02:45 -04:00
Patrick Radizi
a95c049f76 rtspsrc: Add RTP blocksize functionality
Add property to make the client suggest a blocksize to the server.
Fixes #585549
2009-06-12 16:06:28 +02:00
Wim Taymans
6f3c1728f3 rtp: update README, fix some typos, mention gstrtpbin 2009-06-11 22:30:06 +02:00
Jan Schmidt
6d32642887 docs: Quieten a couple more docs warnings 2009-06-11 11:39:25 +01:00
Jan Schmidt
42c9f83b5f docs: Remove gtk-doc comment marker
These comment blocks aren't gtk-doc comments and cause annoying noise in
the docs build.
2009-06-11 11:27:26 +01:00
Sebastian Dröge
ceea8dc15f deinterlace: Implement upstream negotation 2009-06-11 10:06:04 +02:00
Sebastian Dröge
cd33adbd96 deinterlace: Improve debugging and clean up some code 2009-06-11 10:06:04 +02:00
Sebastian Dröge
101123a75d deinterlace: Clip buffers to the current segment if possible 2009-06-11 10:06:04 +02:00
Sebastian Dröge
4710a91cbf deinterlace: Clean up includes and clean up order of instance struct fields 2009-06-11 10:06:03 +02:00
Olivier Crête
645b9449a5 rtph263pay: Default to doing A, B and C modes, not only A 2009-06-10 16:09:56 -04:00
Sebastian Dröge
f297e37b5e deinterlace: Fix QoS calculations
The diff is a signed integer, not an unsigned one of course.

In modes other than GST_DEINTERLACE_ALL every frame has twice the
duration of the field duration.
2009-06-10 09:57:31 +02:00
Olivier Crête
dc61a71e5d rtpsirenpay: Put the bitrate in the RTP caps
The MS code seems to require the bitrate to interoperate and
draft-ietf-avt-rtp-g7221-00 also has it.
2009-06-09 14:13:31 -04:00
Sebastian Dröge
d0a5c0f3e3 deinterlace: Implement basic QoS
This change is based on Tim's QoS implementation
for jpegdec.
2009-06-09 19:56:53 +02:00
Sebastian Dröge
049722b680 deinterlace: Directly proxy events/queries to the peer pads
This removes some overhead introduced by the default handlers
that need to iterate over the other pads.
2009-06-09 19:56:53 +02:00
Edward Hervey
5e0a2296e0 avidemux: debug_memdump() unknown tags. Refactor junk parsing code.
This makes life slightly easier when debugging avi files.
2009-06-09 10:41:49 +02:00
Edward Hervey
6eec2a060d rtp: Don't forget to dist the headers for the CELT (de)payloaders. 2009-06-08 08:21:43 +02:00
Wim Taymans
9050fb26e9 Revert "Revert "qtdemux: fill timestamp table completely""
This reverts commit 9f022c8a85.

Sorry, I was thinking about the wrong module.
2009-06-07 20:54:06 +02:00
Wim Taymans
9f022c8a85 Revert "qtdemux: fill timestamp table completely"
This reverts commit 790b050fc5.
I forgot we were frozen.
2009-06-07 20:49:50 +02:00
Wim Taymans
790b050fc5 qtdemux: fill timestamp table completely
When there are less timestamps that there are samples, fill up the sample table
with the last know timestamp. This situation can happen when the last sample
does not decode and doesn't need a timestamp. We however calculate the total
track length using the last sample timestamp so we need to have something
sensible in there.

Fixes #585056
2009-06-07 20:46:45 +02:00
Wim Taymans
fb25aced92 wavparse: handle LIST INFO of 0 size
Handle LIST INFO chunks of 0 size instead of causing errors.

Fixes #584981
2009-06-07 13:37:04 +02:00
Wim Taymans
7a0c94121f Revert "wavparse: Remove dead assignments, move variable to where it's needed."
Reverts commit 44256a78f8 and use the result in
error reporting so that we can see what's going on.
2009-06-07 13:34:37 +02:00
Wim Taymans
ace2a84447 celtdepay: add CELT depayloader 2009-06-05 18:57:30 +02:00
Wim Taymans
ec554a7f02 rtpceltpay: add CELT RTP payloader 2009-06-05 18:57:30 +02:00
Sebastian Dröge
29111fa1f8 deinterlace: First try to handle DVD still frames correctly
This helps a bit with bug #582740 but still doesn't make it work.
2009-06-04 20:35:35 +02:00
Wim Taymans
b9ddf22340 rtspsrc: set the right state on rtpbin
We need to set the state of gstrtpbin to the same state as our source elements.
This fixes fallback to TCP again.
2009-06-04 15:19:05 +02:00
Wim Taymans
e7987ed06b vrawpay: trim output buffers
Remove the leftover unused bytes in the output buffer.
Fixes #584613
2009-06-02 19:33:28 +02:00
Wim Taymans
dabddb8126 vrawdepay: fix parsing of sampling field
commit a12d9a80f2 broke the parsing of the
sampling.
2009-06-02 19:33:28 +02:00
Brian Cameron
09fbeee42d deinterlace: Fix spurious colons in asm code
Fixes #584174.

Signed-off-by: David Schleef <ds@schleef.org>
2009-06-01 12:01:28 -07:00
Tim-Philipp Müller
4d07c78f0b avidemux: skip JUNK chunks in data section in streaming mode
Skip JUNK tags in streaming mode as well instead of EOSing
prematurely. Fixes #564100.
2009-06-01 00:42:55 +01:00
Sebastian Dröge
d46e459f22 videomixer: Don't use // comments 2009-05-28 14:01:17 +02:00
Sebastian Dröge
a5c30ae502 videomixer: Fix background blitting when a color mode is selected with BGRA 2009-05-28 13:58:48 +02:00
Sebastian Dröge
83fc39ccff videomixer: Some cleanup and fix the calculation of the frame size in bytes 2009-05-28 13:54:14 +02:00
Sebastian Dröge
699b696db8 videomixer: Fix I420 blending to actually do something
For this we a) implement the checkers filling and b)
actually blend the src/dest by using the src alpha value
from the pad.
2009-05-28 13:35:52 +02:00
Sebastian Dröge
ad1f79fd81 videomixer: Fix ARGB blending to actually work 2009-05-28 13:14:13 +02:00
Sebastian Dröge
f66906e891 videomixer: Blend BGRA ourselves instead of using Cairo 2009-05-28 13:04:51 +02:00
Alex Ugarte
82abbeaf4f videomixer: Add support for blending BGRA and AYUV
Fixes bug #577017.
2009-05-28 12:55:16 +02:00
Ghislain 'Aus' Lacroix
9507cdc84c equalizer: Use floating point arithmetic internally for the int16 mode
By using int32 arithmetic we will introduce distortions as the
IIR filter is very sensitive to rounding errors. Fixes bug #580214.
2009-05-28 12:39:46 +02:00
Wim Taymans
e13e3c6249 rtpmp4vpay: don't look for headers in some cases
In some streams (starting with 00000100) don't look for the headers but push
data as it is.
Fixes #582153
2009-05-25 10:59:17 +02:00
Patrick Radizi
301fc8a712 rtspsrc: fix memory leak of messages
Free messages correctly.
Fixes #577318
2009-05-25 10:57:59 +02:00
Wim Taymans
047618849a rtspsrc: make fakesrc silent
Make the fakesrc that is responsible for sending dummy packets silent.
2009-05-24 19:32:17 +02:00
Wim Taymans
5d3168e558 rtspsrc: don't send teardown before setup
Don't send a TEARDOWN request when we did not manage to successfully setup a
stream.
2009-05-24 16:33:42 +02:00
Sebastian Dröge
afbe123e33 matroskademux: Populate a GstIndex that is set on matroskademux 2009-05-22 19:41:59 +02:00
Sebastian Dröge
cf60de4875 flvmux: Get the max duration from upstream if there's no duration tag 2009-05-22 19:41:58 +02:00
Sebastian Dröge
22d95bfc09 flvmux: Write an index table to the end of the file 2009-05-22 19:41:58 +02:00
Jan Schmidt
66149475bd matroskademux: Recognise PGS subpicture streams - the bluray format.
Recognise and apply appropriate caps to PGS (Presentation Graphic Stream)
subpicture streams.
2009-05-21 21:23:49 +01:00
Wim Taymans
a6424471f1 qtdemux: parse in24 boxes to get endianness
in24 samples are normally big-endian but an enda box can change this to
little-endian. Recurse into the in24 box and find the enda box so that we get
the endianness right.

Fixes #582515
2009-05-21 22:05:11 +02:00
Wim Taymans
10ce6c6f6d multipartdemux: add proper padtemplate 2009-05-21 22:05:10 +02:00
Wim Taymans
c50edb8145 multipartdemux: add more mime types
Add mime-type for Panasonic g726 and add more required caps properties for other
G726 mime-types.
Make mime-types case insensitive.
See #582169
2009-05-21 22:05:10 +02:00
Wim Taymans
54afebf426 multipartdemux: add flow aggregation 2009-05-21 22:05:10 +02:00
Arnout Vandecappelle
a5252aec08 multipartdemux: allow content to be empty.
gst_adapter_take_buffer doesn't allow buffer to be empty.
Simply skip any part where the content is empty.  Don't
create a pad for it either.
See #582169
2009-05-21 22:05:10 +02:00
Wim Taymans
d7fd42999e rtp: fix channel positions for mono 2009-05-21 22:05:09 +02:00
Wim Taymans
ee5382d799 [MOVED FROM BAD] y4menc: change my email
change my email to something more current
See #580783
2009-05-15 23:35:09 +01:00
Wim Taymans
695ce19ef4 [MOVED FROM BAD] y4menc: don't strip timestamps
Fixes #582483
2009-05-15 23:35:08 +01:00
Stefan Kost
248fefbe48 [MOVED FROM BAD] Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
2009-05-15 23:35:08 +01:00
Mark Nauwelaerts
522f875d31 [MOVED FROM BAD] Add documentation for YUV4MPEG2 encoder element.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* gst/y4m/gsty4mencode.c:
Add documentation for YUV4MPEG2 encoder element.
2009-05-15 23:35:08 +01:00
Tim-Philipp Müller
3110dafee8 [MOVED FROM BAD] Plug some leaks; try to make build bot happy again.
Original commit message from CVS:
* gst/y4m/gsty4mencode.c: (gst_y4m_encode_init),
(gst_y4m_encode_setcaps):
* tests/check/elements/y4menc.c: (GST_START_TEST):
Plug some leaks; try to make build bot happy again.
2009-05-15 23:35:08 +01:00
Mark Nauwelaerts
6104e2480d [MOVED FROM BAD] configure.ac: Enable cdaudio and y4m.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* configure.ac:
Enable cdaudio and y4m.
* gst/y4m/Makefile.am:
* gst/y4m/gsty4mencode.c: (gst_y4m_encode_base_init),
(gst_y4m_encode_class_init), (gst_y4m_encode_init),
(gst_y4m_encode_reset), (gst_y4m_encode_setcaps),
(gst_y4m_encode_get_stream_header),
(gst_y4m_encode_get_frame_header), (gst_y4m_encode_chain),
(gst_y4m_encode_set_property), (gst_y4m_encode_get_property),
(gst_y4m_encode_change_state), (plugin_init):
* gst/y4m/gsty4mencode.h:
Port of y4mencode to 0.10.
2009-05-15 23:35:08 +01:00
Stefan Kost
2123ca7806 [MOVED FROM BAD] Define GstElementDetails as const and also static (when defined as global)
Original commit message from CVS:
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/arts/gst_arts.c:
* ext/artsd/gstartsdsink.c:
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/audioresample/gstaudioresample.c:
* ext/bz2/gstbz2dec.c:
* ext/bz2/gstbz2enc.c:
* ext/cdaudio/gstcdaudio.c:
* ext/directfb/dfbvideosink.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
* ext/faac/gstfaac.c: (gst_faac_base_init):
* ext/faad/gstfaad.c:
* ext/gsm/gstgsmdec.c:
* ext/gsm/gstgsmenc.c:
* ext/hermes/gsthermescolorspace.c:
* ext/ivorbis/vorbisfile.c:
* ext/lcs/gstcolorspace.c:
* ext/libfame/gstlibfame.c:
* ext/libmms/gstmms.c: (gst_mms_base_init):
* ext/musepack/gstmusepackdec.c: (gst_musepackdec_base_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
* ext/nas/nassink.c: (gst_nassink_base_init):
* ext/neon/gstneonhttpsrc.c:
* ext/sdl/sdlaudiosink.c:
* ext/sdl/sdlvideosink.c:
* ext/shout/gstshout.c:
* ext/snapshot/gstsnapshot.c:
* ext/sndfile/gstsf.c:
* ext/swfdec/gstswfdec.c:
* ext/tarkin/gsttarkindec.c:
* ext/tarkin/gsttarkinenc.c:
* ext/theora/theoradec.c:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
* gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init):
* gst/chart/gstchart.c:
* gst/colorspace/gstcolorspace.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init):
* gst/festival/gstfestival.c:
* gst/filter/gstbpwsinc.c:
* gst/filter/gstiir.c:
* gst/filter/gstlpwsinc.c:
* gst/freeze/gstfreeze.c:
* gst/games/gstpuzzle.c: (gst_puzzle_base_init):
* gst/librfb/gstrfbsrc.c:
* gst/mixmatrix/mixmatrix.c:
* gst/mpeg1sys/gstmpeg1systemencode.c:
* gst/mpeg1videoparse/gstmp1videoparse.c:
* gst/mpeg2sub/gstmpeg2subt.c:
* gst/mpegaudioparse/gstmpegaudioparse.c:
* gst/multifilesink/gstmultifilesink.c:
* gst/overlay/gstoverlay.c:
* gst/passthrough/gstpassthrough.c:
* gst/playondemand/gstplayondemand.c:
* gst/qtdemux/qtdemux.c:
* gst/rtjpeg/gstrtjpegdec.c:
* gst/rtjpeg/gstrtjpegenc.c:
* gst/smooth/gstsmooth.c:
* gst/smoothwave/gstsmoothwave.c:
* gst/spectrum/gstspectrum.c:
* gst/speed/gstspeed.c:
* gst/stereo/gststereo.c:
* gst/switch/gstswitch.c:
* gst/tta/gstttadec.c: (gst_tta_dec_base_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_base_init):
* gst/vbidec/gstvbidec.c:
* gst/videocrop/gstvideocrop.c:
* gst/videodrop/gstvideodrop.c:
* gst/virtualdub/gstxsharpen.c:
* gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init):
* gst/y4m/gsty4mencode.c:
* sys/cdrom/gstcdplayer.c:
* sys/directdraw/gstdirectdrawsink.c:
* sys/directsound/gstdirectsoundsink.c:
* sys/glsink/glimagesink.c:
* sys/qcam/gstqcamsrc.c:
* sys/v4l2/gstv4l2src.c:
* sys/vcd/vcdsrc.c: (gst_vcdsrc_base_init):
* sys/ximagesrc/ximagesrc.c:
Define GstElementDetails as const and also static (when defined as
global)
2009-05-15 23:35:08 +01:00
Stefan Kost
bc0f1486ba [MOVED FROM BAD] Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
Original commit message from CVS:
* ext/amrwb/gstamrwbdec.c: (gst_amrwbdec_class_init):
* ext/amrwb/gstamrwbenc.c: (gst_amrwbenc_class_init):
* ext/amrwb/gstamrwbparse.c: (gst_amrwbparse_class_init):
* ext/arts/gst_arts.c: (gst_arts_class_init):
* ext/artsd/gstartsdsink.c: (gst_artsdsink_class_init):
* ext/audiofile/gstafsink.c: (gst_afsink_class_init):
* ext/audiofile/gstafsrc.c: (gst_afsrc_class_init):
* ext/audioresample/gstaudioresample.c:
* ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init):
* ext/directfb/dfbvideosink.c: (gst_dfbvideosink_class_init):
* ext/divx/gstdivxdec.c: (gst_divxdec_class_init):
* ext/hermes/gsthermescolorspace.c:
(gst_hermes_colorspace_class_init):
* ext/ivorbis/vorbisfile.c: (gst_ivorbisfile_class_init):
* ext/jack/gstjack.c: (gst_jack_class_init):
* ext/jack/gstjackbin.c: (gst_jack_bin_class_init):
* ext/lcs/gstcolorspace.c: (gst_colorspace_class_init):
* ext/libfame/gstlibfame.c: (gst_fameenc_class_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_class_init):
* ext/nas/nassink.c: (gst_nassink_class_init):
* ext/shout/gstshout.c: (gst_icecastsend_class_init):
* ext/snapshot/gstsnapshot.c: (gst_snapshot_class_init):
* ext/sndfile/gstsf.c: (gst_sf_class_init):
* ext/swfdec/gstswfdec.c: (gst_swfdecbuffer_class_init),
(gst_swfdec_class_init):
* ext/tarkin/gsttarkindec.c: (gst_tarkindec_class_init):
* ext/tarkin/gsttarkinenc.c: (gst_tarkinenc_class_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_class_init):
* gst/chart/gstchart.c: (gst_chart_class_init):
* gst/colorspace/gstcolorspace.c: (gst_colorspace_class_init):
* gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_class_init):
* gst/festival/gstfestival.c: (gst_festival_class_init):
* gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init):
* gst/filter/gstiir.c: (gst_iir_class_init):
* gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init):
* gst/librfb/gstrfbsrc.c: (gst_rfbsrc_class_init):
* gst/mixmatrix/mixmatrix.c: (gst_mixmatrix_class_init):
* gst/mpeg1sys/gstmpeg1systemencode.c:
(gst_system_encode_class_init):
* gst/mpeg1videoparse/gstmp1videoparse.c:
(gst_mp1videoparse_class_init):
* gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_class_init):
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_class_init):
* gst/overlay/gstoverlay.c: (gst_overlay_class_init):
* gst/passthrough/gstpassthrough.c: (passthrough_class_init):
* gst/playondemand/gstplayondemand.c: (play_on_demand_class_init):
* gst/rtjpeg/gstrtjpegdec.c: (gst_rtjpegdec_class_init):
* gst/rtjpeg/gstrtjpegenc.c: (gst_rtjpegenc_class_init):
* gst/smooth/gstsmooth.c: (gst_smooth_class_init):
* gst/smoothwave/gstsmoothwave.c: (gst_smoothwave_class_init):
* gst/spectrum/gstspectrum.c: (gst_spectrum_class_init):
* gst/stereo/gststereo.c: (gst_stereo_class_init):
* gst/switch/gstswitch.c: (gst_switch_class_init):
* gst/tta/gstttadec.c: (gst_tta_dec_class_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_class_init):
* gst/vbidec/gstvbidec.c: (gst_vbidec_class_init):
* gst/videocrop/gstvideocrop.c: (gst_video_crop_class_init):
* gst/virtualdub/gstxsharpen.c: (gst_xsharpen_class_init):
* gst/y4m/gsty4mencode.c: (gst_y4mencode_class_init):
* sys/cdrom/gstcdplayer.c: (cdplayer_class_init):
* sys/directsound/gstdirectsoundsink.c:
(gst_directsoundsink_class_init):
* sys/dxr3/dxr3audiosink.c: (dxr3audiosink_class_init):
* sys/dxr3/dxr3spusink.c: (dxr3spusink_class_init):
* sys/dxr3/dxr3videosink.c: (dxr3videosink_class_init):
* sys/qcam/gstqcamsrc.c: (gst_qcamsrc_class_init):
* sys/v4l2/gstv4l2colorbalance.c:
(gst_v4l2_color_balance_channel_class_init):
* sys/v4l2/gstv4l2tuner.c: (gst_v4l2_tuner_channel_class_init),
(gst_v4l2_tuner_norm_class_init):
* sys/ximagesrc/ximagesrc.c: (gst_ximagesrc_class_init):
Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2009-05-15 23:35:08 +01:00
Stefan Kost
bf0215c0d0 [MOVED FROM BAD] gst/: Fix more broken GObject macros
Original commit message from CVS:
* gst/colorspace/gstcolorspace.h:
* gst/deinterlace/gstdeinterlace.h:
* gst/passthrough/gstpassthrough.h:
* gst/y4m/gsty4mencode.h:
Fix more broken GObject macros
2009-05-15 23:35:07 +01:00
j@bootlab.org
1a1ce07c21 [MOVED FROM BAD] Unify the long descriptions in the plugin details (#337263).
Original commit message from CVS:
Patch by: j^  <j at bootlab dot org>
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/arts/gst_arts.c:
* ext/artsd/gstartsdsink.c:
* ext/audiofile/gstafparse.c:
* ext/audiofile/gstafsink.c:
* ext/audiofile/gstafsrc.c:
* ext/cdaudio/gstcdaudio.c:
* ext/directfb/dfbvideosink.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/dts/gstdtsdec.c: (gst_dtsdec_base_init):
* ext/faac/gstfaac.c: (gst_faac_base_init):
* ext/faad/gstfaad.c:
* ext/gsm/gstgsmdec.c:
* ext/gsm/gstgsmenc.c:
* ext/hermes/gsthermescolorspace.c:
* ext/ivorbis/vorbisfile.c:
* ext/lcs/gstcolorspace.c:
* ext/libfame/gstlibfame.c:
* ext/libmms/gstmms.c: (gst_mms_base_init):
* ext/musicbrainz/gsttrm.c: (gst_musicbrainz_base_init):
* ext/nas/nassink.c: (gst_nassink_base_init):
* ext/neon/gstneonhttpsrc.c:
* ext/polyp/polypsink.c: (gst_polypsink_base_init):
* ext/sdl/sdlaudiosink.c:
* ext/sdl/sdlvideosink.c:
* ext/shout/gstshout.c:
* ext/snapshot/gstsnapshot.c:
* ext/sndfile/gstsf.c:
* ext/tarkin/gsttarkindec.c:
* ext/tarkin/gsttarkinenc.c:
* ext/theora/theoradec.c:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_base_init):
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_base_init):
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
* gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_base_init):
* gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_base_init):
* gst/chart/gstchart.c:
* gst/equalizer/gstiirequalizer.c: (gst_iir_equalizer_base_init):
* gst/festival/gstfestival.c:
* gst/filter/gstiir.c:
* gst/filter/gstlpwsinc.c:
* gst/freeze/gstfreeze.c:
* gst/games/gstpuzzle.c: (gst_puzzle_base_init):
* gst/mixmatrix/mixmatrix.c:
* gst/mpeg1sys/gstmpeg1systemencode.c:
* gst/mpeg1videoparse/gstmp1videoparse.c:
* gst/mpeg2sub/gstmpeg2subt.c:
* gst/mpegaudioparse/gstmpegaudioparse.c:
* gst/multifilesink/gstmultifilesink.c:
* gst/overlay/gstoverlay.c:
* gst/passthrough/gstpassthrough.c:
* gst/playondemand/gstplayondemand.c:
* gst/qtdemux/qtdemux.c:
* gst/rtjpeg/gstrtjpegdec.c:
* gst/rtjpeg/gstrtjpegenc.c:
* gst/smooth/gstsmooth.c:
* gst/tta/gstttadec.c: (gst_tta_dec_base_init):
* gst/tta/gstttaparse.c: (gst_tta_parse_base_init):
* gst/videocrop/gstvideocrop.c:
* gst/videodrop/gstvideodrop.c:
* gst/virtualdub/gstxsharpen.c:
* gst/xingheader/gstxingmux.c: (gst_xing_mux_base_init):
* gst/y4m/gsty4mencode.c:
Unify the long descriptions in the plugin details (#337263).
2009-05-15 23:35:07 +01:00
Thomas Vander Stichele
1844742e14 [MOVED FROM BAD] rework build; add translations for v4l2
Original commit message from CVS:
rework build; add translations for v4l2
2009-05-15 23:35:07 +01:00
Jan Schmidt
22ec948d15 [MOVED FROM BAD] Fix up all the state change functions.
Original commit message from CVS:
Fix up all the state change functions.
2009-05-15 23:35:07 +01:00
Andy Wingo
5f12ced080 [MOVED FROM BAD] Way, way, way too many files: Remove crack comment from the 2000 era.
Original commit message from CVS:
2005-07-05  Andy Wingo  <wingo@pobox.com>

* Way, way, way too many files:
Remove crack comment from the 2000 era.
2009-05-15 23:35:07 +01:00
Stéphane Loeuillet
1c1fb2e31a [MOVED FROM BAD] I'm a bad boy. using /1001. to force C to do float division and not integer division (as it did in my last commit)
Original commit message from CVS:
* ext/dv/gstdvdec.c:
* gst/subparse/gstsubparse.c: (parse_mdvdsub):
* gst/y4m/gsty4mencode.c: (gst_y4mencode_sinkconnect):
I'm a bad boy. using /1001. to force C to do float division
and not integer division (as it did in my last commit)
Thanks to David I. Lehn for pointing this mistake.
2009-05-15 23:35:07 +01:00
Stéphane Loeuillet
e706ed61e4 [MOVED FROM BAD] replace framerate aproximations by their real value (24000/1001, 30000/1001, 60000/1001)
Original commit message from CVS:
* ext/dv/gstdvdec.c:
* ext/libfame/gstlibfame.c:
* gst/subparse/gstsubparse.c: (parse_mdvdsub):
* gst/y4m/gsty4mencode.c: (gst_y4mencode_sinkconnect):
replace framerate aproximations by their real value
(24000/1001, 30000/1001, 60000/1001)
Finish fixing bug #164049
2009-05-15 23:35:07 +01:00
Steve Lhomme
af491d646c [MOVED FROM BAD] more working plugins
Original commit message from CVS:
more working plugins
2009-05-15 23:35:06 +01:00
Steve Lhomme
1d459af44d [MOVED FROM BAD] rename GStreamer-0.8.lib to libgstreamer.lib
Original commit message from CVS:
rename GStreamer-0.8.lib to libgstreamer.lib
2009-05-15 23:35:06 +01:00
Steve Lhomme
5b80d9c7f7 [MOVED FROM BAD] avoid problems with math.h, fix release dependancy
Original commit message from CVS:
avoid problems with math.h, fix release dependancy
2009-05-15 23:35:06 +01:00
Steve Lhomme
114470c7d1 [MOVED FROM BAD] more plugins supported under windows
Original commit message from CVS:
more plugins supported under windows
2009-05-15 23:35:06 +01:00
Jan Schmidt
caac59573c [MOVED FROM BAD] a52dec: Use a debug category, Output timestamps correctly
Original commit message from CVS:
a52dec:   Use a debug category, Output timestamps correctly
Emit tag info, Handle events, tell liba52dec about cpu
capabilities so it can use MMX etc.
dvdec:    Fix a crasher accessing invalid memory
dvdnavsrc:Some support for byte-format seeking.
Small fixes for still frames and menu button overlays
mpeg2dec: Use a debug category. Adjust the report level of several items to
LOG. Call mpeg2_custom_fbuf to mark our buffers as 'custom buffers'
so it doesn't lose the GstBuffer pointer
navseek:  Add the navseek debug element for seeking back and forth in a
video stream using arrow keys.
mpeg2subt:Pretty much a complete rewrite. Now a loopbased element. May still
require work to properly synchronise subtitle buffers.
mpegdemux:
dvddemux: Don't attempt to create subbuffers of size 0
Reduce a couple of error outputs to warnings.
y4mencode:Output the y4m frame header correctly
2009-05-15 23:35:06 +01:00
Thomas Vander Stichele
1beae4829c [MOVED FROM BAD] don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2009-05-15 23:35:06 +01:00
Johan Dahlin
c3aed629b3 [MOVED FROM BAD] *.h: Revert indenting
Original commit message from CVS:
* *.h: Revert indenting
2009-05-15 23:35:06 +01:00
Thomas Vander Stichele
2a39c9a83d [MOVED FROM BAD] gst-indent
Original commit message from CVS:
gst-indent
2009-05-15 23:35:05 +01:00
Benjamin Otte
14d51ebf15 [MOVED FROM BAD] gst-libs/gst/video/video.h: Fix caps template names to be understandable.
Original commit message from CVS:
2004-01-12  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst-libs/gst/video/video.h:
Fix caps template names to be understandable.
Prefix everything with GST_VIDEO.
* ext/aalib/gstaasink.c:
* ext/divx/gstdivxdec.c:
* ext/divx/gstdivxenc.c:
* ext/gdk_pixbuf/gstgdkpixbuf.c:
* ext/hermes/gstcolorspace.c: (gst_colorspace_base_init):
* ext/jpeg/gstjpegdec.c: (raw_caps_factory):
* ext/jpeg/gstjpegenc.c: (raw_caps_factory):
* ext/libcaca/gstcacasink.c:
* ext/libpng/gstpngenc.c: (raw_caps_factory):
* ext/snapshot/gstsnapshot.c:
* ext/swfdec/gstswfdec.c:
* ext/xvid/gstxviddec.c:
* ext/xvid/gstxvidenc.c:
* gst/chart/gstchart.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/effectv/gsteffectv.c:
* gst/flx/gstflxdec.c: (gst_flxdec_loop):
* gst/goom/gstgoom.c:
* gst/median/gstmedian.c:
* gst/monoscope/gstmonoscope.c: (gst_monoscope_init),
(gst_monoscope_srcconnect), (gst_monoscope_chain):
* gst/overlay/gstoverlay.c:
* gst/smooth/gstsmooth.c:
* gst/smpte/gstsmpte.c:
* gst/synaesthesia/gstsynaesthesia.c:
* gst/videocrop/gstvideocrop.c:
* gst/videodrop/gstvideodrop.c:
* gst/y4m/gsty4mencode.c:
* sys/qcam/gstqcamsrc.c:
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_palette_to_caps):
Make them work with new video.h file.
* sys/ximage/ximagesink.c: (gst_ximagesink_chain),
(gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain),
(gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc):
Make it work with new buffer allocation system.
2009-05-15 23:35:05 +01:00
David Schleef
cdbd6a095a [MOVED FROM BAD] Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2009-05-15 23:35:05 +01:00
Andy Wingo
5d8667c892 [MOVED FROM BAD] remove copyright field from plugins
Original commit message from CVS:
remove copyright field from plugins
2009-05-15 23:35:05 +01:00
Leif Johnson
e7542a5d6b [MOVED FROM BAD] + checking in plugin category changes
Original commit message from CVS:
+ checking in plugin category changes
2009-05-15 23:35:05 +01:00
Ronald S. Bultje
be73d84bd7 [MOVED FROM BAD] Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes fro...
Original commit message from CVS:
Remove all config.h includes from header files, add it to each source file and remove duplicate config.h includes from several source files
2009-05-15 23:35:05 +01:00
Benjamin Otte
721123c9f5 [MOVED FROM BAD] fix to new plugin system
Original commit message from CVS:
fix to new plugin system
2009-05-15 23:35:04 +01:00
Andy Wingo
2af5aa9cb1 [MOVED FROM BAD] /GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
Original commit message from CVS:
/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
2009-05-15 23:35:04 +01:00
David Schleef
e4d8f0acd3 [MOVED FROM BAD] Remove redundant plugindir definition
Original commit message from CVS:
Remove redundant plugindir definition
2009-05-15 23:35:04 +01:00
Ronald S. Bultje
d487e15bb2 [MOVED FROM BAD] New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as descri...
Original commit message from CVS:
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
2009-05-15 23:35:04 +01:00
Benjamin Otte
7a93c988fc [MOVED FROM BAD] compatibility fix for new GST_DEBUG stuff.
Original commit message from CVS:
compatibility fix for new GST_DEBUG stuff.
Includes fixes for missing includes for config.h and unistd.h

I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.
2009-05-15 23:35:04 +01:00
Thomas Vander Stichele
9d408bef9e [MOVED FROM BAD] PadConnect -> PadLink
Original commit message from CVS:
PadConnect -> PadLink
2009-05-15 23:35:04 +01:00
Thomas Vander Stichele
8fdd48d996 [MOVED FROM BAD] another batch of connect->link fixes please let me know about issues and please refrain of making them yourself, so t...
Original commit message from CVS:
another batch of connect->link fixes
please let me know about issues
and please refrain of making them yourself, so that I don't spend double
the time resolving conflicts
2009-05-15 23:35:04 +01:00
Thomas Vander Stichele
a22a0d423d [MOVED FROM BAD] parallel install fixes
Original commit message from CVS:
parallel install fixes
2009-05-15 23:35:04 +01:00
Christian Schaller
ad46cc2cb3 [MOVED FROM BAD] plugins part of license field patch
Original commit message from CVS:
plugins part of license field patch
2009-05-15 23:35:03 +01:00
Thomas Vander Stichele
713372d3b0 [MOVED FROM BAD] cosmetic change
Original commit message from CVS:
cosmetic change
2009-05-15 23:35:03 +01:00
Thomas Vander Stichele
2df30d532c [MOVED FROM BAD] various name fixes and sundry
Original commit message from CVS:
various name fixes and sundry
2009-05-15 23:35:03 +01:00
Andy Wingo
9c5643a2bd [MOVED FROM BAD] a hack to work around intltool's brokenness a current check for mpeg2dec details->klass reorganizations an element br...
Original commit message from CVS:
* a hack to work around intltool's brokenness
* a current check for mpeg2dec
* details->klass reorganizations
* an element browser that uses details->klass
* separated cdxa parse out from the avi directory
2009-05-15 23:35:03 +01:00
Andy Wingo
2bf59e140b [MOVED FROM BAD] GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE same with *factory and typefind.
Original commit message from CVS:
GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE

same with *factory and typefind.

also, some -Werror fixes.
2009-05-15 23:35:03 +01:00
Wim Taymans
e85ccbb36e [MOVED FROM BAD] Changed to the new props API
Original commit message from CVS:
Changed to the new props API
Other small tuff.
2009-05-15 23:35:03 +01:00
Andy Wingo
c1c956067f [MOVED FROM BAD] s/Gnome-Streamer/GStreamer/
Original commit message from CVS:
s/Gnome-Streamer/GStreamer/
2009-05-15 23:35:03 +01:00
Andy Wingo
10fb874e6d [MOVED FROM BAD] removal of //-style comments don't link plugins to core libs -- the versioning is done internally to the plugins with...
Original commit message from CVS:
* removal of //-style comments
* don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
2009-05-15 23:35:02 +01:00
Andy Wingo
a3763e5372 [MOVED FROM BAD] s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/ @-substitued variables variables are defined as make variables automagi...
Original commit message from CVS:
s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/

@-substitued variables variables are defined as make variables automagically,
and this gives the user the freedom to say make GST_PLUGIN_LDFLAGS=-myflag
2009-05-15 23:35:02 +01:00
Wrobell
ec6f70fa78 [MOVED FROM BAD] - plugins are built without versioning info
Original commit message from CVS:
- plugins are built without versioning info
2009-05-15 23:35:02 +01:00
Wim Taymans
c30b346245 [MOVED FROM BAD] Bring the plugins in sync with the new core capsnego system.
Original commit message from CVS:
Bring the plugins in sync with the new core capsnego system.
Added some features, enhancements...
2009-05-15 23:35:02 +01:00
David I. Lehn
888656c5b2 [MOVED FROM BAD] s/filter/plugin/ link plugins to GST_LIBS rearrange rules to a common format
Original commit message from CVS:
* s/filter/plugin/
* link plugins to GST_LIBS
* rearrange rules to a common format
2009-05-15 23:35:02 +01:00
Thomas Vander Stichele
fcfa27bfdf [MOVED FROM BAD] more fixes
Original commit message from CVS:
more fixes
2009-05-15 23:35:02 +01:00
Thomas Vander Stichele
56bff3790d [MOVED FROM BAD] BBB asked me to rename lav to y4m can someone who knows the plugin do this in the source as well ?
Original commit message from CVS:
BBB asked me to rename lav to y4m
can someone who knows the plugin do this in the source as well ?
2009-05-15 23:35:02 +01:00
Sebastian Dröge
ad9b02b881 deinterlace: If the upstream max latency is unbound return unbound max latency
Fixes bug #582661.
2009-05-15 15:14:52 +02:00
James Andrewartha
2410cd7a00 Fix compiler warnings
Fixes bug #582715.
2009-05-15 15:14:52 +02:00
Sebastian Dröge
43445935e8 Moved 'deinterlace2' from -bad to -good
And rename it to deinterlace.
2009-05-13 10:48:45 +02:00
Sebastian Dröge
77c15d10a0 [MOVED FROM BAD 56/56] deinterlace2: Add a disabled mode for passthrough operation
Also allow to change the mode in PAUSED and PLAYING by updating
the caps if necessary.
2009-05-13 10:34:05 +02:00
Sebastian Dröge
81dbc18eec [MOVED FROM BAD 55/56] deinterlace2: Add documentation and integrate into the build system 2009-05-13 10:34:05 +02:00
Sebastian Dröge
51689aaf23 [MOVED FROM BAD 54/56] deinterlace2: Make it possible to select interlacing autodetection or to enfore deinterlacing
For this add a "mode" property that defaults to "interlaced" for now as
most decoders/demuxers don't properly set the "interlaced" field on the
caps yet.

If this property is set to "auto" the element will work in passthrough
mode unless the caps contain the "interlaced" field.
2009-05-13 10:34:04 +02:00
Sebastian Dröge
769e39411d [MOVED FROM BAD 53/56] deinterlace2: Use GST_(DEBUG|WARNING|ERROR)_OBJECT instead of the non-OBJECT ones 2009-05-13 10:34:04 +02:00
Sebastian Dröge
1cd86e3aa6 [MOVED FROM BAD 52/56] deinterlace2: Reset history if DISCONT is set on the incoming buffer 2009-05-13 10:34:04 +02:00
Sebastian Dröge
1419d1cdda [MOVED FROM BAD 51/56] deinterlace2: Fix timestamps for buffers with RFF flag set 2009-05-13 10:34:04 +02:00
Sebastian Dröge
b9659ac68b [MOVED FROM BAD 50/56] deinterlace2: Rename line_length to row_stride and remove output_stride 2009-05-13 10:34:04 +02:00
Sebastian Dröge
3354937f05 [MOVED FROM BAD 49/56] deinterlace2: Implement support for RFF and ONEFIELD buffer flags 2009-05-13 10:34:03 +02:00
Sebastian Dröge
8020c8758b [MOVED FROM BAD 48/56] deinterlace2: Move output buffer from the instance struct to a function parameter 2009-05-13 10:34:03 +02:00
Sebastian Dröge
d28f09abf7 [MOVED FROM BAD 47/56] deinterlace2: Add initial support for automatic detection of the field order 2009-05-13 10:34:03 +02:00
Sebastian Dröge
1a7323d2d4 [MOVED FROM BAD 46/56] deinterlace2: Add support for YVYU colorspace
This is the same as YUY2 with just Cr and Cb swapped. As
we don't make a difference between them when deinterlacing
this works.
2009-05-13 10:34:03 +02:00
Wim Taymans
12933d6a65 [MOVED FROM BAD 45/56] gst/deinterlace2/gstdeinterlace2.c: Bring properties into this century.
Original commit message from CVS:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace2_class_init), (gst_deinterlace2_init),
(gst_deinterlace2_set_property), (gst_deinterlace2_get_property):
Bring properties into this century.
2009-05-13 10:34:02 +02:00
Stefan Kost
cc4d2668b1 [MOVED FROM BAD 44/56] Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
2009-05-13 10:34:02 +02:00
Sebastian Dröge
bc8c8515f8 [MOVED FROM BAD 43/56] gst/deinterlace2/tvtime/tomsmocomp.c: Fix unused variable compiler warning when not building
Original commit message from CVS:
* gst/deinterlace2/tvtime/tomsmocomp.c:
(gst_deinterlace_method_tomsmocomp_class_init):
Fix unused variable compiler warning when not building
X86 assembly.
2009-05-13 10:34:02 +02:00
Jan Schmidt
9f5220d44e [MOVED FROM BAD 42/56] gst/dccp/: Fix compilation on Solaris by including filio.h as needed.
Original commit message from CVS:
* gst/dccp/gstdccp.c:
* gst/dccp/gstdccpclientsrc.c:
Fix compilation on Solaris by including filio.h as needed.
* gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc:
* gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc:
Fix compilation with Forte - apparently it hates concatenating a
macro argument that starts with an underscore??
2009-05-13 10:34:02 +02:00
Sebastian Dröge
4b0fab491c [MOVED FROM BAD 41/56] gst/deinterlace2/tvtime/tomsmocomp/: Unroll the loop to handle two bytes at once. This should give a small speedup an...
Original commit message from CVS:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopTop.inc:
* gst/deinterlace2/tvtime/tomsmocomp/StrangeBob.inc:
* gst/deinterlace2/tvtime/tomsmocomp/WierdBob.inc:
Unroll the loop to handle two bytes at once. This should give
a small speedup and makes it possible to handle chroma and luma
different which is needed later.
2009-05-13 10:34:02 +02:00
Sebastian Dröge
01b5f8ed56 [MOVED FROM BAD 40/56] gst/deinterlace2/: First part of the C implementation of the tomsmocomp deinterlacing algorithm. This only supports s...
Original commit message from CVS:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace_method_class_init):
* gst/deinterlace2/gstdeinterlace2.h:
* gst/deinterlace2/tvtime/tomsmocomp.c:
(gst_deinterlace_method_tomsmocomp_class_init):
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopTop.inc:
* gst/deinterlace2/tvtime/tomsmocomp/StrangeBob.inc:
* gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc:
* gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc:
* gst/deinterlace2/tvtime/tomsmocomp/WierdBob.inc:
* gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h:
First part of the C implementation of the tomsmocomp deinterlacing
algorithm. This only supports search-effort=0 currently, is painfully
slow and needs some cleanup later when all search-effort settings
are implemented in C.
2009-05-13 10:34:02 +02:00
Sebastian Dröge
50e0bcebdb [MOVED FROM BAD 39/56] gst/deinterlace2/: Use oil_memcpy() instead of memcpy() as it's faster for the sizes that are usually used here.
Original commit message from CVS:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace_simple_method_interpolate_scanline),
(gst_deinterlace_simple_method_copy_scanline),
(gst_deinterlace_simple_method_deinterlace_frame):
* gst/deinterlace2/tvtime/greedy.c: (deinterlace_frame_di_greedy):
* gst/deinterlace2/tvtime/greedyh.c:
(deinterlace_frame_di_greedyh):
* gst/deinterlace2/tvtime/scalerbob.c:
(deinterlace_scanline_scaler_bob):
* gst/deinterlace2/tvtime/tomsmocomp.c: (Fieldcopy):
* gst/deinterlace2/tvtime/weave.c: (deinterlace_scanline_weave),
(copy_scanline):
* gst/deinterlace2/tvtime/weavebff.c: (deinterlace_scanline_weave),
(copy_scanline):
* gst/deinterlace2/tvtime/weavetff.c: (deinterlace_scanline_weave),
(copy_scanline):
Use oil_memcpy() instead of memcpy() as it's faster for the sizes that
are usually used here.
2009-05-13 10:34:01 +02:00
Sebastian Dröge
71185cf5c3 [MOVED FROM BAD 38/56] gst/deinterlace2/: Add the remaining tvtime deinterlacing methods and fix the deinterlace_frame() implementation of G...
Original commit message from CVS:
* gst/deinterlace2/Makefile.am:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace_simple_method_deinterlace_frame),
(gst_deinterlace2_methods_get_type), (gst_deinterlace2_set_method):
* gst/deinterlace2/gstdeinterlace2.h:
* gst/deinterlace2/tvtime/linear.c:
(deinterlace_scanline_linear_c), (deinterlace_scanline_linear_mmx),
(deinterlace_scanline_linear_mmxext),
(gst_deinterlace_method_linear_class_init),
(gst_deinterlace_method_linear_init):
* gst/deinterlace2/tvtime/linearblend.c:
(deinterlace_scanline_linear_blend_c),
(deinterlace_scanline_linear_blend2_c),
(deinterlace_scanline_linear_blend_mmx),
(deinterlace_scanline_linear_blend2_mmx),
(gst_deinterlace_method_linear_blend_class_init),
(gst_deinterlace_method_linear_blend_init):
* gst/deinterlace2/tvtime/plugins.h:
* gst/deinterlace2/tvtime/scalerbob.c:
(deinterlace_scanline_scaler_bob),
(gst_deinterlace_method_scaler_bob_class_init),
(gst_deinterlace_method_scaler_bob_init):
* gst/deinterlace2/tvtime/weave.c: (deinterlace_scanline_weave),
(copy_scanline), (gst_deinterlace_method_weave_class_init),
(gst_deinterlace_method_weave_init):
* gst/deinterlace2/tvtime/weavebff.c: (deinterlace_scanline_weave),
(copy_scanline), (gst_deinterlace_method_weave_bff_class_init),
(gst_deinterlace_method_weave_bff_init):
* gst/deinterlace2/tvtime/weavetff.c: (deinterlace_scanline_weave),
(copy_scanline), (gst_deinterlace_method_weave_tff_class_init),
(gst_deinterlace_method_weave_tff_init):
Add the remaining tvtime deinterlacing methods and fix the
deinterlace_frame() implementation of GstDeinterlaceSimpleMethod.
2009-05-13 10:34:01 +02:00
Sebastian Dröge
fe3f7b7409 [MOVED FROM BAD 37/56] gst/deinterlace2/tvtime/vfir.c: Implement the VFIR deinterlacing method as simple method.
Original commit message from CVS:
* gst/deinterlace2/tvtime/vfir.c: (deinterlace_line_c),
(deinterlace_line_mmx), (gst_deinterlace_method_vfir_class_init):
Implement the VFIR deinterlacing method as simple method.
2009-05-13 10:34:01 +02:00
Sebastian Dröge
2403fa4e4c [MOVED FROM BAD 36/56] gst/deinterlace2/gstdeinterlace2.*: Add a GstDeinterlaceSimpleMethod subclass of GstDeinterlaceMethod that can be use...
Original commit message from CVS:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace_simple_method_interpolate_scanline),
(gst_deinterlace_simple_method_copy_scanline),
(gst_deinterlace_simple_method_deinterlace_frame),
(gst_deinterlace_simple_method_class_init),
(gst_deinterlace_simple_method_init):
* gst/deinterlace2/gstdeinterlace2.h:
Add a GstDeinterlaceSimpleMethod subclass of GstDeinterlaceMethod that
can be used by simple deinterlacing methods. They only have to provide
a function for interpolating a scanline or copying a scanline.
2009-05-13 10:34:01 +02:00
Sebastian Dröge
720506a499 [MOVED FROM BAD 35/56] gst/deinterlace2/gstdeinterlace2.c: Respect the latency of the deinterlacing algorithm for the timestamps of every bu...
Original commit message from CVS:
* gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace2_chain):
Respect the latency of the deinterlacing algorithm for the timestamps
of every buffer.
2009-05-13 10:34:01 +02:00
Sebastian Dröge
fba3f4d3f2 [MOVED FROM BAD 34/56] gst/deinterlace2/tvtime/: Add the MMX registers to the clobbered registers only if __MMX__ is defined.
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedyh.asm:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc:
Add the MMX registers to the clobbered registers only if __MMX__ is
defined.
2009-05-13 10:34:00 +02:00
Sebastian Dröge
95d12cbca9 [MOVED FROM BAD 33/56] gst/deinterlace2/: Enable tomsmocomp again as the C port will be ready for the next release.
Original commit message from CVS:
* gst/deinterlace2/Makefile.am:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace2_methods_get_type), (gst_deinterlace2_set_method),
(gst_deinterlace2_class_init):
Enable tomsmocomp again as the C port will be ready for the next
release.
2009-05-13 10:34:00 +02:00
Sebastian Dröge
060ba0ede1 [MOVED FROM BAD 32/56] gst/deinterlace2/gstdeinterlace2.c: Don't use proxy_getcaps() but implement our own getcaps() function that doubles/h...
Original commit message from CVS:
* gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace2_init),
(gst_greatest_common_divisor), (gst_fraction_double),
(gst_deinterlace2_getcaps), (gst_deinterlace2_setcaps):
Don't use proxy_getcaps() but implement our own getcaps() function
that doubles/halfs the framerate if all fields should be sent out.
2009-05-13 10:34:00 +02:00
Sebastian Dröge
fdd3d27274 [MOVED FROM BAD 31/56] Disable the tomsmocomp algorithm for this release as it's buggy and has no C implementation yet.
Original commit message from CVS:
* configure.ac:
* gst/deinterlace2/Makefile.am:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace2_methods_get_type), (gst_deinterlace2_set_method),
(gst_deinterlace2_class_init), (gst_deinterlace2_init):
* gst/deinterlace2/gstdeinterlace2.h:
* gst/deinterlace2/tvtime/greedy.c:
(gst_deinterlace_method_greedy_l_class_init):
* gst/deinterlace2/tvtime/greedyh.c:
(gst_deinterlace_method_greedy_h_class_init):
* gst/deinterlace2/tvtime/vfir.c:
(gst_deinterlace_method_vfir_class_init):
Disable the tomsmocomp algorithm for this release as it's buggy
and has no C implementation yet.
Build the deinterlace2 plugin on all architectures but still mark it
as experimental.
Build the x86 inline assembly only if GCC inline assembly is supported
and only on x86 or amd64. Fixes bug #543286.
2009-05-13 10:34:00 +02:00
Edward Hervey
74aedd0723 [MOVED FROM BAD 30/56] gst/deinterlace2/tvtime/: Fix build on x86_64
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedy.c:
(gst_deinterlace_method_greedy_l_class_init):
* gst/deinterlace2/tvtime/greedyh.c:
(gst_deinterlace_method_greedy_h_class_init):
* gst/deinterlace2/tvtime/vfir.c:
(gst_deinterlace_method_vfir_class_init):
Fix build on x86_64
2009-05-13 10:34:00 +02:00
Sebastian Dröge
239face769 [MOVED FROM BAD 29/56] gst/deinterlace2/tvtime/greedyh.asm: Always use the C implementation if width is not a multiple of 4. The assembly op...
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedyh.asm:
Always use the C implementation if width is not a multiple of 4. The
assembly optimized version only handle this and calling the C
implementation for the remaining part doesn't work because it needs
previous calculations.
2009-05-13 10:34:00 +02:00
Sebastian Dröge
868975cfac [MOVED FROM BAD 28/56] gst/deinterlace2/tvtime/: Some cleanup, use 3DNOW instead of TDNOW in macros.
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedyh.asm:
* gst/deinterlace2/tvtime/greedyh.c:
* gst/deinterlace2/tvtime/greedyhmacros.h:
Some cleanup, use 3DNOW instead of TDNOW in macros.
* gst/deinterlace2/tvtime/tomsmocomp.c:
(gst_deinterlace_method_tomsmocomp_class_init):
* gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc:
* gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h:
The SSE method in fact only needs MMXEXT, declare it as such.
2009-05-13 10:34:00 +02:00
Sebastian Dröge
311a1d2cd3 [MOVED FROM BAD 27/56] Don't use declarations after statements in the remaining code.
Original commit message from CVS:
* ext/spc/gstspc.c: (spc_setup):
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopTop.inc:
Don't use declarations after statements in the remaining code.
2009-05-13 10:33:59 +02:00
Sebastian Dröge
e6c4d268fa [MOVED FROM BAD 26/56] gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc: Mark internal processing functions as static inline for quite ...
Original commit message from CVS:
* gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc:
Mark internal processing functions as static inline for quite some
speedup as they're used only once and need to get many local variables
passed as parameter.
2009-05-13 10:33:59 +02:00
Sebastian Dröge
0b3fb30381 [MOVED FROM BAD 25/56] gst/deinterlace2/gstdeinterlace2.*: Call the current instance "self" instead of "object".
Original commit message from CVS:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace_method_deinterlace_frame),
(gst_deinterlace2_set_method), (gst_deinterlace2_init),
(gst_deinterlace2_reset_history), (gst_deinterlace2_reset),
(gst_deinterlace2_set_property), (gst_deinterlace2_get_property),
(gst_deinterlace2_pop_history), (gst_deinterlace2_head_history),
(gst_deinterlace2_push_history), (gst_deinterlace2_chain),
(gst_deinterlace2_setcaps), (gst_deinterlace2_sink_event),
(gst_deinterlace2_change_state), (gst_deinterlace2_src_event),
(gst_deinterlace2_src_query):
* gst/deinterlace2/gstdeinterlace2.h:
Call the current instance "self" instead of "object".
2009-05-13 10:33:59 +02:00
Sebastian Dröge
0b9cd418b3 [MOVED FROM BAD 24/56] gst/deinterlace2/gstdeinterlace2.*: Include latency of the method in the returned latency.
Original commit message from CVS:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace_method_get_latency),
(gst_deinterlace2_set_method), (gst_deinterlace2_class_init),
(gst_deinterlace2_push_history), (gst_deinterlace2_chain),
(gst_deinterlace2_setcaps), (gst_deinterlace2_src_query):
* gst/deinterlace2/gstdeinterlace2.h:
Include latency of the method in the returned latency.
Fix outputting of all fields, i.e. doubling of the framerate.
2009-05-13 10:33:59 +02:00
Sebastian Dröge
fb7f06ad04 [MOVED FROM BAD 23/56] gst/deinterlace2/: Use a GstObject subtype for the deinterlacing methods and export the different settings for each d...
Original commit message from CVS:
* gst/deinterlace2/Makefile.am:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace_method_class_init), (gst_deinterlace_method_init),
(gst_deinterlace_method_deinterlace_frame),
(gst_deinterlace_method_get_fields_required),
(gst_deinterlace2_methods_get_type), (_do_init),
(gst_deinterlace2_set_method), (gst_deinterlace2_class_init),
(gst_deinterlace2_child_proxy_get_child_by_index),
(gst_deinterlace2_child_proxy_get_children_count),
(gst_deinterlace2_child_proxy_interface_init),
(gst_deinterlace2_init), (gst_deinterlace2_finalize),
(gst_deinterlace2_chain), (gst_deinterlace2_src_query):
* gst/deinterlace2/gstdeinterlace2.h:
* gst/deinterlace2/tvtime/greedy.c:
(deinterlace_greedy_packed422_scanline_c),
(deinterlace_greedy_packed422_scanline_mmx),
(deinterlace_greedy_packed422_scanline_mmxext),
(deinterlace_frame_di_greedy),
(gst_deinterlace_method_greedy_l_set_property),
(gst_deinterlace_method_greedy_l_get_property),
(gst_deinterlace_method_greedy_l_class_init),
(gst_deinterlace_method_greedy_l_init):
* gst/deinterlace2/tvtime/greedyh.asm:
* gst/deinterlace2/tvtime/greedyh.c: (greedyDScaler_C),
(deinterlace_frame_di_greedyh),
(gst_deinterlace_method_greedy_h_set_property),
(gst_deinterlace_method_greedy_h_get_property),
(gst_deinterlace_method_greedy_h_class_init),
(gst_deinterlace_method_greedy_h_init):
* gst/deinterlace2/tvtime/greedyh.h:
* gst/deinterlace2/tvtime/plugins.h:
* gst/deinterlace2/tvtime/tomsmocomp.c:
(gst_deinterlace_method_tomsmocomp_set_property),
(gst_deinterlace_method_tomsmocomp_get_property),
(gst_deinterlace_method_tomsmocomp_class_init),
(gst_deinterlace_method_tomsmocomp_init):
* gst/deinterlace2/tvtime/tomsmocomp.h:
* gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc:
* gst/deinterlace2/tvtime/vfir.c: (deinterlace_frame_vfir),
(gst_deinterlace_method_vfir_class_init),
(gst_deinterlace_method_vfir_init):
Use a GstObject subtype for the deinterlacing methods and export
the different settings for each deinterlacing method via GObject
properties.
Implement GstChildProxy interface to allow access to the used
deinterlacing method and to allow adjusting the different settings.
Move global variables of the tomsmocomp deinterlacing method into
function local variables to make it possible to use this deinterlacing
method from different instances.
2009-05-13 10:33:59 +02:00
Sebastian Dröge
e5231e5641 [MOVED FROM BAD 22/56] gst/deinterlace2/tvtime/greedyh.asm: Support widths that are not a multiply of 4 when using the assembly optimized gr...
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedyh.asm:
Support widths that are not a multiply of 4 when using the assembly
optimized greedyh implementations.
2009-05-13 10:33:58 +02:00
Sebastian Dröge
fe02b1242c [MOVED FROM BAD 21/56] gst/deinterlace2/tvtime/greedyh.c: Only build the assembly optimized implementations on x86.
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedyh.c:
(deinterlace_frame_di_greedyh):
Only build the assembly optimized implementations on x86.
2009-05-13 10:33:58 +02:00
Sebastian Dröge
edf1f9b4a3 [MOVED FROM BAD 20/56] gst/deinterlace2/: Remove useless file and mark everything possible as static.
Original commit message from CVS:
* gst/deinterlace2/Makefile.am:
* gst/deinterlace2/tvtime/tomsmocomp.c: (tomsmocomp_init),
(tomsmocomp_filter_mmx), (tomsmocomp_filter_3dnow),
(tomsmocomp_filter_sse), (deinterlace_frame_di_tomsmocomp):
* gst/deinterlace2/tvtime/tomsmocomp.h:
Remove useless file and mark everything possible as static.
* gst/deinterlace2/tvtime/greedy.c:
* gst/deinterlace2/tvtime/greedyh.c:
Use "_stdint.h" instead of <stdint.h>.
2009-05-13 10:33:58 +02:00
Sebastian Dröge
b65e20f305 [MOVED FROM BAD 19/56] gst/deinterlace2/: Get rid of speedy.[ch] as we don't use most of it's code anyway and it doesn't seem to be relicens...
Original commit message from CVS:
* gst/deinterlace2/Makefile.am:
* gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace2_init):
* gst/deinterlace2/tvtime/greedy.c: (deinterlace_frame_di_greedy):
* gst/deinterlace2/tvtime/greedyh.c:
(deinterlace_frame_di_greedyh):
* gst/deinterlace2/tvtime/speedtools.h:
* gst/deinterlace2/tvtime/speedy.c:
* gst/deinterlace2/tvtime/speedy.h:
* gst/deinterlace2/tvtime/tomsmocomp.c: (Fieldcopy):
* gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc:
* gst/deinterlace2/tvtime/vfir.c: (deinterlace_frame_vfir):
Get rid of speedy.[ch] as we don't use most of it's code anyway
and it doesn't seem to be relicensed to LGPL. Use memcpy() instead
of the speedy memcpy everywhere instead.
* gst/deinterlace2/gstdeinterlace2.h:
Remove many unused declarations.
2009-05-13 10:33:58 +02:00
Sebastian Dröge
8f588978a0 [MOVED FROM BAD 18/56] gst/deinterlace2/gstdeinterlace2.c: Divide latency be 2 to convert from fields to frames.
Original commit message from CVS:
* gst/deinterlace2/gstdeinterlace2.c: (gst_deinterlace2_src_query):
Divide latency be 2 to convert from fields to frames.
2009-05-13 10:33:58 +02:00
Sebastian Dröge
ee8327b925 [MOVED FROM BAD 17/56] gst/deinterlace2/tvtime/greedy.c: Don't use scanlines function from gstdeinterlace2 as it's not appropiate for this m...
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedy.c:
(deinterlace_greedy_packed422_scanline_c),
(deinterlace_greedy_packed422_scanline_mmx),
(deinterlace_greedy_packed422_scanline_mmxext),
(deinterlace_frame_di_greedy):
Don't use scanlines function from gstdeinterlace2 as it's
not appropiate for this method. Instead implement deinterlace_frame
function by taking the one from greedyh.
* gst/deinterlace2/tvtime/greedyh.c: (greedyDScaler_C):
Small fix for the C implementation.
* gst/deinterlace2/tvtime/vfir.c: (deinterlace_frame_vfir):
Don't use the scanlines function from gstdeinterlace2 as it's only
used for this method and will be removed. Instead implement
deinterlace_frame function and make it a bit more efficient.
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace2_class_init), (gst_deinterlace2_set_method),
(gst_deinterlace2_push_history), (gst_deinterlace2_chain),
(gst_deinterlace2_setcaps), (gst_deinterlace2_sink_event),
(gst_deinterlace2_change_state), (gst_deinterlace2_src_event),
(gst_deinterlace2_src_query):
Fix coding style and remove scanlines function as it's unused now.
2009-05-13 10:33:58 +02:00
Sebastian Dröge
57dd0e85d1 [MOVED FROM BAD 16/56] gst/deinterlace2/tvtime/: Add a C implementation for the greedyh deinterlacing method, clean up the code a bit and ma...
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedyh.asm:
* gst/deinterlace2/tvtime/greedyh.c: (greedyDScaler_C),
(deinterlace_frame_di_greedyh), (dscaler_greedyh_get_method):
* gst/deinterlace2/tvtime/greedyhmacros.h:
Add a C implementation for the greedyh deinterlacing method, clean
up the code a bit and mark the SSE version as MMXEXT as it doesn't
require any SSE instructions.
2009-05-13 10:33:58 +02:00
Sebastian Dröge
07f408a3ea [MOVED FROM BAD 15/56] gst/deinterlace2/gstdeinterlace2.c: If we're outputting all fields the framerate has to be doubled.
Original commit message from CVS:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace2_set_property), (gst_deinterlace2_chain),
(gst_deinterlace2_setcaps):
If we're outputting all fields the framerate has to be doubled.
Set duration on the outgoing buffers.
2009-05-13 10:33:57 +02:00
Edward Hervey
75bb2fcba8 [MOVED FROM BAD 14/56] gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h: Remove unneeded macros that break build on macosx.
Original commit message from CVS:
* gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h:
Remove unneeded macros that break build on macosx.
2009-05-13 10:33:57 +02:00
Sebastian Dröge
229f6a379b [MOVED FROM BAD 13/56] gst/deinterlace2/tvtime/greedy.c: Optimize MMX/MMXEXT implementations a bit by requiring two less memory accesses and...
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedy.c:
(deinterlace_greedy_packed422_scanline_mmx),
(deinterlace_greedy_packed422_scanline_mmxext):
Optimize MMX/MMXEXT implementations a bit by requiring two less
memory accesses and fix the workaround for the missing right shift
on bytes to unset the highest bit of every byte.
2009-05-13 10:33:57 +02:00
Sebastian Dröge
72f7b15739 [MOVED FROM BAD 12/56] gst/deinterlace2/tvtime/greedy.c: Remove sfence instruction as it's not needed and actually is an SSE instruction.
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedy.c:
(deinterlace_greedy_packed422_scanline_mmxext):
Remove sfence instruction as it's not needed and actually is an SSE
instruction.
2009-05-13 10:33:57 +02:00
Sebastian Dröge
df1798ddf9 [MOVED FROM BAD 11/56] gst/deinterlace2/tvtime/greedy.c: Add plain MMX implementation for the greedyl method.
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedy.c:
(deinterlace_greedy_packed422_scanline_mmx),
(deinterlace_greedy_packed422_scanline):
Add plain MMX implementation for the greedyl method.
2009-05-13 10:33:57 +02:00
Sebastian Dröge
bd35b53558 [MOVED FROM BAD 10/56] gst/deinterlace2/Makefile.am: Move the assembly includes to noinst_HEADERS where they belong.
Original commit message from CVS:
* gst/deinterlace2/Makefile.am:
Move the assembly includes to noinst_HEADERS where they belong.
* gst/deinterlace2/tvtime/vfir.c: (deinterlace_line_c),
(deinterlace_line_mmx):
Fix C and MMX implementations a bit more.
2009-05-13 10:33:56 +02:00
Sebastian Dröge
1916a3b075 [MOVED FROM BAD 09/56] gst/deinterlace2/tvtime/greedy.c: Fix the C implementation to produce correct results and optimize the
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedy.c:
(deinterlace_greedy_packed422_scanline_c),
(deinterlace_greedy_packed422_scanline_mmxext),
(deinterlace_greedy_packed422_scanline):
Fix the C implementation to produce correct results and optimize the
MMXEXT implementation.
Handle odd widths and don't read over array boundaries in the MMXEXT
implementation.
* gst/deinterlace2/tvtime/vfir.c: (deinterlace_line_c),
(deinterlace_line_mmx), (deinterlace_scanline_vfir):
Fix a small rounding bug in the MMX implementation, the MMX
implementation doesn't actually need MMXEXT instructions so don't mark
it as such.
Handle odd widths in both implementations.
2009-05-13 10:33:56 +02:00
Sebastian Dröge
98eddc859f [MOVED FROM BAD 08/56] gst/deinterlace2/tvtime/greedy.c: Implement a C version of the greedy low motion algorithm and mark the assembly opti...
Original commit message from CVS:
* gst/deinterlace2/tvtime/greedy.c:
(deinterlace_greedy_packed422_scanline_sse),
(deinterlace_greedy_packed422_scanline_c),
(deinterlace_greedy_packed422_scanline):
Implement a C version of the greedy low motion algorithm and mark the
assembly optimized version as SSE as it uses SSE instructions
additional to MMX instructions.
2009-05-13 10:33:56 +02:00
Sebastian Dröge
6cc147c5d9 [MOVED FROM BAD 07/56] gst/deinterlace2/tvtime/vfir.c: Make it possible to use the vfir method on X86 CPUs without MMXEXT too but use the MM...
Original commit message from CVS:
* gst/deinterlace2/tvtime/vfir.c: (deinterlace_line_mmxext),
(deinterlace_line_c), (deinterlace_scanline_vfir):
Make it possible to use the vfir method on X86 CPUs without MMXEXT too
but use the MMXEXT optimized code whenever possible.
2009-05-13 10:33:56 +02:00
Sebastian Dröge
e094cde977 [MOVED FROM BAD 06/56] gst/deinterlace2/gstdeinterlace2.*: Reset element state on PAUSED->READY properly, don't leak any buffers when finali...
Original commit message from CVS:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace2_class_init), (gst_deinterlace2_init),
(gst_deinterlace2_reset_history), (gst_deinterlace2_reset),
(gst_deinterlace2_finalize), (gst_deinterlace2_chain),
(gst_deinterlace2_sink_event), (gst_deinterlace2_change_state),
(gst_deinterlace2_src_query):
* gst/deinterlace2/gstdeinterlace2.h:
Reset element state on PAUSED->READY properly, don't leak any buffers
when finalizing, allocate buffers with gst_pad_alloc_buffer() and
properly return flow returns from gst_pad_push() instead of ignoring them.
2009-05-13 10:33:56 +02:00
Sebastian Dröge
478f17052f [MOVED FROM BAD 05/56] gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h: Add missing header.
Original commit message from CVS:
* gst/deinterlace2/tvtime/tomsmocomp/tomsmocompmacros.h:
Add missing header.
2009-05-13 10:33:55 +02:00
Sebastian Dröge
8a90334f9e [MOVED FROM BAD 04/56] Fix compilation on generic x86/amd64 and include deinterlace2 in the build system. Because of several bugs it's still...
Original commit message from CVS:
* configure.ac:
* gst/deinterlace2/Makefile.am:
* gst/deinterlace2/tvtime/greedyh.asm:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc:
Fix compilation on generic x86/amd64 and include deinterlace2 in the
build system. Because of several bugs it's still enabled only
by --enable-experimental.
2009-05-13 10:33:55 +02:00
Stefan Kost
9082a429fb [MOVED FROM BAD 03/56] Fix gtk-doc warnings. Also don't misuse api-doc comments for normal comments.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* examples/app/appsrc-ra.c:
* examples/app/appsrc-seekable.c:
* examples/app/appsrc-stream.c:
* examples/app/appsrc-stream2.c:
* ext/directfb/dfbvideosink.h:
* ext/metadata/gstbasemetadata.c:
* ext/metadata/gstbasemetadata.h:
* ext/metadata/metadata.c:
* ext/metadata/metadataexif.c:
* ext/theora/theoradec.h:
* gst/deinterlace2/gstdeinterlace2.h:
* gst/deinterlace2/tvtime/speedy.c:
* gst/deinterlace2/tvtime/speedy.h:
* gst/deinterlace2/tvtime/vfir.c:
Fix gtk-doc warnings. Also don't misuse api-doc comments for normal
comments.
2009-05-13 10:33:55 +02:00
Martin Eikermann
5799a93389 [MOVED FROM BAD 02/56] gst/deinterlace2/: Add a deinterlacer plugin based on the tvtime/DScaler deinterlacer, which was relicensed to LGPL f...
Original commit message from CVS:
Based on a patch by: Martin Eikermann <meiker at upb dot de>
* gst/deinterlace2/Makefile.am:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace2_method_get_type),
(gst_deinterlace2_fields_get_type),
(gst_deinterlace2_field_layout_get_type),
(gst_deinterlace2_base_init), (gst_deinterlace2_class_init),
(gst_deinterlace2_init), (gst_deinterlace2_set_method),
(gst_deinterlace2_set_property), (gst_deinterlace2_get_property),
(gst_deinterlace2_finalize), (gst_deinterlace2_pop_history),
(gst_deinterlace2_head_history), (gst_deinterlace2_push_history),
(gst_deinterlace2_deinterlace_scanlines), (gst_deinterlace2_chain),
(gst_deinterlace2_setcaps), (gst_deinterlace2_sink_event),
(gst_deinterlace2_change_state), (gst_deinterlace2_src_event),
(gst_deinterlace2_src_query), (gst_deinterlace2_src_query_types),
(plugin_init):
* gst/deinterlace2/gstdeinterlace2.h:
* gst/deinterlace2/tvtime/greedy.c: (copy_scanline),
(deinterlace_greedy_packed422_scanline_mmxext),
(dscaler_greedyl_get_method):
* gst/deinterlace2/tvtime/greedyh.asm:
* gst/deinterlace2/tvtime/greedyh.c:
(deinterlace_frame_di_greedyh), (dscaler_greedyh_get_method),
(greedyh_init), (greedyh_filter_mmx), (greedyh_filter_3dnow),
(greedyh_filter_sse):
* gst/deinterlace2/tvtime/greedyh.h:
* gst/deinterlace2/tvtime/greedyhmacros.h:
* gst/deinterlace2/tvtime/mmx.h:
* gst/deinterlace2/tvtime/plugins.h:
* gst/deinterlace2/tvtime/speedtools.h:
* gst/deinterlace2/tvtime/speedy.c: (multiply_alpha), (clip255),
(comb_factor_packed422_scanline_mmx),
(diff_factor_packed422_scanline_c),
(diff_factor_packed422_scanline_mmx),
(diff_packed422_block8x8_mmx), (diff_packed422_block8x8_c),
(packed444_to_packed422_scanline_c),
(packed422_to_packed444_scanline_c),
(packed422_to_packed444_rec601_scanline_c),
(vfilter_chroma_121_packed422_scanline_mmx),
(vfilter_chroma_121_packed422_scanline_c),
(vfilter_chroma_332_packed422_scanline_mmx),
(vfilter_chroma_332_packed422_scanline_c),
(kill_chroma_packed422_inplace_scanline_mmx),
(kill_chroma_packed422_inplace_scanline_c),
(invert_colour_packed422_inplace_scanline_mmx),
(invert_colour_packed422_inplace_scanline_c),
(mirror_packed422_inplace_scanline_c),
(interpolate_packed422_scanline_c),
(convert_uyvy_to_yuyv_scanline_mmx),
(convert_uyvy_to_yuyv_scanline_c),
(interpolate_packed422_scanline_mmx),
(interpolate_packed422_scanline_mmxext),
(blit_colour_packed422_scanline_c),
(blit_colour_packed422_scanline_mmx),
(blit_colour_packed422_scanline_mmxext),
(blit_colour_packed4444_scanline_c),
(blit_colour_packed4444_scanline_mmx),
(blit_colour_packed4444_scanline_mmxext), (small_memcpy),
(speedy_memcpy_c), (speedy_memcpy_mmx), (speedy_memcpy_mmxext),
(blit_packed422_scanline_c), (blit_packed422_scanline_mmx),
(blit_packed422_scanline_mmxext),
(composite_colour4444_alpha_to_packed422_scanline_c),
(composite_colour4444_alpha_to_packed422_scanline_mmxext),
(composite_packed4444_alpha_to_packed422_scanline_c),
(composite_packed4444_alpha_to_packed422_scanline_mmxext),
(composite_packed4444_to_packed422_scanline_c),
(composite_packed4444_to_packed422_scanline_mmxext),
(composite_alphamask_to_packed4444_scanline_c),
(composite_alphamask_to_packed4444_scanline_mmxext),
(composite_alphamask_alpha_to_packed4444_scanline_c),
(premultiply_packed4444_scanline_c),
(premultiply_packed4444_scanline_mmxext),
(blend_packed422_scanline_c), (blend_packed422_scanline_mmxext),
(quarter_blit_vertical_packed422_scanline_mmxext),
(quarter_blit_vertical_packed422_scanline_c),
(subpix_blit_vertical_packed422_scanline_c),
(a8_subpix_blit_scanline_c), (myround), (init_RGB_to_YCbCr_tables),
(init_YCbCr_to_RGB_tables), (rgb24_to_packed444_rec601_scanline_c),
(rgba32_to_packed4444_rec601_scanline_c),
(packed444_to_rgb24_rec601_scanline_c),
(packed444_to_nonpremultiplied_packed4444_scanline_c),
(aspect_adjust_packed4444_scanline_c), (setup_speedy_calls),
(speedy_get_accel):
* gst/deinterlace2/tvtime/speedy.h:
* gst/deinterlace2/tvtime/sse.h:
* gst/deinterlace2/tvtime/tomsmocomp.c: (Fieldcopy),
(deinterlace_frame_di_tomsmocomp), (dscaler_tomsmocomp_get_method),
(tomsmocomp_init), (tomsmocomp_filter_mmx),
(tomsmocomp_filter_3dnow), (tomsmocomp_filter_sse):
* gst/deinterlace2/tvtime/tomsmocomp.h:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoop0A.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopEdgeA.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopEdgeA8.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddA.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddA2.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddA6.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddAH.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddAH2.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopTop.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopVA.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopVAH.inc:
* gst/deinterlace2/tvtime/tomsmocomp/StrangeBob.inc:
* gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc:
* gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc:
* gst/deinterlace2/tvtime/tomsmocomp/WierdBob.inc:
* gst/deinterlace2/tvtime/vfir.c: (deinterlace_line),
(deinterlace_scanline_vfir), (copy_scanline),
(dscaler_vfir_get_method):
* gst/deinterlace2/tvtime/x86-64_macros.inc:
Add a deinterlacer plugin based on the tvtime/DScaler deinterlacer,
which was relicensed to LGPL for GStreamer and in theory provides
better and faster results than the simple deinterlace element.
Fixes bug #163578.
Ported to GStreamer 0.10 but still not enabled or included in the
build system by default because of bad artefacts caused by a bug
somewhere and as it can be only build on x86/amd64 ATM and requires
special CFLAGS. Will be fixed soon.
2009-05-13 10:33:55 +02:00
Martin Eikermann
0518c150c9 [MOVED FROM BAD 01/56] gst/deinterlace2/: Add a deinterlacer plugin based on the tvtime/DScaler deinterlacer, which was relicensed to LGPL f...
Original commit message from CVS:
Based on a patch by: Martin Eikermann <meiker at upb dot de>
* gst/deinterlace2/Makefile.am:
* gst/deinterlace2/gstdeinterlace2.c:
(gst_deinterlace2_method_get_type),
(gst_deinterlace2_fields_get_type),
(gst_deinterlace2_field_layout_get_type),
(gst_deinterlace2_base_init), (gst_deinterlace2_class_init),
(gst_deinterlace2_init), (gst_deinterlace2_set_method),
(gst_deinterlace2_set_property), (gst_deinterlace2_get_property),
(gst_deinterlace2_finalize), (gst_deinterlace2_pop_history),
(gst_deinterlace2_head_history), (gst_deinterlace2_push_history),
(gst_deinterlace2_deinterlace_scanlines), (gst_deinterlace2_chain),
(gst_deinterlace2_setcaps), (gst_deinterlace2_sink_event),
(gst_deinterlace2_change_state), (gst_deinterlace2_src_event),
(gst_deinterlace2_src_query), (gst_deinterlace2_src_query_types),
(plugin_init):
* gst/deinterlace2/gstdeinterlace2.h:
* gst/deinterlace2/tvtime/greedy.c: (copy_scanline),
(deinterlace_greedy_packed422_scanline_mmxext),
(dscaler_greedyl_get_method):
* gst/deinterlace2/tvtime/greedyh.asm:
* gst/deinterlace2/tvtime/greedyh.c:
(deinterlace_frame_di_greedyh), (dscaler_greedyh_get_method),
(greedyh_init), (greedyh_filter_mmx), (greedyh_filter_3dnow),
(greedyh_filter_sse):
* gst/deinterlace2/tvtime/greedyh.h:
* gst/deinterlace2/tvtime/greedyhmacros.h:
* gst/deinterlace2/tvtime/mmx.h:
* gst/deinterlace2/tvtime/plugins.h:
* gst/deinterlace2/tvtime/speedtools.h:
* gst/deinterlace2/tvtime/speedy.c: (multiply_alpha), (clip255),
(comb_factor_packed422_scanline_mmx),
(diff_factor_packed422_scanline_c),
(diff_factor_packed422_scanline_mmx),
(diff_packed422_block8x8_mmx), (diff_packed422_block8x8_c),
(packed444_to_packed422_scanline_c),
(packed422_to_packed444_scanline_c),
(packed422_to_packed444_rec601_scanline_c),
(vfilter_chroma_121_packed422_scanline_mmx),
(vfilter_chroma_121_packed422_scanline_c),
(vfilter_chroma_332_packed422_scanline_mmx),
(vfilter_chroma_332_packed422_scanline_c),
(kill_chroma_packed422_inplace_scanline_mmx),
(kill_chroma_packed422_inplace_scanline_c),
(invert_colour_packed422_inplace_scanline_mmx),
(invert_colour_packed422_inplace_scanline_c),
(mirror_packed422_inplace_scanline_c),
(interpolate_packed422_scanline_c),
(convert_uyvy_to_yuyv_scanline_mmx),
(convert_uyvy_to_yuyv_scanline_c),
(interpolate_packed422_scanline_mmx),
(interpolate_packed422_scanline_mmxext),
(blit_colour_packed422_scanline_c),
(blit_colour_packed422_scanline_mmx),
(blit_colour_packed422_scanline_mmxext),
(blit_colour_packed4444_scanline_c),
(blit_colour_packed4444_scanline_mmx),
(blit_colour_packed4444_scanline_mmxext), (small_memcpy),
(speedy_memcpy_c), (speedy_memcpy_mmx), (speedy_memcpy_mmxext),
(blit_packed422_scanline_c), (blit_packed422_scanline_mmx),
(blit_packed422_scanline_mmxext),
(composite_colour4444_alpha_to_packed422_scanline_c),
(composite_colour4444_alpha_to_packed422_scanline_mmxext),
(composite_packed4444_alpha_to_packed422_scanline_c),
(composite_packed4444_alpha_to_packed422_scanline_mmxext),
(composite_packed4444_to_packed422_scanline_c),
(composite_packed4444_to_packed422_scanline_mmxext),
(composite_alphamask_to_packed4444_scanline_c),
(composite_alphamask_to_packed4444_scanline_mmxext),
(composite_alphamask_alpha_to_packed4444_scanline_c),
(premultiply_packed4444_scanline_c),
(premultiply_packed4444_scanline_mmxext),
(blend_packed422_scanline_c), (blend_packed422_scanline_mmxext),
(quarter_blit_vertical_packed422_scanline_mmxext),
(quarter_blit_vertical_packed422_scanline_c),
(subpix_blit_vertical_packed422_scanline_c),
(a8_subpix_blit_scanline_c), (myround), (init_RGB_to_YCbCr_tables),
(init_YCbCr_to_RGB_tables), (rgb24_to_packed444_rec601_scanline_c),
(rgba32_to_packed4444_rec601_scanline_c),
(packed444_to_rgb24_rec601_scanline_c),
(packed444_to_nonpremultiplied_packed4444_scanline_c),
(aspect_adjust_packed4444_scanline_c), (setup_speedy_calls),
(speedy_get_accel):
* gst/deinterlace2/tvtime/speedy.h:
* gst/deinterlace2/tvtime/sse.h:
* gst/deinterlace2/tvtime/tomsmocomp.c: (Fieldcopy),
(deinterlace_frame_di_tomsmocomp), (dscaler_tomsmocomp_get_method),
(tomsmocomp_init), (tomsmocomp_filter_mmx),
(tomsmocomp_filter_3dnow), (tomsmocomp_filter_sse):
* gst/deinterlace2/tvtime/tomsmocomp.h:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoop0A.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopBottom.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopEdgeA.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopEdgeA8.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddA.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddA2.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddA6.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddAH.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopOddAH2.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopTop.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopVA.inc:
* gst/deinterlace2/tvtime/tomsmocomp/SearchLoopVAH.inc:
* gst/deinterlace2/tvtime/tomsmocomp/StrangeBob.inc:
* gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll.inc:
* gst/deinterlace2/tvtime/tomsmocomp/TomsMoCompAll2.inc:
* gst/deinterlace2/tvtime/tomsmocomp/WierdBob.inc:
* gst/deinterlace2/tvtime/vfir.c: (deinterlace_line),
(deinterlace_scanline_vfir), (copy_scanline),
(dscaler_vfir_get_method):
* gst/deinterlace2/tvtime/x86-64_macros.inc:
Add a deinterlacer plugin based on the tvtime/DScaler deinterlacer,
which was relicensed to LGPL for GStreamer and in theory provides
better and faster results than the simple deinterlace element.
Fixes bug #163578.
Ported to GStreamer 0.10 but still not enabled or included in the
build system by default because of bad artefacts caused by a bug
somewhere and as it can be only build on x86/amd64 ATM and requires
special CFLAGS. Will be fixed soon.
2009-05-13 10:33:54 +02:00
Sebastian Dröge
e93f784ee1 avidemux: Fix pointer arithmetic
This fixes a seeking regression, bug #134522.
2009-05-13 10:16:54 +02:00
Christian Schaller
121443eba7 [MOVED FROM BAD 57/57] Add ranks to various muxers and encoders in -bad 2009-05-12 21:21:03 +02:00
Tristan Matthews
95f52ab0d1 [MOVED FROM BAD 56/57] flvmux: init variable to NULL to fix compiler warning
Fixes #580786.
2009-05-12 21:21:02 +02:00
Sebastian Dröge
189838532b [MOVED FROM BAD 55/57] flv: Set/require the framed/parsed fields of the audio/mpeg caps to TRUE 2009-05-12 21:21:02 +02:00
Sebastian Dröge
609239d574 [MOVED FROM BAD 54/57] flv: Always write at least the minimal tags and write the PAR as tags 2009-05-12 21:21:02 +02:00
Sebastian Dröge
7ce9a89050 [MOVED FROM BAD 53/57] flv: Add support for muxing some tags 2009-05-12 21:21:02 +02:00
Sebastian Dröge
170294e976 [MOVED FROM BAD 52/57] flv: Add support for title tag 2009-05-12 21:21:02 +02:00
Sebastian Dröge
32c2364ff2 [MOVED FROM BAD 51/57] flv: Fix parsing of tags and add new mappings
We shouldn't register a new GstTag for every unknown tag
we find as this might lead to conflicts and also those
tags are essentially unknown.

Add mappings for some known tags and also convert string
dates to GDate, as found in many FLV files.
2009-05-12 21:21:02 +02:00
Sebastian Dröge
046311d3ea [MOVED FROM BAD 50/57] flv: Add documentation to flvmux and flvdemux
Partially fixes bug #573737.
2009-05-12 21:21:01 +02:00
Jan Urbanski
6d82cda0ff [MOVED FROM BAD 49/57] Add support for ECMA arrays in script tags. Fixes bug #567965.
Add support for ECMA arrays in script tags. This fixes
seeking on some files that have the seek table stored
inside an ECMA array instead of the normal array.
2009-05-12 21:21:01 +02:00
Sebastian Dröge
351a29c1df [MOVED FROM BAD 48/57] gst/flv/gstflvparse.c: Check if strings are valid UTF8 before using them.
Original commit message from CVS:
* gst/flv/gstflvparse.c: (FLV_GET_STRING):
Check if strings are valid UTF8 before using them.
2009-05-12 21:21:01 +02:00
Julien Moutte
d759265a51 [MOVED FROM BAD 47/57] gst/flv/gstflvdemux.c: Fix non key unit seeking by always going to the previous keyframe. Mark the discont flag when ...
Original commit message from CVS:
2008-11-24  Julien Moutte  <julien@fluendo.com>

* gst/flv/gstflvdemux.c: (gst_flv_demux_find_offset),
(gst_flv_demux_handle_seek_push),
(gst_flv_demux_handle_seek_pull):
Fix non key unit seeking by always going to the previous
keyframe. Mark
the discont flag when we've moved in the file.
* gst/flv/gstflvparse.c: (gst_flv_parse_audio_negotiate): MP3
streams
are parsed already, makes autoplugged pipelines shorter.
2009-05-12 21:21:00 +02:00