- 16 Sep, 2011 24 commits
-
-
Max Kellermann authored
Copy the reason_phrase from the SoupMessage, and check for transport errors in the session callback.
-
Max Kellermann authored
Add GMutex, GCond attributes which will be used by callers to conditionally wait on the stream. Remove the (now-useless) plugin method buffer(), wait on GCond instead. Lock the input_stream before each method call. Do the same with the playlist plugins.
-
Max Kellermann authored
To check for errors without reading. The decoder thread wants to do that, before it passes the input stream to the plugin.
-
Max Kellermann authored
Fix memory leak.
-
Max Kellermann authored
libsoup's asynchronous API is not thread safe. By moving the calls into the I/O thread, several crash bugs will be fixed.
-
Max Kellermann authored
Add the "complete" attribute, and set it in _session_callback(). _close() waits for it to become true.
-
Max Kellermann authored
Add attribute postponed_error, pass this GError to the caller.
-
Max Kellermann authored
Fix deadlock.
-
Max Kellermann authored
We'll add proper locking now, and there's no need to carry this duplicate flag.
-
Max Kellermann authored
To report failures to callers who don't use _buffer().
-
Max Kellermann authored
Avoid recursive deadlock in _session_callback().
-
Max Kellermann authored
This was useless, because input_stream_read() blocks until data is available. Calling it in a loop doesn't make sense.
-
Max Kellermann authored
-
Max Kellermann authored
Pausing and resuming after every little chunk adds lots of overhead. Add a lower level for resuming the stream.
-
Max Kellermann authored
curl_easy_pause(CURLPAUSE_CONT) may have added enough data to go into pause again.
-
Max Kellermann authored
Call _update_fds() directly. This is possible because it's only called from within the I/O thread.
-
Max Kellermann authored
Fix deadlock.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Add -DNDEBUG to AM_CPPFLAGS.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 15 Sep, 2011 16 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
Conflicts: NEWS configure.ac
-
Max Kellermann authored
Let the codec start with fresh buffers. This should fix the remaining seeking issues.
-
Max Kellermann authored
Use AVStream.time_base to convert the decoder_seek_where() value, and pass the current stream number to av_seek_frame().
-
Max Kellermann authored
Use flag AV_TIME_BASE.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Code simplification.
-
Max Kellermann authored
Reduce heap usage by reducing the number of malloc() / free() calls.
-
Max Kellermann authored
The global data structures are now lock-free, because they are accessed only from the I/O thread. By using per-request locks, we have finer grained locking, preparing for locks shared with the client.
-
Max Kellermann authored
This adds some overheads for indirect calls to the I/O thread, but reduces the amount of global locks. Next step will be switching to per-request locks.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Move the assignment to _request_done(), right before the GCond is signalled. This might fix spurious wakeups.
-
Max Kellermann authored
-
Max Kellermann authored
This is a trivial function. Merge some duplicate code, e.g. the g_cond_broadcast() call.
-