diff options
-rw-r--r-- | .hgsigs | 1 | ||||
-rw-r--r-- | .hgtags | 1 | ||||
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | po/libxine2.pot | 18 | ||||
-rw-r--r-- | src/combined/flac_demuxer.c | 3 | ||||
-rw-r--r-- | src/combined/xine_ogg_demuxer.c | 8 | ||||
-rw-r--r-- | src/demuxers/demux_flac.c | 4 | ||||
-rw-r--r-- | src/demuxers/demux_flv.c | 1 | ||||
-rw-r--r-- | src/demuxers/demux_mpgaudio.c | 4 | ||||
-rw-r--r-- | src/input/input_v4l.c | 19 |
10 files changed, 57 insertions, 12 deletions
@@ -2,3 +2,4 @@ 42358e16442fe54fa554006e0b0bafd51e065c32 0 iD8DBQBG0xz0zbwfTn7RbcARAoD3AJ4012pabmpQvCKKDokZNyZzfPIbWgCfRk5FRly/Eei/xXnSaT54XHAT5KM= 1dbf784bebc791266fcca02e917ee63034ac2e0b 0 iD8DBQBHgQ2mzbwfTn7RbcARArl9AKCslqZDrrm0GiU3IbBvcQVbOdSXlwCgyEMuHY2y/+T6WEeB2CXvCTs5ulI= b591d00fcd386cdd3779378c34b2d42b7504afc4 0 iD8DBQBHh5UfsBKtjPGfWZ8RAgvMAJ9xwnDNifmaobFYe2nR7+rJlLTkEQCgguGMqwqRZY68HWQXhEx918hp4Yg= +ae1e23df14223cdacf83df75b28b223895d658c2 0 iD8DBQBHm6SjsBKtjPGfWZ8RAi8HAKDAHmmLu8rwN5XJJPhfEofE7BTpsgCfTyNzku+v/PhqXgl4kQnRiB6nUSE= @@ -64,3 +64,4 @@ ab1531337553ad5eac24a69ac665eae33916b423 xine-lib-1_1_7-release e0a332b9d3e8bb3fad4d7feac1e519292b062056 xine-lib-1_1_8-release b6be674453e922114b55d4613cb197c77d19f094 xine-lib-1_1_9-release 9438947f88ad2bed1832385301c6b4e62709625a xine-lib-1_1_9_1-release +7f1232425c6d715c404e6df1292075b33ecb8305 xine-lib-1_1_10-release @@ -56,7 +56,11 @@ xine-lib (1.1.90) (Unreleased) active and thus it's no more usable. If you were using SyncFB somehow, please use DirectFB or VIDIX instead. -xine-lib (1.1.10) (unreleased) +xine-lib (1.1.10) 2008-01-26 + * Security fixes: + - Buffer overflow which allows a remote attacker to execute arbitrary + code or crash the client program via a crafted ASF header. + (Related to CVE-2006-1664) * Update Ogg and Annodex mimetypes and extensions. * Change the default v4l device paths to /dev/video0 and /dev/radio0. * Fix support for subtitles with schemes (e.g. http://), partly broken @@ -66,10 +70,10 @@ xine-lib (1.1.10) (unreleased) end authors should be careful with xine-lib older than 1.1.10. * Backported xine-config & libxine.pc from 1.2. Consequently, xine-config now requires pkg-config. - * Sanity-check ASF header sizes. This fixes a crash in the ASF demuxer, - caused by the example exploit given for CVE-2006-1664. * Don't discard audio samples forever. Fixed streaming playback. * Fix a possible crash on channel change in the DVB plugin. + * Flash video demuxer improvements and bug fixes. + * Make the V4L ALSA audio input device configurable. (This needs more work.) xine-lib (1.1.9.1) 2008-01-11 * Security fixes: diff --git a/po/libxine2.pot b/po/libxine2.pot index 9c05b9045..abf0bda62 100644 --- a/po/libxine2.pot +++ b/po/libxine2.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: xine-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-01-06 21:08+0000\n" +"POT-Creation-Date: 2008-01-26 23:28+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -2020,6 +2020,16 @@ msgid "" "Selects the TV standard of the input signals. Either: PAL, NTSC and SECAM. " msgstr "" +#: src/input/input_v4l.c:1941 +msgid "v4l ALSA audio input device" +msgstr "" + +#: src/input/input_v4l.c:1942 +msgid "" +"The name of the audio device which corresponds to your Video4Linux video " +"device." +msgstr "" + #: src/input/input_v4l.c:1946 msgid "v4l radio input plugin" msgstr "" @@ -2084,6 +2094,12 @@ msgstr "" msgid "rtsp_session: session can not be established.\n" msgstr "" +#: src/input/librtsp/rtsp_session.c:153 +msgid "" +"rtsp_session: rtsp server returned overly-large headers, session can not be " +"established.\n" +msgstr "" + #: src/input/librtsp/rtsp_session.c:159 #, c-format msgid "rtsp_session: rtsp server type '%s' not supported yet. sorry.\n" diff --git a/src/combined/flac_demuxer.c b/src/combined/flac_demuxer.c index bab42876c..22ee2319b 100644 --- a/src/combined/flac_demuxer.c +++ b/src/combined/flac_demuxer.c @@ -713,7 +713,8 @@ demux_flac_init_class (xine_t *xine, void *data) { this->demux_class.open_plugin = open_plugin; this->demux_class.description = N_("FLAC demux plugin"); this->demux_class.identifier = "FLAC"; - this->demux_class.mimetypes = "application/x-flac: flac: FLAC Audio;"; + this->demux_class.mimetypes = "application/x-flac: flac: FLAC Audio;" + "application/flac: flac: FLAC Audio;"; this->demux_class.extensions = "flac"; this->demux_class.dispose = default_demux_class_dispose; diff --git a/src/combined/xine_ogg_demuxer.c b/src/combined/xine_ogg_demuxer.c index e0610f5ca..b09bc1a41 100644 --- a/src/combined/xine_ogg_demuxer.c +++ b/src/combined/xine_ogg_demuxer.c @@ -2081,8 +2081,11 @@ static void *anx_init_class (xine_t *xine, void *data) { this->demux_class.identifier = "Annodex"; this->demux_class.mimetypes = "application/annodex: anx: Annodex media;" + "application/x-annodex: anx: Annodex media;" "audio/annodex: axa: Annodex audio;" - "video/annodex: axv: Annodex video;"; + "audio/x-annodex: axa: Annodex audio;" + "video/annodex: axv: Annodex video;" + "video/x-annodex: axv: Annodex video;"; this->demux_class.extensions = "anx axa axv"; this->demux_class.dispose = default_demux_class_dispose; @@ -2102,8 +2105,11 @@ static void *ogg_init_class (xine_t *xine, void *data) { this->demux_class.identifier = "OGG"; this->demux_class.mimetypes = "application/ogg: ogx: Ogg Stream;" + "application/x-ogg: ogx: Ogg Stream;" "audio/ogg: oga: Ogg Audio;" + "audio/x-ogg: oga: Ogg Audio;" "video/ogg: ogv: Ogg Video;"; + "video/x-ogg: ogv: Ogg Video;"; this->demux_class.extensions = "ogx ogv oga ogg spx ogm"; this->demux_class.dispose = default_demux_class_dispose; diff --git a/src/demuxers/demux_flac.c b/src/demuxers/demux_flac.c index b4c5427c5..40cd5d265 100644 --- a/src/demuxers/demux_flac.c +++ b/src/demuxers/demux_flac.c @@ -520,7 +520,9 @@ void *demux_flac_init_plugin (xine_t *xine, void *data) { this->demux_class.open_plugin = open_plugin; this->demux_class.description = N_("Free Lossless Audio Codec (flac) demux plugin"); this->demux_class.identifier = "FLAC"; - this->demux_class.mimetypes = NULL; + this->demux_class.mimetypes = + "audio/x-flac: flac: FLAC Audio;" + "audio/flac: flac: FLAC Audio;"; this->demux_class.extensions = "flac"; this->demux_class.dispose = default_demux_class_dispose; diff --git a/src/demuxers/demux_flv.c b/src/demuxers/demux_flv.c index a65702207..38855c027 100644 --- a/src/demuxers/demux_flv.c +++ b/src/demuxers/demux_flv.c @@ -908,4 +908,3 @@ const plugin_info_t xine_plugin_info[] EXPORTED = { { PLUGIN_DEMUX, 27, "flashvideo", XINE_VERSION_CODE, &demux_info_flv, init_plugin }, { PLUGIN_NONE, 0, "", 0, NULL, NULL } }; - diff --git a/src/demuxers/demux_mpgaudio.c b/src/demuxers/demux_mpgaudio.c index cf410eed8..79da40e36 100644 --- a/src/demuxers/demux_mpgaudio.c +++ b/src/demuxers/demux_mpgaudio.c @@ -591,14 +591,14 @@ static int parse_frame_payload(demux_mpgaudio_t *this, if (this->xing_header) { buf->free_buffer(buf); xprintf(this->stream->xine, XINE_VERBOSITY_LOG, - LOG_MODULE ": found Xing header at offset %PRId64\n", frame_pos); + LOG_MODULE ": found Xing header at offset %"PRId64"\n", frame_pos); return 1; } this->vbri_header = parse_vbri_header(&this->cur_frame, buf->content, this->cur_frame.size); if (this->vbri_header) { buf->free_buffer(buf); xprintf(this->stream->xine, XINE_VERBOSITY_LOG, - LOG_MODULE ": found Vbri header at offset %PRId64\n", frame_pos); + LOG_MODULE ": found Vbri header at offset %"PRId64"\n", frame_pos); return 1; } } diff --git a/src/input/input_v4l.c b/src/input/input_v4l.c index a8f387b3d..df0e0e48b 100644 --- a/src/input/input_v4l.c +++ b/src/input/input_v4l.c @@ -116,6 +116,9 @@ static const int tv_standard_values[] = { VIDEO_MODE_PAL, VIDEO_MODE_NTSC, VIDEO #define NUM_RESOLUTIONS (sizeof(resolutions)/sizeof(resolutions[0])) #define RADIO_DEV "/dev/radio0" #define VIDEO_DEV "/dev/video0" +#ifdef HAVE_ALSA +#define AUDIO_DEV "plughw:0,0" +#endif #if !defined(NDELAY) && defined(O_NDELAY) #define FNDELAY O_NDELAY @@ -1732,6 +1735,9 @@ static input_plugin_t *v4l_class_get_instance (input_class_t *cls_gen, { /* v4l_input_class_t *cls = (v4l_input_class_t *) cls_gen; */ v4l_input_plugin_t *this; +#ifdef HAVE_ALSA + cfg_entry_t *entry; +#endif char *mrl = strdup(data); /* Example mrl: v4l:/Television/62500 */ @@ -1752,13 +1758,14 @@ static input_plugin_t *v4l_class_get_instance (input_class_t *cls_gen, this->event_queue = NULL; this->scr = NULL; #ifdef HAVE_ALSA - this->pcm_name = NULL; this->pcm_data = NULL; this->pcm_hwparams = NULL; /* Audio */ this->pcm_stream = SND_PCM_STREAM_CAPTURE; - this->pcm_name = strdup("plughw:0,0"); + entry = this->stream->xine->config->lookup_entry(this->stream->xine->config, + "media.video4linux.audio_device"); + this->pcm_name = strdup (entry->str_value); this->audio_capture = 1; #endif this->rate = 44100; @@ -1928,6 +1935,14 @@ static void *init_video_class (xine_t *xine, void *data) _("Selects the TV standard of the input signals. " "Either: PAL, NTSC and SECAM. "), 20, NULL, NULL); +#ifdef HAVE_ALSA + config->register_filename (config, "media.video4linux.audio_device", + AUDIO_DEV, 0, + _("v4l ALSA audio input device"), + _("The name of the audio device which corresponds " + "to your Video4Linux video device."), + 10, NULL, NULL); +#endif return this; } |