Commit graph

171 commits

Author SHA1 Message Date
Sebastian Dröge
f3fa6f6de0 rmdemux: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS() 2010-09-04 14:57:51 +02:00
Tim-Philipp Müller
6f5dabb71f rmdemux: fix compiler warning when debugging system in core is disabled 2010-06-24 18:03:21 +01:00
Sebastian Dröge
602fb1319a configure: Update required GLib version to 2.20 2010-06-14 16:59:25 +02:00
Wim Taymans
2c469df530 rmdemux: pass bitrate on caps
Set the bitrate on the caps, some decoders like sipro need this to function
properly.

Fixes #620007
2010-06-05 14:13:02 +02:00
Wim Taymans
4044046ac1 rmdemux: add better sipr nibble swap routine 2010-05-14 16:02:47 +02:00
Wim Taymans
a68951f0bb rmdemux: descramble SIPR before pushing out
Collect and descramble the SIPR packets before pushing.
Descramble ATRAC audio.

Fixes #618098
2010-05-13 17:57:57 +02:00
Wim Taymans
0b73505c61 rm: add function to descramble sipr 2010-05-13 17:57:02 +02:00
Tim-Philipp Müller
d7dc396878 rtspreal: use GLib's base64 functions if available
Since gst_rtsp_base64_decode_ip() just got deprecated in -base git.
2010-04-30 19:53:15 +01:00
Руслан Ижбулатов
49c5383c71 Fix pointer type.
Fixes #613815
2010-03-24 19:01:34 +01:00
Sebastian Dröge
c88c88de0d build: Add all kinds of compiler warning flags and fix the resulting warnings 2010-03-24 11:27:40 +01:00
Benjamin Otte
9850bd814f gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 15:53:14 +01:00
Tim-Philipp Müller
efc5181d13 rtspreal: don't construct config header with uninitialised bytes
Turns out 4 + 4 + 2 + (4 * 2) is actually 18 and not 22. This avoids
a presumably unintentional padding of uninitialised bytes at the end
of the CONT tags chunk, which should be harmless but causes warnings
in valgrind (see #608533 for a test URL).
2010-01-31 13:03:58 +00:00
Tim-Philipp Müller
cd6b16734e rtspreal: add finalize function so we can free streams and rulebook
Fix memory leak in Real RTSP component (#608533).
2010-01-30 19:15:15 +00:00
Tim-Philipp Müller
4cb5f32308 rtspreal: fix minor memory leak
Caps take their own reference when a buffer is added to them, so
unref buffer after adding it to caps (#608533).
2010-01-30 19:15:15 +00:00
Tim-Philipp Müller
29c509a7b8 rdtdepay: unref input buffer when done
Fixes memory leak, see #608533.
2010-01-30 19:15:15 +00:00
Thiago Santos
6dd3525806 rmdemux: Parse and post bitrate for streams
Parse the bitrate of the streams and post their tags.

Fixes #599299
2010-01-07 16:36:08 -03:00
Wim Taymans
3784de031d rmutils: fix byteswapping
fix the byteswapping code that was wrong because of the side effects of the
READ/WRITE macros.

Fixes #599676
2009-10-27 12:33:24 +01:00
Stefan Kost
d125baa8c5 build: fprintf, sprintf, sscanf need stdio.h 2009-10-07 14:22:09 +03:00
Mark Nauwelaerts
095c8eb5d4 rmdemux: plug buffer leaking 2009-06-22 19:10:15 +02:00
Tim-Philipp Müller
0e285b3d29 x264enc, rdtmanager: fix compilation with debugging disabled 2009-06-19 15:01:46 +01:00
Edward Hervey
29b34e049c rmdemux: Actually return the return value for the seek handling. 2009-04-21 20:37:19 +02:00
Edward Hervey
c1cd90eb57 rmdemux: Remove dead assignment, value is being overwritten before being read. 2009-04-19 13:59:24 +02:00
Edward Hervey
2a892f5856 rmdemux: Remove unused accurate flag.
I couldn't see any reason why this was there in the first place.
2009-04-19 13:58:31 +02:00
Edward Hervey
2190ad3962 realmedia: Remove dead assignments. The results are never read. 2009-04-19 13:57:59 +02:00
Edward Hervey
0d32a3703d realmedia: Remove useless variables, only being used once (or not). 2009-04-19 13:57:10 +02:00
Edward Hervey
ac0e11e55c remove empty method implementations. 2009-04-19 13:55:24 +02:00
Josep Torra
8258daf87c realmedia: add special Real header to DESCRIBE message only for Real
servers

Add headers that are specific to real only if a real server had been
detected by the OPTIONS message.
2009-04-15 11:09:56 +02:00
Tim-Philipp Müller
18e79995af realmedia: add special Real header to SETUP message only for Real servers
Fixes playback of Windows Media RTSP streams and other non-Real RTSP
streams where the server errors out because it can't handle the
Real-specific 'Required: com.real.retain-entity-for-setup' header
we've been adding unconditionally in the recent past.

For reference:
rtsp://66.111.34.191:601/broadcast/alnour.rm
rtsp://195.134.224.231/snowboard_100.wmv
2009-04-09 20:21:46 +01:00
Wim Taymans
1731c58b9b realrtsp: add more headers
Parse the ETag from the describe method and pass the sessionid as the value for
the If-Match header is subsequent setup calls.
Fixes support for more RealMedia RTSP streams.
2009-03-25 16:39:06 +01:00
Jan Schmidt
b510f2ab6b rmdemux: Fix strict-aliasing warnings.
Use existing GST_READ_UINT32 and GST_WRITE_UINT32 macros instead of
hand-rolled ones.
2009-03-04 16:52:59 +00:00
Wim Taymans
d99f4c9756 rtspreal: ignore data streams. Fixes #527112
Ignore data streams when parsing the SDP as they don't contain anything we need
to put in the realmedia header.
2009-02-25 18:23:55 +01:00
Edward Hervey
96d35e0819 Fix indentation. 2009-02-22 14:22:30 +01:00
Edward Hervey
52e30c1b33 pnmsrc: Error out gracefully if location is NULL. Run gst-indent 2009-02-22 14:21:22 +01:00
Wim Taymans
da28d1620e Add pnm:// uri source
Add a new utri handler for pnm:// that for now just redirects to the same uri
with the rtsp:// protocol, which usually works nowadays.

Separate the registration of the various plugins into a separate source file.
2009-02-20 15:53:34 +01:00
Roland Moser
c42e090acc Fix parsing of the flags in rmdemux
Fix parsing of the flags in version 1 realmedia streams.
Fixes #571358.
2009-02-18 12:55:16 +01:00
Wim Taymans
2dbb5a3923 Set flags on the realmedia chunks
Set the keyframe flags from the RDT packet to the realmedia chunk so that the
descrambler can be reset on keyframes. Fixes #556714.
2009-01-26 20:12:41 +01:00
Wim Taymans
9ce447007e Add method to get RDT flags
Add a method to get the RDT flags. We need these flags to mark keyframes to
reset the descrambing queue. See #556714.
2009-01-26 20:10:36 +01:00
Wim Taymans
5aa3023505 gst/realmedia/rmdemux.c: Add suport for mpeg4 and aac audio. See #556714.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
(gst_rmdemux_descramble_mp4a_audio),
(gst_rmdemux_handle_scrambled_packet):
Add suport for mpeg4 and aac audio. See #556714.
2008-10-24 12:47:05 +00:00
Stefan Kost
793cdeb880 Don't install static libs for plugins. Fixes #550851 for ugly.
Original commit message from CVS:
* ext/a52dec/Makefile.am:
* ext/amrnb/Makefile.am:
* ext/cdio/Makefile.am:
* ext/dvdnav/Makefile.am:
* ext/dvdread/Makefile.am:
* ext/lame/Makefile.am:
* ext/mad/Makefile.am:
* ext/mpeg2dec/Makefile.am:
* ext/sidplay/Makefile.am:
* gst/ac3parse/Makefile.am:
* gst/asfdemux/Makefile.am:
* gst/dvdlpcmdec/Makefile.am:
* gst/dvdsub/Makefile.am:
* gst/iec958/Makefile.am:
* gst/mpegaudioparse/Makefile.am:
* gst/mpegstream/Makefile.am:
* gst/realmedia/Makefile.am:
* gst/synaesthesia/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for ugly.
2008-10-13 18:10:25 +00:00
Wim Taymans
ff1503f5cf gst/realmedia/rdtdepay.*: Parse other values from the incomming caps.
Original commit message from CVS:
* gst/realmedia/rdtdepay.c: (gst_rdt_depay_init),
(gst_rdt_depay_setcaps), (gst_rdt_depay_sink_event),
(create_segment_event), (gst_rdt_depay_push),
(gst_rdt_depay_handle_data), (gst_rdt_depay_change_state):
* gst/realmedia/rdtdepay.h:
Parse other values from the incomming caps.
Add event handler to handle flushing and segments.
Create segment events.
* gst/realmedia/rdtjitterbuffer.c: (rdt_jitter_buffer_insert):
Do skew correction based on RDT timestamps.
* gst/realmedia/rdtmanager.c: (activate_session),
(gst_rdt_manager_parse_caps), (gst_rdt_manager_setcaps),
(create_recv_rtp):
Parse caps to get the clockrate needed for the jitterbuffer.
* gst/realmedia/rmdemux.c: (gst_rmdemux_parse_video_packet):
Apply timestamp fixup after correcting for initial timestamp and
internal base timestamp corrections.
2008-08-27 15:55:05 +00:00
Wim Taymans
35b3e2b596 gst/realmedia/rdtdepay.*: Check seqnum gaps and drop duplicate packets or mark outgoing buffers with a DISCONT flag w...
Original commit message from CVS:
* gst/realmedia/rdtdepay.c: (gst_rdt_depay_handle_data),
(gst_rdt_depay_change_state):
* gst/realmedia/rdtdepay.h:
Check seqnum gaps and drop duplicate packets or mark outgoing buffers
with a DISCONT flag when needed.
* gst/realmedia/rdtmanager.c: (gst_rdt_manager_query_src):
Report the configure latency instead of a hardcoded value.
2008-08-27 11:28:50 +00:00
Wim Taymans
541aad907e gst/realmedia/rdtmanager.c: Include the new rdt jitterbuffer in the session manager.
Original commit message from CVS:
* gst/realmedia/rdtmanager.c: (create_session), (activate_session),
(free_session), (gst_rdt_manager_query_src),
(gst_rdt_manager_src_activate_push),
(gst_rdt_manager_handle_data_packet), (gst_rdt_manager_chain_rdt),
(gst_rdt_manager_loop), (create_recv_rtp):
Include the new rdt jitterbuffer in the session manager.
2008-08-27 10:02:06 +00:00
Wim Taymans
6367c03a1d gst/realmedia/rdtdepay.*: Use new RDT parsing helper functions.
Original commit message from CVS:
* gst/realmedia/rdtdepay.c: (gst_rdt_depay_class_init),
(gst_rdt_depay_finalize), (gst_rdt_depay_setcaps),
(gst_rdt_depay_push), (gst_rdt_depay_handle_data),
(gst_rdt_depay_chain), (gst_rdt_depay_change_state):
* gst/realmedia/rdtdepay.h:
Use new RDT parsing helper functions.
Copy discont flags correctly.
Push the header from the chain function instead of the setcaps function.
Copy incomming timestamp to the output buffers instead of doing magic
with the RDT timestamps.
2008-08-27 09:58:00 +00:00
Wim Taymans
6fb8002cab gst/realmedia/: Add first support for parsing RDT messages.
Original commit message from CVS:
* gst/realmedia/Makefile.am:
* gst/realmedia/gstrdtbuffer.c: (gst_rdt_buffer_validate_data),
(gst_rdt_buffer_validate), (gst_rdt_buffer_get_packet_count),
(read_packet_header), (gst_rdt_buffer_get_first_packet),
(gst_rdt_packet_move_to_next), (gst_rdt_packet_get_type),
(gst_rdt_packet_get_length), (gst_rdt_packet_to_buffer),
(gst_rdt_buffer_compare_seqnum), (gst_rdt_packet_data_get_seq),
(gst_rdt_packet_data_peek_data),
(gst_rdt_packet_data_get_stream_id),
(gst_rdt_packet_data_get_timestamp):
* gst/realmedia/gstrdtbuffer.h:
Add first support for parsing RDT messages.
* gst/realmedia/rdtjitterbuffer.c: (rdt_jitter_buffer_class_init),
(rdt_jitter_buffer_init), (rdt_jitter_buffer_finalize),
(rdt_jitter_buffer_new), (rdt_jitter_buffer_reset_skew),
(calculate_skew), (rdt_jitter_buffer_insert),
(rdt_jitter_buffer_pop), (rdt_jitter_buffer_peek),
(rdt_jitter_buffer_flush), (rdt_jitter_buffer_num_packets),
(rdt_jitter_buffer_get_ts_diff):
* gst/realmedia/rdtjitterbuffer.h:
Add first version of an RDT jitterbuffer.
2008-08-27 09:52:49 +00:00
Wim Taymans
82a84e69e5 gst/realmedia/rmdemux.*: Keep track of the first timestamp of the stream and add this to the outgoing buffer timestam...
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_init),
(find_seek_offset_time), (gst_rmdemux_reset), (gst_rmdemux_chain),
(gst_rmdemux_parse_mdpr), (gst_rmdemux_descramble_cook_audio),
(gst_rmdemux_descramble_dnet_audio),
(gst_rmdemux_parse_video_packet), (gst_rmdemux_parse_audio_packet):
* gst/realmedia/rmdemux.h:
Keep track of the first timestamp of the stream and add this to the
outgoing buffer timestamps so that we can handle live streams.
Set discont flag on the first buffers and after a seek.
2008-08-27 09:47:17 +00:00
Stefan Kost
c49cf83ee3 Add missing elements to docs. Restore alphabetical order in section file. Document mad (it was included in docs alrea...
Original commit message from CVS:
* docs/plugins/gst-plugins-ugly-plugins-docs.sgml:
* docs/plugins/gst-plugins-ugly-plugins-sections.txt:
* ext/a52dec/gsta52dec.c:
* ext/amrnb/amrnbdec.c:
* ext/amrnb/amrnbenc.c:
* ext/amrnb/amrnbparse.c:
* ext/lame/gstlame.c:
* ext/mad/gstmad.c:
* ext/sidplay/gstsiddec.cc:
* gst/asfdemux/gstrtspwms.c:
* gst/mpegaudioparse/gstxingmux.c:
* gst/realmedia/rademux.c:
* gst/realmedia/rdtmanager.c:
* gst/realmedia/rtspreal.c:
* gst/synaesthesia/gstsynaesthesia.c:
Add missing elements to docs. Restore alphabetical order in section
file. Document mad (it was included in docs already).
Fix doc-markup: use convinience syntax for examples
(produces valid docbook), add several refsec2 when we have several
titles. Fix some types.
2008-06-13 06:57:21 +00:00
Wim Taymans
a40deba0ce gst/realmedia/rmdemux.c: Flush timestamp correction variables on a flush. Fixes #533832.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_send_event):
Flush timestamp correction variables on a flush. Fixes #533832.
2008-05-19 10:23:46 +00:00
Edward Hervey
826629a9b0 gst/realmedia/rmdemux.c: Properly aggregate GstFlowReturn from downstream in order to properly stop, and doing that a...
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_parse_video_packet):
Properly aggregate GstFlowReturn from downstream in order to properly
stop, and doing that as early as possible.
Fixes #532807
2008-05-13 09:33:09 +00:00
Wim Taymans
701fcfc4e5 gst/realmedia/rmdemux.c: Fix video timestamps by adjusting it with the first timestamp found.
Original commit message from CVS:
* gst/realmedia/rmdemux.c: (gst_rmdemux_parse_mdpr),
(gst_rmdemux_fix_timestamp), (gst_rmdemux_parse_video_packet),
(gst_rmdemux_parse_audio_packet), (gst_rmdemux_parse_packet):
Fix video timestamps by adjusting it with the first timestamp found.
Don't assume we have a complete fragment when flushing the adapter,
packets might have been lost or the stream might just be broken.
2008-05-06 17:53:26 +00:00
Wim Taymans
67f91efd05 gst/realmedia/rdtmanager.c: Set Rank to NONE so that we don't accidentally try to autoplug the rdtmanager.
Original commit message from CVS:
* gst/realmedia/rdtmanager.c: (gst_rdt_manager_plugin_init):
Set Rank to NONE so that we don't accidentally try to autoplug the
rdtmanager.
2008-05-06 10:30:18 +00:00