@@ -, +, @@ --- po/de.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/po/de.po +++ a/po/de.po @@ -21728,7 +21728,7 @@ msgstr "Wiedergabeliste" #: modules/gui/qt4/menus.cpp:482 msgid "Ctrl+L" -msgstr "Strg+L" +msgstr "Ctrl+L" #: modules/gui/qt4/menus.cpp:485 msgid "Docked Playlist" @@ -21740,7 +21740,7 @@ msgstr "Mi&nimale Ansicht" #: modules/gui/qt4/menus.cpp:497 msgid "Ctrl+H" -msgstr "Strg+H" +msgstr "Ctrl+H" #: modules/gui/qt4/menus.cpp:506 msgid "&Fullscreen Interface" -- --- modules/mux/ogg.c | 1 + 1 file changed, 1 insertion(+) --- a/modules/mux/ogg.c +++ a/modules/mux/ogg.c @@ -989,6 +989,7 @@ static int MuxBlock( sout_mux_t *p_mux, sout_input_t *p_input ) op.b_o_s = 0; op.e_o_s = 0; op.packetno = p_stream->i_packet_no++; + op.granulepos = -1; if( p_stream->i_cat == AUDIO_ES ) { -- --- modules/gui/qt4/components/preferences_widgets.cpp | 14 +++++++------- modules/gui/qt4/util/customwidgets.cpp | 4 ++-- modules/gui/qt4/util/customwidgets.hpp | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) --- a/modules/gui/qt4/components/preferences_widgets.cpp +++ a/modules/gui/qt4/components/preferences_widgets.cpp @@ -1228,11 +1228,11 @@ void KeySelectorControl::finish() treeItem->setData( ACTION_COL, Qt::UserRole, QVariant( qfu( p_config_item->psz_name ) ) ); - QString keys = qfu( p_config_item->value.psz ); + QString keys = qfu(p_config_item->value.psz ? _(p_config_item->value.psz) : ""); treeItem->setText( HOTKEY_COL, keys ); treeItem->setToolTip( HOTKEY_COL, qtr("Double click to change.\nDelete key to remove.") ); treeItem->setToolTip( GLOBAL_HOTKEY_COL, qtr("Double click to change.\nDelete key to remove.") ); - treeItem->setData( HOTKEY_COL, Qt::UserRole, QVariant( keys ) ); + treeItem->setData( HOTKEY_COL, Qt::UserRole, QVariant( p_config_item->value.psz ) ); table->addTopLevelItem( treeItem ); continue; } @@ -1313,7 +1313,7 @@ void KeySelectorControl::selectKey( QTreeWidgetItem *keyItem, int column ) if( d->result() == QDialog::Accepted ) { - QString newKey = VLCKeyToString( d->keyValue ); + QString newKey = VLCKeyToString( d->keyValue, false ); /* In case of conflict, reset other keys*/ if( d->conflicts ) @@ -1331,7 +1331,7 @@ void KeySelectorControl::selectKey( QTreeWidgetItem *keyItem, int column ) } } - keyItem->setText( column, newKey ); + keyItem->setText( column, VLCKeyToString( d->keyValue, true ) ); keyItem->setData( column, Qt::UserRole, newKey ); } else if( d->result() == 2 ) @@ -1448,7 +1448,7 @@ void KeyInputDialog::setExistingkeysSet( const QSet *keyset ) void KeyInputDialog::checkForConflicts( int i_vlckey, const QString &sequence ) { QList conflictList = - table->findItems( VLCKeyToString( i_vlckey ), Qt::MatchExactly, + table->findItems( VLCKeyToString( i_vlckey, true ), Qt::MatchExactly, b_global ? 2 : 1 ); if( conflictList.count() && @@ -1491,7 +1491,7 @@ void KeyInputDialog::keyPressEvent( QKeyEvent *e ) int i_vlck = qtEventToVLCKey( e ); QKeySequence sequence( e->key() | e->modifiers() ); selected->setText( qtr( "Key or combination: " ) - + QString("%1").arg( VLCKeyToString( i_vlck ) ) ); + + QString("%1").arg( VLCKeyToString( i_vlck, true ) ) ); checkForConflicts( i_vlck, sequence.toString() ); keyValue = i_vlck; } @@ -1499,7 +1499,7 @@ void KeyInputDialog::keyPressEvent( QKeyEvent *e ) void KeyInputDialog::wheelEvent( QWheelEvent *e ) { int i_vlck = qtWheelEventToVLCKey( e ); - selected->setText( qtr( "Key: " ) + VLCKeyToString( i_vlck ) ); + selected->setText( qtr( "Key: " ) + VLCKeyToString( i_vlck, true ) ); checkForConflicts( i_vlck, QString() ); keyValue = i_vlck; } --- a/modules/gui/qt4/util/customwidgets.cpp +++ a/modules/gui/qt4/util/customwidgets.cpp @@ -287,9 +287,9 @@ int qtWheelEventToVLCKey( QWheelEvent *e ) return i_vlck; } -QString VLCKeyToString( unsigned val ) +QString VLCKeyToString( unsigned val, bool locale ) { - char *base = vlc_keycode2str (val, true); + char *base = vlc_keycode2str (val, locale); if (base == NULL) return qtr( "Unset" ); --- a/modules/gui/qt4/util/customwidgets.hpp +++ a/modules/gui/qt4/util/customwidgets.hpp @@ -167,6 +167,6 @@ class QInputEvent; int qtKeyModifiersToVLC( QInputEvent* e ); int qtEventToVLCKey( QKeyEvent *e ); int qtWheelEventToVLCKey( QWheelEvent *e ); -QString VLCKeyToString( unsigned val ); +QString VLCKeyToString( unsigned val, bool ); #endif -- --- modules/gui/qt4/components/controller_widget.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/modules/gui/qt4/components/controller_widget.cpp +++ a/modules/gui/qt4/components/controller_widget.cpp @@ -64,7 +64,7 @@ SoundWidget::SoundWidget( QWidget *_parent, intf_thread_t * _p_intf, volumeControlWidget = NULL; /* And add the label */ - layout->addWidget( volMuteLabel, 0, Qt::AlignBottom ); + layout->addWidget( volMuteLabel, 0, b_shiny? Qt::AlignBottom : Qt::AlignCenter ); } else { @@ -105,7 +105,7 @@ SoundWidget::SoundWidget( QWidget *_parent, intf_thread_t * _p_intf, if( b_special ) subLayout->addWidget( volumeSlider ); else - layout->addWidget( volumeSlider, 0, Qt::AlignBottom ); + layout->addWidget( volumeSlider, 0, b_shiny? Qt::AlignBottom : Qt::AlignCenter ); /* Set the volume from the config */ float volume = playlist_VolumeGet( THEPL ); -- use 0 as time when encoding --- modules/codec/avcodec/encoder.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) --- a/modules/codec/avcodec/encoder.c +++ a/modules/codec/avcodec/encoder.c @@ -1149,12 +1149,17 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf ) AVPacket packet = {0}; avcodec_get_frame_defaults( p_sys->frame ); p_sys->frame->format = p_sys->p_context->sample_fmt; - p_sys->frame->pts = date_Get( &p_sys->buffer_date ); p_sys->frame->nb_samples = leftover_samples + p_sys->i_samples_delay; - date_Increment( &p_sys->buffer_date, p_sys->i_frame_size ); + if( unlikely( p_aout_buf && ( p_aout_buf->i_pts > VLC_TS_INVALID ) && + (p_aout_buf->i_pts != date_Get( &p_sys->buffer_date ) ) ) ) + date_Set( &p_sys->buffer_date, p_aout_buf->i_pts ); + + p_sys->frame->pts = date_Get( &p_sys->buffer_date ); + date_Increment( &p_sys->buffer_date, p_sys->i_frame_size ); if( likely( p_aout_buf ) ) { + p_aout_buf->i_nb_samples -= leftover_samples; memcpy( p_sys->p_buffer+buffer_delay, p_aout_buf->p_buffer, leftover ); @@ -1169,6 +1174,7 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf ) p_aout_buf->i_buffer -= leftover; p_aout_buf->i_pts = date_Get( &p_sys->buffer_date ); } + if(unlikely( ( (leftover + buffer_delay) < p_sys->i_buffer_out ) && !(p_sys->p_codec->capabilities & CODEC_CAP_SMALL_LAST_FRAME )) ) @@ -1254,10 +1260,6 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf ) const int align = 1; #endif - if( unlikely( p_aout_buf->i_pts > VLC_TS_INVALID && - p_aout_buf->i_pts != date_Get( &p_sys->buffer_date ) ) ) - date_Set( &p_sys->buffer_date, p_aout_buf->i_pts ); - avcodec_get_frame_defaults( p_sys->frame ); if( p_sys->b_variable ) p_sys->frame->nb_samples = p_aout_buf->i_nb_samples; -- (cherry picked from commit af762f811d4ed34a883bc2003f4c70e18f66965e) --- modules/stream_out/transcode/audio.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) --- a/modules/stream_out/transcode/audio.c +++ a/modules/stream_out/transcode/audio.c @@ -216,8 +216,13 @@ int transcode_audio_process( sout_stream_t *p_stream, if( p_sys->b_master_sync ) { mtime_t i_pts = date_Get( &id->interpolated_pts ) + 1; - mtime_t i_drift = p_audio_buf->i_pts - i_pts; - if (i_drift > MASTER_SYNC_MAX_DRIFT || i_drift < -MASTER_SYNC_MAX_DRIFT) + mtime_t i_drift = 0; + + if( likely( p_audio_buf->i_pts != VLC_TS_INVALID ) ) + i_drift = p_audio_buf->i_pts - i_pts; + + if ( unlikely(i_drift > MASTER_SYNC_MAX_DRIFT + || i_drift < -MASTER_SYNC_MAX_DRIFT) ) { msg_Dbg( p_stream, "drift is too high (%"PRId64"), resetting master sync", @@ -225,7 +230,8 @@ int transcode_audio_process( sout_stream_t *p_stream, date_Set( &id->interpolated_pts, p_audio_buf->i_pts ); i_pts = p_audio_buf->i_pts + 1; } - p_sys->i_master_drift = p_audio_buf->i_pts - i_pts; + if( likely(p_audio_buf->i_pts != VLC_TS_INVALID ) ) + p_sys->i_master_drift = p_audio_buf->i_pts - i_pts; date_Increment( &id->interpolated_pts, p_audio_buf->i_nb_samples ); p_audio_buf->i_pts = i_pts; } -- --- share/lua/intf/modules/httprequests.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/share/lua/intf/modules/httprequests.lua +++ a/share/lua/intf/modules/httprequests.lua @@ -52,7 +52,6 @@ function strsplit(text, delimiter) end local i=1 while 1 do - i=i+1 local first, last = strfind(text, delimiter, pos) if first then -- found? tinsert(list,i, strsub(text, pos, first-1)) @@ -61,6 +60,7 @@ function strsplit(text, delimiter) tinsert(list,i, strsub(text, pos)) break end + i = i+1 end return list end -- (close #9139) --- configure.ac | 5 ----- 1 file changed, 5 deletions(-) --- a/configure.ac +++ a/configure.ac @@ -189,16 +189,11 @@ case "${host_os}" in [AS_HELP_STRING([--with-macosx-version-min=VERSION], [compile for Mac OS X VERSION and above])]) if test "${with_macosx_version_min}" != "" ; then - MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min} CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}" CC="${CC} -mmacosx-version-min=${with_macosx_version_min}" CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}" OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}" LD="${LD} -mmacosx_version_min=${with_macosx_version_min}" - CFLAGS="${CFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" - CXXFLAGS="${CXXFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" - OBJCFLAGS="${OBJCFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" - export MACOSX_DEPLOYMENT_TARGET fi ;; *mingw32* | *cygwin* | *wince* | *mingwce*) -- --- contrib/src/zvbi/rules.mak | 3 +++ contrib/src/zvbi/zvbi-fix-clang-support.patch | 30 +++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 contrib/src/zvbi/zvbi-fix-clang-support.patch --- a/contrib/src/zvbi/rules.mak +++ a/contrib/src/zvbi/rules.mak @@ -20,6 +20,9 @@ zvbi: zvbi-$(ZVBI_VERSION).tar.bz2 .sum-zvbi ifdef HAVE_WIN32 $(APPLY) $(SRC)/zvbi/zvbi-win32.patch endif +ifdef HAVE_DARWIN_OS + $(APPLY) $(SRC)/zvbi/zvbi-fix-clang-support.patch +endif $(MOVE) DEPS_zvbi = pthreads iconv $(DEPS_iconv) --- a/contrib/src/zvbi/zvbi-fix-clang-support.patch +++ a/contrib/src/zvbi/zvbi-fix-clang-support.patch @@ -0,0 +1,30 @@ +diff -ru zvbi/src/misc.h zvbi-fixed/src/misc.h +--- zvbi/src/misc.h 2013-07-02 04:32:31.000000000 +0200 @@ -1772,7 +1772,7 @@ static void EsOutSelect( es_out_t *out, es_out_id_t *es, bool b_force ) LanguageArrayIndex( p_sys->ppsz_audio_language, p_sys->p_es_audio->psz_language_code ); if( es_idx >= 0 && - ( es_idx < selected_es_idx || + ( selected_es_idx < 0 || es_idx < selected_es_idx || ( es_idx == selected_es_idx && p_sys->p_es_audio->fmt.i_priority < es->fmt.i_priority ) ) ) i_wanted = es->i_channel; @@ -1823,7 +1823,7 @@ static void EsOutSelect( es_out_t *out, es_out_id_t *es, bool b_force ) p_sys->p_es_sub->psz_language_code ); if( es_idx >= 0 && - ( es_idx < selected_es_idx || + ( selected_es_idx < 0 || es_idx < selected_es_idx || ( es_idx == selected_es_idx && p_sys->p_es_sub->fmt.i_priority < es->fmt.i_priority ) ) ) i_wanted = es->i_channel; --