Commit graph

96 commits

Author SHA1 Message Date
Wim Taymans
b5df4f0e62 update for tag event change 2012-06-06 13:02:12 +02:00
Jens Georg
982c1b479f soup: Drop transferMode.dlna.org header
Leave it to the application to decide on the header. No header at all
is better than having the wrong header as DLNA mandates that a missing
header has to be tolerated while a wrong header is an error.

https://bugzilla.gnome.org/show_bug.cgi?id=676020
2012-05-28 15:22:55 +02:00
Tim-Philipp Müller
95f6e0dbe4 souphttpsrc: fix possible data corruption after seeking
Consider a downstream element that may issue seeks in very short
succession (e.g. queue2), depending on the access pattern of
the downstream element (e.g. qtdemux with audio/video chunks
interleaved so that there's always a sizeable gap between the
current chunks for each stream). In this case, queue2 will maintain
two ranges, and even when it serves a chunk from memory, it will
switch ranges and make souphttpsrc seek to the end of the available
data for that range, assuming that that's where we'll want to
continue reading from next.

This may lead to the following seek request pattern:

 - source reading position A
 - seek to B
 - now reading position still A, requested_postion is B
 - streaming thread to be restarted to continue from B
 - seek to A, before streaming thread had time to do the seek
 - do_seek() now sees reading position == seek position and
   returns early.
 - however, requested position is still B from the earlier
   seek request
 - streaming thread starts up, sees that a seek to B is pending
   and requests data from B from the server, while the GstBaseSrc
   segment has of course been updated/reset to position A, which
   was the last seek request.
 - we will now send data for position B and pretend that's the
   data from position A (via the newsegment event, etc.)
 - this causes data corruption

Reproducible doing seek-emulated fast-forward/backward on 006648.
2012-05-16 08:31:15 +01:00
Bastien Nocera
933986fccc soup: Handle icy and icyx URI schemes
As handled by QuickTime (for icy), and Orban/Coding Technologies
AAC/aacPlus Player (for icyx). See also:
https://bugzilla.gnome.org/show_bug.cgi?id=394207
https://bugzilla.gnome.org/show_bug.cgi?id=403285

https://bugzilla.gnome.org/show_bug.cgi?id=673899
2012-04-23 15:34:54 +02:00
Tim-Philipp Müller
e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Sebastian Dröge
aa2cd462da gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
Sebastian Dröge
5cdd49bf25 gst: Update versioning 2012-04-04 14:37:47 +02:00
Wim Taymans
88733ea2f8 soup: fix caps 2012-02-07 10:30:28 +01:00
Wim Taymans
bb2bd604e0 update for HEADER flag 2012-01-30 17:16:51 +01:00
Wim Taymans
b4630dd3e0 more memory API porting 2012-01-25 12:30:29 +01:00
Tim-Philipp Müller
7cb9b7ab9d Use new GLib API unconditionally 2012-01-22 23:15:19 +00:00
Wim Taymans
1584806634 port to new gthread API 2012-01-19 11:33:53 +01:00
Sebastian Dröge
e3c8c4f8b0 souphttpsrc: Fix buffer handling
souphttpsrc is now usable again and doesn't crash anymore
whenever something is read from a HTTP connection.
2012-01-11 14:10:46 +01:00
Sebastian Dröge
93e3ed5a86 Merge branch 'master' into 0.11
Conflicts:
	ext/cairo/gsttextoverlay.c
	ext/pulse/pulseaudiosink.c
	gst/audioparsers/gstaacparse.c
	gst/avi/gstavimux.c
	gst/flv/gstflvmux.c
	gst/interleave/interleave.c
	gst/isomp4/gstqtmux.c
	gst/matroska/matroska-demux.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-mux.h
	gst/matroska/matroska-read-common.c
	gst/multifile/gstmultifilesink.c
	gst/multipart/multipartmux.c
	gst/shapewipe/gstshapewipe.c
	gst/smpte/gstsmpte.c
	gst/udp/gstmultiudpsink.c
	gst/videobox/gstvideobox.c
	gst/videocrop/gstaspectratiocrop.c
	gst/videomixer/videomixer.c
	gst/videomixer/videomixer2.c
	gst/wavparse/gstwavparse.c
	po/ja.po
	po/lv.po
	po/sr.po
	tests/check/Makefile.am
	tests/check/elements/qtmux.c
	tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Wim Taymans
5fd2b7abe3 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:26:21 +01:00
Tim-Philipp Müller
330d984288 Use g_thread_try_new() instead of g_thread_crate() with newer glib versions 2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
66f6e12888 Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
5bb4dcd89c soup: fix start/stop race in souphttpclientsink
Fix crash or hang in generic/states unit test when doing stop()
right after start(). Create main loop in the start function already
and not just in the thread function, so that stop() always has a
valid main loop to quit on. Also, calling g_main_loop_quit() before
g_main_loop_run() won't work and result in the stop function waiting
for the thread to join forever. Therefore, wait for the thread to
be ready and get the main loop running in the start() function, to
be sure stop() always works.
2011-12-11 17:24:20 +00:00
Wim Taymans
1538803ac4 update for basesink event handler changes 2011-12-02 22:25:17 +01:00
Vincent Penquerc'h
c0e101e93f various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Tim-Philipp Müller
2cfb92f253 souphttpsrc: get rid of iradio-* properties, post tags instead 2011-11-24 01:45:43 +00:00
Tim-Philipp Müller
3f7c432869 souphttpsrc: always send icecast request header, drop iradio-mode property
Server should ignore unknown/unhandled headers..
2011-11-24 01:41:34 +00:00
Tim-Philipp Müller
c27bbe4be2 Update for GstURIHandler get_protocols() changes 2011-11-13 23:44:44 +00:00
Tim-Philipp Müller
a150d1e734 soup, pushfile, rtsp, udp, v4l2: update for GstURIHandler API changes 2011-11-13 18:50:51 +00:00
Wim Taymans
e038ab5a0b tags: update for tag API removal 2011-11-02 12:09:20 +01:00
Tim-Philipp Müller
9cd17092d8 ext, gst: update for taglist API changes 2011-10-30 11:44:53 +00:00
Wim Taymans
87fbd1e784 Merge branch 'master' into 0.11
Conflicts:
	common
	ext/pulse/pulsesink.c
	ext/soup/gstsouphttpclientsink.c
	gst/audioparsers/gstaacparse.c
	gst/audioparsers/gstac3parse.c
	gst/rtp/gstrtph264depay.c
	gst/rtpmanager/gstrtpjitterbuffer.c
	gst/rtpmanager/rtpjitterbuffer.c
	gst/rtsp/gstrtspsrc.c
	sys/ximage/gstximagesrc.c
2011-09-28 12:44:59 +02:00
Tim-Philipp Müller
3828537857 soup: rename souphttpsink to souphttpclientsink
To avoid confusion, and because we might want a server
sink at some point too.

https://bugzilla.gnome.org/show_bug.cgi?id=659947
2011-09-25 15:13:39 +01:00
Tim-Philipp Müller
be7cbd4c21 souphttpsink: don't create unused second sink pad object
The base class will create the sink pad.
2011-09-23 16:39:46 +01:00
Konstantin Miller
24d002e04d souphttpsrc: Don't handle HTTP response 407 as error if proxy authentication data is available
Fixes bug #657422.
2011-09-07 13:28:45 +02:00
Wim Taymans
33f18b8ea4 Merge branch 'master' into 0.11
Conflicts:
	gst/audioparsers/gstamrparse.c
	gst/isomp4/qtdemux.c
2011-09-06 16:06:25 +02:00
Sebastian Dröge
7b592ff126 souphttpsrc: Allow positive, non-1.0 segment rates
Only negative rates are not supported. Fixes bug #658305.
2011-09-06 10:34:35 +02:00
Wim Taymans
85d7fe14b2 soup: port soup elements to 0.11 2011-08-29 18:02:15 +02:00
Wim Taymans
77ad0a1363 port more elements to new audio caps and API 2011-08-19 14:01:45 +02:00
David Schleef
6d8d08eac7 souphttpsink: code cleanup 2011-06-04 13:43:28 -07:00
Sebastian Dröge
e376913fc3 souphttpsink: Fix refcounting of the "session" property
Properties should never take ownership of the values
passed to them.
2011-06-02 10:41:52 +02:00
David Schleef
3937abf999 soup: Add souphttpsink 2011-06-01 17:19:02 -07:00
Andoni Morales Alastruey
b2fb4edcb7 souphttpsrc: Add URI query handler
Fixes bug #642337.
2011-02-15 09:44:01 +01:00
Sebastian Dröge
6a93725292 souphttpsrc: Don't send seeks behind the end of file to the server
Also improve debug output, re-initialize the content size and let the
seek handler error out on invalid seek segments.

Fixes bug #632977.
2010-12-02 19:18:02 +01:00
Stefan Kost
45f6707784 various (ext): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 17:39:36 +03:00
Tim-Philipp Müller
c0bd590ce3 soup: init debug category before using it 2010-09-24 14:06:31 +01:00
Edward Hervey
bc9fb6ad83 souphttpsrc: Fix debug statement 2010-09-21 11:52:54 +02:00
Tim-Philipp Müller
020e0dcc1e soup: hook up i18n bits for plugin
Call bindtextdomain() etc.
2010-09-12 14:54:20 +01:00
Tim-Philipp Müller
9dfad52a79 soup: fix error messages
Error messages should be translated. URIs and filenames should not
be part of the error message string that's shown to the user.
soup_message->reason_phrase is not translated and not suitable as
error message for users (see libsoup documentation). Also fix up
error codes a bit, as far as possible with the existing codes.
2010-09-12 14:54:20 +01:00
David Hoyt
d011e96028 souphttpsrc: Improve error messages
Before they contained the URL before the actual failure. The other
way around makes more sense and we do the same in other elements
like filesrc.

Fixes bug #627289.
2010-09-04 14:52:07 +02:00
Edward Hervey
9d77bcfb29 souphttpsrc: Set the Content-Type HTTP header on the caps.
First step to fixing ShoutCast (NSV) streaming.
2010-03-23 19:48:24 +01:00
Benjamin Otte
3f511ec361 Add -Wwrite-strings to the configure flags
... and fix all warnings
2010-03-21 14:17:47 +01:00
Benjamin Otte
cccfeaa59c gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 14:32:00 +01:00
Benjamin Otte
1055aaa9cb Add -Wredundant-decls warning flag
Also fix compile issues
2010-03-17 19:35:10 +01:00
Stefan Kost
b892d23090 soup: also use g_value_set_static_string() here for static strings 2010-03-16 23:41:43 +02:00