From 363725aa0aa39e58487e8ab326a0f0e11fc9af1f Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sun, 14 Mar 2010 15:29:21 +0000 Subject: Mention pkg-config, not xine-config. --- doc/hackersguide/internals.sgml | 2 +- doc/hackersguide/library.sgml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/hackersguide/internals.sgml b/doc/hackersguide/internals.sgml index 58a5a3c37..5e0cd9349 100644 --- a/doc/hackersguide/internals.sgml +++ b/doc/hackersguide/internals.sgml @@ -161,7 +161,7 @@ The default value for XINE_PLUGINDIR can be obtained using the - xine-config --plugindir command. + pkg-config --variable=plugindir libxine command. diff --git a/doc/hackersguide/library.sgml b/doc/hackersguide/library.sgml index eb51baaaf..8f53d1556 100644 --- a/doc/hackersguide/library.sgml +++ b/doc/hackersguide/library.sgml @@ -69,7 +69,7 @@ */ /* - * compile-command: "gcc -Wall -O2 `xine-config --cflags` `xine-config --libs` -L/usr/X11R6/lib -lX11 -lm -o xinimin xinimin.c" + * compile-command: "gcc -Wall -O2 `pkg-config --cflags --libs libxine x11` -lm -o xinimin xinimin.c" */ #include <stdio.h> -- cgit v1.2.3 From 5ab1244679a09fd257c364b4ff2380ee0ae3dc0b Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Mon, 22 Mar 2010 14:46:58 +0000 Subject: Update the logo image (URL); remove the MPEG version. --- misc/xine_logo.mpv | Bin 28921 -> 0 bytes misc/xine_logo.png | Bin 44337 -> 46172 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 misc/xine_logo.mpv diff --git a/misc/xine_logo.mpv b/misc/xine_logo.mpv deleted file mode 100644 index dba01c40f..000000000 Binary files a/misc/xine_logo.mpv and /dev/null differ diff --git a/misc/xine_logo.png b/misc/xine_logo.png index 7e555ae3d..0604f1873 100644 Binary files a/misc/xine_logo.png and b/misc/xine_logo.png differ -- cgit v1.2.3 From 06b540dccb1ba1800e196a150026896fa1527e09 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Mon, 22 Mar 2010 14:58:39 +0000 Subject: Move the logo image into misc/logo; add an SVG containing the text (as a path). --HG-- rename : misc/xine_logo.png => misc/logo/xine_logo.png --- misc/Makefile.am | 1 + misc/logo/xine_logo.png | Bin 0 -> 46172 bytes misc/logo/xine_logo_text.svg | 72 +++++++++++++++++++++++++++++++++++++++++++ misc/xine_logo.png | Bin 46172 -> 0 bytes 4 files changed, 73 insertions(+) create mode 100644 misc/logo/xine_logo.png create mode 100644 misc/logo/xine_logo_text.svg delete mode 100644 misc/xine_logo.png diff --git a/misc/Makefile.am b/misc/Makefile.am index 7f7e8db7c..f6c362d13 100644 --- a/misc/Makefile.am +++ b/misc/Makefile.am @@ -12,6 +12,7 @@ EXTRA_DIST = build_rpms.sh \ xine-lib.spec.in \ xine-lib.spec \ libxine.pc.in \ + logo/xine_logo_text.svg \ libdvdcss-1.2.6-network.patch \ Makefile.plugins.in \ Makefile.common diff --git a/misc/logo/xine_logo.png b/misc/logo/xine_logo.png new file mode 100644 index 000000000..0604f1873 Binary files /dev/null and b/misc/logo/xine_logo.png differ diff --git a/misc/logo/xine_logo_text.svg b/misc/logo/xine_logo_text.svg new file mode 100644 index 000000000..ad3f8e3b6 --- /dev/null +++ b/misc/logo/xine_logo_text.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/misc/xine_logo.png b/misc/xine_logo.png deleted file mode 100644 index 0604f1873..000000000 Binary files a/misc/xine_logo.png and /dev/null differ -- cgit v1.2.3 From 44cb6424859b9410db18bb75d9f10489b238358b Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Mon, 22 Mar 2010 20:11:49 +0000 Subject: Add support for Ogg tag 'DISCNUMBER' and ID3 tag 'TPOS'. --- ChangeLog | 1 + include/xine.h.in | 2 ++ src/demuxers/demux_ogg.c | 1 + src/demuxers/id3.c | 8 ++++++++ 4 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index 7a7c3656e..c572604c0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,7 @@ xine-lib (1.1.19) 2010-??-?? * Handle odd widths properly (for ffmpeg-decoded video). * Make buildable with current (external) libdvdnav & libdvdread. * Fix V4L2 check. + * Add support for Ogg tag 'DISCNUMBER' and ID3 tag 'TPOS'. xine-lib (1.1.18.1) 2010-03-06 * Oops. compat.c (for DXR3 support) was omitted. diff --git a/include/xine.h.in b/include/xine.h.in index 0a3121bee..3fcd5c4ec 100644 --- a/include/xine.h.in +++ b/include/xine.h.in @@ -1008,6 +1008,8 @@ const char *xine_get_meta_info (xine_stream_t *stream, int info) XINE_PROTECTE #define XINE_META_INFO_PART 23 #define XINE_META_INFO_PARTNUMBER 24 #define XINE_META_INFO_LOCATION 25 +/* post-1.1.18.1 */ +#define XINE_META_INFO_DISCNUMBER 26 /********************************************************************* diff --git a/src/demuxers/demux_ogg.c b/src/demuxers/demux_ogg.c index 1be5c0dcf..573baa593 100644 --- a/src/demuxers/demux_ogg.c +++ b/src/demuxers/demux_ogg.c @@ -426,6 +426,7 @@ static const struct ogg_meta { OGG_META (ARTIST, 0), OGG_META (PUBLISHER, 0), OGG_META (COPYRIGHT, 0), + OGG_META (DISCNUMBER, 0), OGG_META (LICENSE, 0), OGG_META (TITLE, 0), OGG_META_L (TRACKNUMBER, 0, TRACK_NUMBER), diff --git a/src/demuxers/id3.c b/src/demuxers/id3.c index 15599ffea..755decaf4 100644 --- a/src/demuxers/id3.c +++ b/src/demuxers/id3.c @@ -525,6 +525,10 @@ static int id3v23_interp_frame(input_plugin_t *input, _x_meta_info_set(stream, XINE_META_INFO_TRACK_NUMBER, buf + 1); break; + case FOURCC_TAG('T', 'P', 'O', 'S'): + _x_meta_info_set(stream, XINE_META_INFO_DISCNUMBER, buf + 1); + break; + default: lprintf("unhandled frame\n"); } @@ -783,6 +787,10 @@ static int id3v24_interp_frame(input_plugin_t *input, _x_meta_info_set(stream, XINE_META_INFO_TRACK_NUMBER, buf + 1); break; + case FOURCC_TAG('T', 'P', 'O', 'S'): + _x_meta_info_set(stream, XINE_META_INFO_DISCNUMBER, buf + 1); + break; + default: lprintf("unhandled frame\n"); } -- cgit v1.2.3 From 7b59e87707f4796d9399721abe643cfd1c9ec1c1 Mon Sep 17 00:00:00 2001 From: Kelvie Wong Date: Sat, 20 Mar 2010 23:52:51 -0700 Subject: demux: Fix the pts values for the TrueAudio demux This makes seeking more accurate, I believe. --- src/demuxers/demux_tta.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/demuxers/demux_tta.c b/src/demuxers/demux_tta.c index 7462cd874..03d15045d 100644 --- a/src/demuxers/demux_tta.c +++ b/src/demuxers/demux_tta.c @@ -129,7 +129,7 @@ static int demux_tta_send_chunk(demux_plugin_t *this_gen) { /* Get a buffer */ buf = this->audio_fifo->buffer_pool_alloc(this->audio_fifo); buf->type = BUF_AUDIO_TTA; - buf->pts = 0; + buf->pts = (int64_t)(FRAME_TIME * this->currentframe) * 90000; buf->extra_info->total_time = (int)(le2me_32(this->header.tta.data_length) * 1000.0 / le2me_32(this->header.tta.samplerate)); /* milliseconds */ buf->decoder_flags = 0; @@ -231,6 +231,7 @@ static int demux_tta_seek (demux_plugin_t *this_gen, demux_tta_t *this = (demux_tta_t *) this_gen; uint32_t start_frame; uint32_t frame_index; + int64_t pts; off_t start_off = this->datastart; /* if thread is not running, initialize demuxer */ @@ -244,10 +245,14 @@ static int demux_tta_seek (demux_plugin_t *this_gen, } else { /* Get the starting frame */ - if( start_pos ) + if( start_pos ) { + pts = start_pos * le2me_32(this->header.tta.data_length) * 1000.0 / le2me_32(this->header.tta.samplerate) * 90 / 65535; start_frame = start_pos * this->totalframes / 65535; - else + + } else { + pts = start_time * 90; start_frame = (uint32_t)((double)start_time/ 1000.0 / FRAME_TIME); + } /* Now we find the offset */ for( frame_index = 0; frame_index < start_frame; frame_index++ ) @@ -258,7 +263,7 @@ static int demux_tta_seek (demux_plugin_t *this_gen, _x_demux_flush_engine(this->stream); this->input->seek(this->input, start_off, SEEK_SET); this->currentframe = start_frame; - _x_demux_control_newpts(this->stream, (int)(FRAME_TIME * start_frame) * 90000, BUF_FLAG_SEEK); + _x_demux_control_newpts(this->stream, pts, BUF_FLAG_SEEK); this->status = DEMUX_OK; } -- cgit v1.2.3 From b362fde1e91190d1988b4a1aea7b453fe6d72bc6 Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Tue, 23 Mar 2010 14:08:03 +0200 Subject: Fixed using uninitialized decode_buffer_size --- src/combined/ffmpeg/ff_audio_decoder.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/combined/ffmpeg/ff_audio_decoder.c b/src/combined/ffmpeg/ff_audio_decoder.c index 26e1ac168..125eff12c 100644 --- a/src/combined/ffmpeg/ff_audio_decoder.c +++ b/src/combined/ffmpeg/ff_audio_decoder.c @@ -285,6 +285,7 @@ static void ff_audio_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) if (!this->output_open) { if (!this->audio_bits || !this->audio_sample_rate || !this->audio_channels) { + decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE; avcodec_decode_audio2 (this->context, (int16_t *)this->decode_buffer, &decode_buffer_size, -- cgit v1.2.3 From 0b9d995c38b188a6e1e899f43a0dc318d67099a2 Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Tue, 23 Mar 2010 14:11:09 +0200 Subject: Added new audio buffer type (EAC3) --- ChangeLog | 1 + configure.ac | 3 ++- src/combined/ffmpeg/ffmpeg_decoder.c | 3 +++ src/combined/ffmpeg/xine_audio.list | 1 + src/xine-engine/buffer.h | 1 + src/xine-engine/buffer_types.c | 7 +++++++ 6 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index c572604c0..481a11c9f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,7 @@ xine-lib (1.1.19) 2010-??-?? * Make buildable with current (external) libdvdnav & libdvdread. * Fix V4L2 check. * Add support for Ogg tag 'DISCNUMBER' and ID3 tag 'TPOS'. + * Add support for EAC3. xine-lib (1.1.18.1) 2010-03-06 * Oops. compat.c (for DXR3 support) was omitted. diff --git a/configure.ac b/configure.ac index 3c7830113..76f3f65a1 100644 --- a/configure.ac +++ b/configure.ac @@ -411,7 +411,7 @@ for ucname in $ffmpeg_uncommon_codecs; do done dnl popular ffmpeg codecs -ffmpeg_popular_codecs="CINEPAK FLASHSV H261 H263 H263I H264 INDEO2 INDEO3 MJPEG MJPEGB MPEG1VIDEO MPEG2VIDEO MPEG4 MPEGVIDEO MSMPEG4V1 MSMPEG4V2 MSMPEG4V3 MSRLE MSVIDEO1 QTRLE RV10 RV20 SVQ1 SVQ3 VC1 VP3 VP5 VP6 VP6F WMV1 WMV2 WMV3 COOK DTS FLAC MP2 MP3 QDM2 RA_144 RA_288 WAVPACK WMAV1 WMAV2 WMAPRO ADPCM_SWF" +ffmpeg_popular_codecs="CINEPAK FLASHSV H261 H263 H263I H264 INDEO2 INDEO3 MJPEG MJPEGB MPEG1VIDEO MPEG2VIDEO MPEG4 MPEGVIDEO MSMPEG4V1 MSMPEG4V2 MSMPEG4V3 MSRLE MSVIDEO1 QTRLE RV10 RV20 SVQ1 SVQ3 VC1 VP3 VP5 VP6 VP6F WMV1 WMV2 WMV3 COOK DTS EAC3 FLAC MP2 MP3 QDM2 RA_144 RA_288 WAVPACK WMAV1 WMAV2 WMAPRO ADPCM_SWF" for ucname in $ffmpeg_popular_codecs; do config_name="CONFIG_${ucname}_DECODER" @@ -3029,6 +3029,7 @@ echo " - MS ADPCM - IMA ADPCM" echo " - XA ADPCM - Game DPCM/ADPCM" echo " - Mace 3:13 - Mace 6:1" echo " - FLAC" +echo " - E-AC-3" if test "x$enable_nosefart" != "xno"; then echo " - Nosefart (NSF)" fi diff --git a/src/combined/ffmpeg/ffmpeg_decoder.c b/src/combined/ffmpeg/ffmpeg_decoder.c index 6d0bfa432..b50633053 100644 --- a/src/combined/ffmpeg/ffmpeg_decoder.c +++ b/src/combined/ffmpeg/ffmpeg_decoder.c @@ -180,6 +180,9 @@ void avcodec_register_all(void) REGISTER_DECODER(AC3, ac3); #endif REGISTER_ENCODER(AC3, ac3); +#ifdef CODEC_ID_EAC3 + REGISTER_DECODER(EAC3, eac3); +#endif REGISTER_DECODER(ALAC, alac); #if defined(CONFIG_AMR_NB) || defined(CONFIG_AMR_NB_FIXED) REGISTER_ENCDEC (AMR_NB, amr_nb); diff --git a/src/combined/ffmpeg/xine_audio.list b/src/combined/ffmpeg/xine_audio.list index 9ec727bf1..5daa4d8b0 100644 --- a/src/combined/ffmpeg/xine_audio.list +++ b/src/combined/ffmpeg/xine_audio.list @@ -41,6 +41,7 @@ FLVADPCM ADPCM_SWF Flash ADPCM WAVPACK WAVPACK WavPack AMR_NB AMR_NB AMR narrow band AMR_WB AMR_WB AMR wide band +EAC3 EAC3 E-AC-3 # disabled codecs (ref. configure.ac) ! AAC diff --git a/src/xine-engine/buffer.h b/src/xine-engine/buffer.h index 3b25c732e..034f6552a 100644 --- a/src/xine-engine/buffer.h +++ b/src/xine-engine/buffer.h @@ -260,6 +260,7 @@ extern "C" { #define BUF_AUDIO_MP3ADU 0x033E0000 #define BUF_AUDIO_AMR_NB 0x033F0000 #define BUF_AUDIO_AMR_WB 0x03400000 +#define BUF_AUDIO_EAC3 0x03410000 /* spu buffer types: */ diff --git a/src/xine-engine/buffer_types.c b/src/xine-engine/buffer_types.c index 33a09b907..1db073851 100644 --- a/src/xine-engine/buffer_types.c +++ b/src/xine-engine/buffer_types.c @@ -1176,6 +1176,13 @@ static const audio_db_t audio_db[] = { BUF_AUDIO_TTA, "True Audio Lossless" }, +{ + { + 0 + }, + BUF_AUDIO_EAC3, + "E-AC-3" +}, { { 0 }, 0, "last entry" } }; -- cgit v1.2.3 From 74853b910cfd296eb0fea43394a3819e803c46b9 Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Tue, 23 Mar 2010 15:01:48 +0200 Subject: Demux EAC3 audio from matroska (Sample: http://samples.mplayerhq.hu/Matroska/H264%2bEAC3.mkv ) --- src/demuxers/demux_matroska.c | 5 +++++ src/demuxers/matroska.h | 1 + 2 files changed, 6 insertions(+) diff --git a/src/demuxers/demux_matroska.c b/src/demuxers/demux_matroska.c index 94f47db44..dd1f15fa6 100644 --- a/src/demuxers/demux_matroska.c +++ b/src/demuxers/demux_matroska.c @@ -1350,6 +1350,11 @@ static int parse_track_entry(demux_matroska_t *this, matroska_track_t *track) { track->buf_type = BUF_AUDIO_A52; init_codec = init_codec_audio; + } else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_A_EAC3)) { + lprintf("MATROSKA_CODEC_ID_A_EAC3\n"); + track->buf_type = BUF_AUDIO_EAC3; + init_codec = init_codec_audio; + } else if (!strcmp(track->codec_id, MATROSKA_CODEC_ID_A_DTS)) { lprintf("MATROSKA_CODEC_ID_A_DTS\n"); track->buf_type = BUF_AUDIO_DTS; diff --git a/src/demuxers/matroska.h b/src/demuxers/matroska.h index 0a8226319..3cafc6441 100644 --- a/src/demuxers/matroska.h +++ b/src/demuxers/matroska.h @@ -320,6 +320,7 @@ struct matroska_track_s { #define MATROSKA_CODEC_ID_A_PCM_INT_LE "A_PCM/INT/LIT" #define MATROSKA_CODEC_ID_A_PCM_FLOAT "A_PCM/FLOAT/IEEE" #define MATROSKA_CODEC_ID_A_AC3 "A_AC3" +#define MATROSKA_CODEC_ID_A_EAC3 "A_EAC3" #define MATROSKA_CODEC_ID_A_DTS "A_DTS" #define MATROSKA_CODEC_ID_A_VORBIS "A_VORBIS" #define MATROSKA_CODEC_ID_A_ACM "A_MS/ACM" -- cgit v1.2.3