Jean-Paul Saman [Mon, 8 Oct 2007 20:46:23 +0000 (20:46 +0000)]
Run FontBuilder thread after Freetype has been initialized and no error paths are can be taken. This should solve the crash reported by several people with the video title (or meta-name) appearing at start of the movie.
The freetype module starts another thread called FontBuilder and depending on timing this creates a crash or works allright. The crash is triggered by the font not being found. This patch tries to load the font first before the FontBuilder thread is started.
I was unable to reproduce the crash with the patch applied. Without the patch the crash is reproducable.
As discussed on the mailinglist the FontBuilder thread doesn't depend on the freetype initialisation and rearanging the order should do no harm.
Laurent Aimar [Mon, 8 Oct 2007 18:43:16 +0000 (18:43 +0000)]
Let the input handle *extra* meta data and attachments for flac audio.
(We still parse the flac meta data as a safety, in case taglib support is not there)
Laurent Aimar [Mon, 8 Oct 2007 18:30:11 +0000 (18:30 +0000)]
Es out now takes care of settings the audio replay gain from meta data
if the demuxer has not set them.
Added a demux2 control DEMUX_HAS_UNSUPPORTED_META.
A demuxer should return true only when the format support extra meta
data (id3/ap2/...) but it does not read them itself. The input will then
call a "meta reader" (demuxer modifications on the way).
Rafaël Carré [Mon, 8 Oct 2007 00:36:36 +0000 (00:36 +0000)]
audioscrobbler: use condition variables to be signaled when there are songs to be submitted.
checks if playlist has been stopped in the input "state" callback
holds the p_sys mutex only when writing/reading audioscrobbler_song_t data
Rafaël Carré [Sun, 7 Oct 2007 22:07:07 +0000 (22:07 +0000)]
audioscrobbler: rewrite for new protocol 1.2
allocate as much as we can on the stack, to avoid numerous malloc() & free()
fix memory leaks by the same way
metadata reading is now performed exclusively from the callbacks
don't use linked lists anymore, but a queue of a fixed size of 50 songs, i.e. the maximum we can transmit in one submission.
properly unloads the module when encountering a fatal error, like no username/pw, no memory, VLC being banned by last.fm servers ...
Rafaël Carré [Sun, 7 Oct 2007 17:54:41 +0000 (17:54 +0000)]
fix youtube lua probing, avoid infinite loops
homepage: use %? to represent '?'
other: probe is not successfull anymore for urls like http://10.0.0.1/get_video?xxxx&origin=youtube.com
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.