Rafaël Carré [Thu, 4 Oct 2007 03:44:34 +0000 (03:44 +0000)]
demuxers: remove the need for input_thread_t by using the new "meta-preparsed" input variable.
tta & ffmpeg: remove unneeded "meta reader" loading
tta didn't use anyway, and ffmpeg uses information from libavcodec
Rafaël Carré [Thu, 4 Oct 2007 02:57:18 +0000 (02:57 +0000)]
freetype: fix a segfault introduced in [21339]
FcConfigSetCurrent( p_sys->p_fontconfig ) is useless since we already use that configuration, and it will destroy it.
So, when we want to destroy it again when freetype module is closed, CRASH.
Laurent Aimar [Wed, 3 Oct 2007 22:24:11 +0000 (22:24 +0000)]
Added a "meta-preparsed" input variable. A demuxer can test it by
var_CreateGetBool( p_demux, "meta-preparsed" )
(The demuxer should NOT overwrite it)
subtitle: do not look for p_input when not necessary.
Rafaël Carré [Wed, 3 Oct 2007 16:13:04 +0000 (16:13 +0000)]
taglib: Supports in ogg/vorbis base64 encoded embedded album art with COVERARTMIME & COVERART comments.
Use TagLib namespace for better code readability.
demuxers: Adds attachments support for ogg.
Fix potential memleaks.
- Heavily simplify the MPJPEG mux (closes #1188); please test.
- Remove configurable boundary that had never been working anyway (did not match the original value from MUX_GET_MIME)
Rafaël Carré [Tue, 2 Oct 2007 02:11:11 +0000 (02:11 +0000)]
taglib: support for id3v2 embedded album art
the only demuxer supported is mpga, other demuxers should be updated if they demux files that can have id3v2 tags
fix some bugs in flac & ogg demuxers
Remove the HTTP interface thread, and save 20 wakeups per seconds.
The idle HTTP interace is down from 30 to 10 wakeups/s (I think the remaining ones are due to HTTPd core).
- Do not release the input while we did not yield it...
- Really yield the input (and release it) on a need-basis in the HTTP handler rather than in a custom thread. This is probably not thread-safe, but it's less unsafe than the previous code anyway.
This makes the HTTP interface thread very much useless, niark niark
Find the playlist once *before* starting.
LibVLC always creates the (singleton) playlist before the interfaces anyway.
Besides, the HTTP interface callbacks assumes the playlist is yield.
This removes one of two reasons for running the damn HTTP interface thread.
Added a INPUT_GET_VIDEO_FPS (get the fps of the main video, should works with
input slave) Untested.
media_instance.c no longer depends on input_internal.h
Clean up a bit es_out pause handling.
Fixed DEMUX_GET_FPS description (double not float)
Partial fix for media instance. (It was using input_control_e intead of
input_query_e).
Btw input_internal.h is an internal header for src/input/* ONLY.
If input/control/* need it, then it is BROKEN (or there is a missing
functionnality, just ask for it then)
I see it calling demux2_Control, this will segfault if you are unlucky.
Accessing directly to p_input->p member is also forbidden.
Partial unfinished pipes conditional fallback for condition variables.
This would be necessary to rid the networking code of arbitrary timers (but it does not work yet).
Added const wheen needed for stream_Peek (demuxer/access)
Made demux2_IsPathExtension case insensitive.
Used demux2_IsPathExtension/p_demux->b_force when appropriate
Fixed a regression in flac demuxer (segfault when reading meta data)
Added a VLC_UNUSED(x) macro to avoid seeing ugly (void)x around the code.
Improved a bit a few vlc_common.h macro (do {} while(0))
Hide object reference counter.
Good news is, no plugins used it anyway.
Bad news is, some parts of libvlc still use which is wrong (i_refcount is protected by the "structure lock", meaning only misc/objects.c functions can use it safely).