[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#767971: unblock: vlc/2.2.0~rc1-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

I'd like to upload vlc 2.2.0~rc-1 to unstable for inclusion in jessie
after 2.2.0~pre4-2 migrated. This is request to pre-approve the changes
between 2.2.0~pre4-2 and vlc 2.2.0~rc-1.

2.2.0~rc1 is a bug fix and translation update release if one ignores all
the noise coming from Mac OS X, Windows and OS/2 only changes. It
includes fixes for plenty of heap buffer overflows ([1], [2], [3], [4],
[5] and probably more). I'd prefer to update vlc to this upstream
release instead of backporting those fixed to 2.2.0~pre4.

2.2.0~rc1 now also correctly builds and installs the sftp access plugin.
debian/vlc-nox.install.in has been changed accordingly.

Please find attached a filtered debdiff against 2.2.0~pre4-2 with
diffstat

 ChangeLog                                |  976 ++++++++++++++++++++++++++++++
 NEWS                                     |   10
 configure.ac                             |    9
 debian/changelog                         |    7
 debian/vlc-nox.install.in                |    1
 doc/ChangeLog-2014                       |  994 +++++++++++++++++++++++++++++++
 include/vlc/libvlc_media_player.h        |    5
 include/vlc_es.h                         |    5
 include/vlc_input.h                      |    5
 include/vlc_probe.h                      |    2
 lib/core.c                               |    4
 lib/media_list_player.c                  |    8
 lib/media_player.c                       |    3
 modules/audio_output/pulse.c             |   95 --
 modules/codec/avcodec/audio.c            |    6
 modules/codec/avcodec/avcommon.h         |    3
 modules/codec/libass.c                   |    6
 modules/codec/mft.c                      |    3
 modules/codec/omxil/android_mediacodec.c |   22
 modules/codec/png.c                      |    4
 modules/codec/zvbi.c                     |    4
 modules/demux/asf/asf.c                  |   10
 modules/demux/asf/libasf.c               |   24
 modules/demux/asf/libasf.h               |    4
 modules/demux/avi/libavi.c               |   11
 modules/demux/mjpeg.c                    |    5
 modules/demux/mp4/libmp4.c               |  117 ++-
 modules/demux/mp4/libmp4.h               |    6
 modules/demux/mp4/mp4.c                  |   24
 modules/demux/ogg.c                      |   31
 modules/demux/ps.h                       |    8
 modules/demux/tta.c                      |    4
 modules/hw/vdpau/deinterlace.c           |    1
 modules/video_chroma/swscale.c           |   54 +
 modules/video_output/caca.c              |    4
 modules/video_output/msw/win32touch.c    |    2
 src/revision.c                           |    2
 src/revision.txt                         |    2
 src/video_output/video_output.c          |   11
 39 files changed, 2267 insertions(+), 225 deletions(-)

The diffstat of the parts filtered from the debdiff is as follows (with
comments):

 contrib/src/ffmpeg/rules.mak                       |    4 +-
 contrib/src/freetype2/rules.mak                    |    2 +-
 contrib/src/gnutls/rules.mak                       |    2 +
 contrib/src/gpg-error/SHA512SUMS                   |    2 +-
 contrib/src/gpg-error/gpgerror-android.patch       |   14 -
 contrib/src/gpg-error/rules.mak                    |    3 +-
 contrib/src/opus/rules.mak                         |    2 +-
 contrib/src/sparkle/SHA512SUMS                     |    2 +-
 contrib/src/sparkle/rules.mak                      |    2 -
 contrib/src/speex/rules.mak                        |    5 +-
 contrib/src/speexdsp/rules.mak                     |    9 +-
 contrib/src/vpx/rules.mak                          |   11 +-

(Not used in Debian)

 Makefile.am                                        |  407 ++-
 bin/winvlc.c                                       |    3 +
 modules/common.am                                  |    3 +-
 modules/gui/macosx/CompatibilityFixes.h            |    6 +-
 modules/gui/macosx/ControlsBar.m                   |  246 +-
 modules/gui/macosx/MainWindow.h                    |    3 +-
 modules/gui/macosx/MainWindow.m                    |   80 +-
 modules/gui/macosx/MainWindowTitle.h               |   19 +-
 modules/gui/macosx/MainWindowTitle.m               |  202 +-
 modules/gui/macosx/Makefile.in                     |   12 +-
 modules/gui/macosx/SPMediaKeyTap.m                 |    1 -
 modules/gui/macosx/StringUtility.h                 |    8 +-
 modules/gui/macosx/StringUtility.m                 |   23 +-
 modules/gui/macosx/Windows.h                       |    5 +-
 modules/gui/macosx/Windows.m                       |   18 +-
 modules/gui/macosx/about.m                         |   11 +-
 modules/gui/macosx/fspanel.m                       |   28 +-
 modules/gui/macosx/intf.h                          |    3 +-
 modules/gui/macosx/intf.m                          |   30 +-
 modules/gui/macosx/misc.m                          |   12 +-
 modules/gui/macosx/open.h                          |    8 +-
 modules/gui/macosx/open.m                          |   10 +-
 modules/gui/macosx/playlist.m                      |   89 +-
 modules/gui/macosx_dialog_provider/Makefile.in     |   12 +-
 modules/gui/minimal_macosx/Makefile.in             |   12 +-
 modules/video_output/msw/win32touch.c              |    2 +-
 extras/package/ios/build.sh                        |   81 +-
 .../macosx/Resources/English.lproj/About.xib       | 3119 +++++++++-----------
 .../Resources/English.lproj/BWQuincyMain.xib       | 1573 ++++++++++
 .../macosx/Resources/English.lproj/MainWindow.xib  |   83 +-
 .../fspanel-yosemite/ys-fs_background.png          |  Bin 0 -> 3286 bytes
 .../fspanel-yosemite/ys-fs_background@2x.png       |  Bin 0 -> 4163 bytes
 .../fspanel-yosemite/ys-fs_exit_fullscreen.png     |  Bin 0 -> 2997 bytes
 .../fspanel-yosemite/ys-fs_exit_fullscreen@2x.png  |  Bin 0 -> 3168 bytes
 .../ys-fs_exit_fullscreen_highlight.png            |  Bin 0 -> 2998 bytes
 .../ys-fs_exit_fullscreen_highlight@2x.png         |  Bin 0 -> 3176 bytes
 .../Resources/fspanel-yosemite/ys-fs_forward.png   |  Bin 0 -> 3015 bytes
 .../fspanel-yosemite/ys-fs_forward@2x.png          |  Bin 0 -> 3355 bytes
 .../fspanel-yosemite/ys-fs_forward_highlight.png   |  Bin 0 -> 3020 bytes
 .../ys-fs_forward_highlight@2x.png                 |  Bin 0 -> 3355 bytes
 .../Resources/fspanel-yosemite/ys-fs_pause.png     |  Bin 0 -> 2849 bytes
 .../Resources/fspanel-yosemite/ys-fs_pause@2x.png  |  Bin 0 -> 2893 bytes
 .../fspanel-yosemite/ys-fs_pause_highlight.png     |  Bin 0 -> 2850 bytes
 .../fspanel-yosemite/ys-fs_pause_highlight@2x.png  |  Bin 0 -> 2894 bytes
 .../Resources/fspanel-yosemite/ys-fs_play.png      |  Bin 0 -> 3017 bytes
 .../Resources/fspanel-yosemite/ys-fs_play@2x.png   |  Bin 0 -> 3224 bytes
 .../fspanel-yosemite/ys-fs_play_highlight.png      |  Bin 0 -> 3019 bytes
 .../fspanel-yosemite/ys-fs_play_highlight@2x.png   |  Bin 0 -> 3231 bytes
 .../Resources/fspanel-yosemite/ys-fs_rewind.png    |  Bin 0 -> 3037 bytes
 .../Resources/fspanel-yosemite/ys-fs_rewind@2x.png |  Bin 0 -> 3269 bytes
 .../fspanel-yosemite/ys-fs_rewind_highlight.png    |  Bin 0 -> 3042 bytes
 .../fspanel-yosemite/ys-fs_rewind_highlight@2x.png |  Bin 0 -> 3276 bytes
 .../Resources/fspanel-yosemite/ys-fs_skip_next.png |  Bin 0 -> 3013 bytes
 .../fspanel-yosemite/ys-fs_skip_next@2x.png        |  Bin 0 -> 3177 bytes
 .../fspanel-yosemite/ys-fs_skip_next_highlight.png |  Bin 0 -> 3018 bytes
 .../ys-fs_skip_next_highlight@2x.png               |  Bin 0 -> 3186 bytes
 .../fspanel-yosemite/ys-fs_skip_previous.png       |  Bin 0 -> 3016 bytes
 .../fspanel-yosemite/ys-fs_skip_previous@2x.png    |  Bin 0 -> 3198 bytes
 .../ys-fs_skip_previous_highlight.png              |  Bin 0 -> 3017 bytes
 .../ys-fs_skip_previous_highlight@2x.png           |  Bin 0 -> 3207 bytes
 .../Resources/fspanel-yosemite/ys-fs_stop.png      |  Bin 0 -> 2834 bytes
 .../Resources/fspanel-yosemite/ys-fs_stop@2x.png   |  Bin 0 -> 2867 bytes
 .../fspanel-yosemite/ys-fs_stop_highlight.png      |  Bin 0 -> 2834 bytes
 .../fspanel-yosemite/ys-fs_stop_highlight@2x.png   |  Bin 0 -> 2867 bytes
 .../fspanel-yosemite/ys-fs_time_slider.png         |  Bin 0 -> 2872 bytes
 .../fspanel-yosemite/ys-fs_time_slider@2x.png      |  Bin 0 -> 2988 bytes
 .../fspanel-yosemite/ys-fs_time_slider_knob.png    |  Bin 0 -> 2860 bytes
 .../fspanel-yosemite/ys-fs_time_slider_knob@2x.png |  Bin 0 -> 2970 bytes
 .../ys-fs_time_slider_knob_highlight.png           |  Bin 0 -> 2860 bytes
 .../ys-fs_time_slider_knob_highlight@2x.png        |  Bin 0 -> 2970 bytes
 .../fspanel-yosemite/ys-fs_volume_max.png          |  Bin 0 -> 2807 bytes
 .../fspanel-yosemite/ys-fs_volume_max@2x.png       |  Bin 0 -> 2816 bytes
 .../ys-fs_volume_max_highlight.png                 |  Bin 0 -> 2807 bytes
 .../ys-fs_volume_max_highlight@2x.png              |  Bin 0 -> 2816 bytes
 .../fspanel-yosemite/ys-fs_volume_mute.png         |  Bin 0 -> 2803 bytes
 .../fspanel-yosemite/ys-fs_volume_mute@2x.png      |  Bin 0 -> 2810 bytes
 .../ys-fs_volume_mute_highlight.png                |  Bin 0 -> 2803 bytes
 .../ys-fs_volume_mute_highlight@2x.png             |  Bin 0 -> 2810 bytes
 .../fspanel-yosemite/ys-fs_volume_slider_bar.png   |  Bin 0 -> 2815 bytes
 .../ys-fs_volume_slider_bar@2x.png                 |  Bin 0 -> 2830 bytes
 .../fspanel-yosemite/ys-fs_volume_slider_knob.png  |  Bin 0 -> 2868 bytes
 .../ys-fs_volume_slider_knob@2x.png                |  Bin 0 -> 2935 bytes
 .../ys-fs_volume_slider_knob_highlight.png         |  Bin 0 -> 2868 bytes
 .../ys-fs_volume_slider_knob_highlight@2x.png      |  Bin 0 -> 2935 bytes
 .../macosx/Resources/mainwindow/bottombar-mini.png |  Bin 196 -> 0 bytes
 .../mainwindow/effects-double-buttons-blue.png     |  Bin 674 -> 0 bytes
 .../mainwindow/effects-double-buttons-blue@2x.png  |  Bin 2352 -> 0 bytes
 .../mainwindow/effects-one-button-blue.png         |  Bin 696 -> 0 bytes
 .../mainwindow/effects-one-button-blue@2x.png      |  Bin 2344 -> 0 bytes
 .../mainwindow/mini-progressbar-fill-left.png      |  Bin 170 -> 0 bytes
 .../mainwindow/mini-progressbar-fill-middle.png    |  Bin 145 -> 0 bytes
 .../mainwindow/mini-progressbar-fill-right.png     |  Bin 163 -> 0 bytes
 .../Resources/mainwindow/mini-progressbar-knob.png |  Bin 165 -> 0 bytes
 .../mainwindow/mini-progressbar-wrapper-left.png   |  Bin 197 -> 0 bytes
 .../mainwindow/mini-progressbar-wrapper-middle.png |  Bin 152 -> 0 bytes
 .../mainwindow/mini-progressbar-wrapper-right.png  |  Bin 200 -> 0 bytes
 .../Resources/mainwindow/playlist-btn-blue.png     |  Bin 598 -> 0 bytes
 .../Resources/mainwindow/playlist-btn-blue@2x.png  |  Bin 2041 -> 0 bytes
 .../Resources/mainwindow_dark/bottombar-mini.png   |  Bin 187 -> 0 bytes
 .../effects-double-buttons-blue_dark.png           |  Bin 1388 -> 0 bytes
 .../effects-double-buttons-blue_dark@2x.png        |  Bin 1792 -> 0 bytes
 .../effects-one-button-blue_dark.png               |  Bin 1400 -> 0 bytes
 .../effects-one-button-blue_dark@2x.png            |  Bin 1839 -> 0 bytes
 .../mainwindow_dark/playlist-blue-pressed_dark.png |  Bin 1256 -> 0 bytes
 .../playlist-blue-pressed_dark@2x.png              |  Bin 1497 -> 0 bytes
 .../mainwindow_dark/playlist-blue_dark.png         |  Bin 1265 -> 0 bytes
 .../mainwindow_dark/playlist-blue_dark@2x.png      |  Bin 1502 -> 0 bytes
 .../titlebar/lion/lion-window-fullscreen-on.png    |  Bin 0 -> 344 bytes
 .../titlebar/lion/lion-window-fullscreen-on@2x.png |  Bin 0 -> 568 bytes
 .../titlebar/lion/lion-window-fullscreen-over.png  |  Bin 0 -> 355 bytes
 .../lion/lion-window-fullscreen-over@2x.png        |  Bin 0 -> 567 bytes
 .../titlebar/lion/lion-window-fullscreen.png       |  Bin 0 -> 360 bytes
 .../titlebar/lion/lion-window-fullscreen@2x.png    |  Bin 0 -> 569 bytes
 .../yosemite/yosemite-window-close-graphite.png    |  Bin 0 -> 246 bytes
 .../yosemite/yosemite-window-close-graphite@2x.png |  Bin 0 -> 427 bytes
 .../yosemite/yosemite-window-close-on-graphite.png |  Bin 0 -> 297 bytes
 .../yosemite-window-close-on-graphite@2x.png       |  Bin 0 -> 508 bytes
 .../titlebar/yosemite/yosemite-window-close-on.png |  Bin 0 -> 304 bytes
 .../yosemite/yosemite-window-close-on@2x.png       |  Bin 0 -> 532 bytes
 .../yosemite-window-close-over-graphite.png        |  Bin 0 -> 271 bytes
 .../yosemite-window-close-over-graphite@2x.png     |  Bin 0 -> 495 bytes
 .../yosemite/yosemite-window-close-over.png        |  Bin 0 -> 313 bytes
 .../yosemite/yosemite-window-close-over@2x.png     |  Bin 0 -> 522 bytes
 .../titlebar/yosemite/yosemite-window-close.png    |  Bin 0 -> 268 bytes
 .../titlebar/yosemite/yosemite-window-close@2x.png |  Bin 0 -> 446 bytes
 .../yosemite-window-fullscreen-graphite.png        |  Bin 0 -> 246 bytes
 .../yosemite-window-fullscreen-graphite@2x.png     |  Bin 0 -> 427 bytes
 .../yosemite-window-fullscreen-on-graphite.png     |  Bin 0 -> 328 bytes
 .../yosemite-window-fullscreen-on-graphite@2x.png  |  Bin 0 -> 548 bytes
 .../yosemite/yosemite-window-fullscreen-on.png     |  Bin 0 -> 334 bytes
 .../yosemite/yosemite-window-fullscreen-on@2x.png  |  Bin 0 -> 560 bytes
 .../yosemite-window-fullscreen-over-graphite.png   |  Bin 0 -> 313 bytes
 ...yosemite-window-fullscreen-over-graphite@2x.png |  Bin 0 -> 565 bytes
 .../yosemite/yosemite-window-fullscreen-over.png   |  Bin 0 -> 344 bytes
 .../yosemite-window-fullscreen-over@2x.png         |  Bin 0 -> 586 bytes
 .../yosemite/yosemite-window-fullscreen.png        |  Bin 0 -> 264 bytes
 .../yosemite/yosemite-window-fullscreen@2x.png     |  Bin 0 -> 454 bytes
 .../yosemite/yosemite-window-minimize-graphite.png |  Bin 0 -> 246 bytes
 .../yosemite-window-minimize-graphite@2x.png       |  Bin 0 -> 427 bytes
 .../yosemite-window-minimize-on-graphite.png       |  Bin 0 -> 276 bytes
 .../yosemite-window-minimize-on-graphite@2x.png    |  Bin 0 -> 459 bytes
 .../yosemite/yosemite-window-minimize-on.png       |  Bin 0 -> 284 bytes
 .../yosemite/yosemite-window-minimize-on@2x.png    |  Bin 0 -> 478 bytes
 .../yosemite-window-minimize-over-graphite.png     |  Bin 0 -> 260 bytes
 .../yosemite-window-minimize-over-graphite@2x.png  |  Bin 0 -> 463 bytes
 .../yosemite/yosemite-window-minimize-over.png     |  Bin 0 -> 287 bytes
 .../yosemite/yosemite-window-minimize-over@2x.png  |  Bin 0 -> 495 bytes
 .../titlebar/yosemite/yosemite-window-minimize.png |  Bin 0 -> 269 bytes
 .../yosemite/yosemite-window-minimize@2x.png       |  Bin 0 -> 462 bytes
 .../yosemite/yosemite-window-zoom-graphite.png     |  Bin 0 -> 246 bytes
 .../yosemite/yosemite-window-zoom-graphite@2x.png  |  Bin 0 -> 427 bytes
 .../yosemite/yosemite-window-zoom-on-graphite.png  |  Bin 0 -> 286 bytes
 .../yosemite-window-zoom-on-graphite@2x.png        |  Bin 0 -> 483 bytes
 .../titlebar/yosemite/yosemite-window-zoom-on.png  |  Bin 0 -> 287 bytes
 .../yosemite/yosemite-window-zoom-on@2x.png        |  Bin 0 -> 514 bytes
 .../yosemite-window-zoom-over-graphite.png         |  Bin 0 -> 276 bytes
 .../yosemite-window-zoom-over-graphite@2x.png      |  Bin 0 -> 489 bytes
 .../yosemite/yosemite-window-zoom-over.png         |  Bin 0 -> 288 bytes
 .../yosemite/yosemite-window-zoom-over@2x.png      |  Bin 0 -> 513 bytes
 .../titlebar/yosemite/yosemite-window-zoom.png     |  Bin 0 -> 264 bytes
 .../titlebar/yosemite/yosemite-window-zoom@2x.png  |  Bin 0 -> 454 bytes
 .../mainwindow_dark/window-fullscreen-on.png       |  Bin 344 -> 0 bytes
 .../mainwindow_dark/window-fullscreen-over.png     |  Bin 355 -> 0 bytes
 .../mainwindow_dark/window-fullscreen.png          |  Bin 360 -> 0 bytes
 .../ys-backward-3btns-dark-pressed.png             |  Bin 0 -> 350 bytes
 .../ys-backward-3btns-dark-pressed@2x.png          |  Bin 0 -> 586 bytes
 .../ys-backward-3btns-dark.png                     |  Bin 0 -> 392 bytes
 .../ys-backward-3btns-dark@2x.png                  |  Bin 0 -> 604 bytes
 .../ys-backward-6btns-dark-pressed.png             |  Bin 0 -> 269 bytes
 .../ys-backward-6btns-dark-pressed@2x.png          |  Bin 0 -> 378 bytes
 .../ys-backward-6btns-dark.png                     |  Bin 0 -> 296 bytes
 .../ys-backward-6btns-dark@2x.png                  |  Bin 0 -> 410 bytes
 .../ys-bottom-background_dark.png                  |  Bin 0 -> 130 bytes
 .../ys-bottom-background_dark@2x.png               |  Bin 0 -> 139 bytes
 .../ys-bottomdark-left.png                         |  Bin 0 -> 169 bytes
 .../ys-bottomdark-left@2x.png                      |  Bin 0 -> 238 bytes
 .../ys-bottomdark-right.png                        |  Bin 0 -> 162 bytes
 .../ys-bottomdark-right@2x.png                     |  Bin 0 -> 222 bytes
 .../ys-effects-double-buttons-pressed_dark.png     |  Bin 0 -> 328 bytes
 .../ys-effects-double-buttons-pressed_dark@2x.png  |  Bin 0 -> 500 bytes
 .../ys-effects-double-buttons_dark.png             |  Bin 0 -> 344 bytes
 .../ys-effects-double-buttons_dark@2x.png          |  Bin 0 -> 524 bytes
 .../ys-effects-one-button-pressed-dark.png         |  Bin 0 -> 358 bytes
 .../ys-effects-one-button-pressed-dark@2x.png      |  Bin 0 -> 604 bytes
 .../ys-effects-one-button_dark.png                 |  Bin 0 -> 381 bytes
 .../ys-effects-one-button_dark@2x.png              |  Bin 0 -> 636 bytes
 .../ys-forward-3btns-dark-pressed.png              |  Bin 0 -> 338 bytes
 .../ys-forward-3btns-dark-pressed@2x.png           |  Bin 0 -> 562 bytes
 .../ys-forward-3btns-dark.png                      |  Bin 0 -> 383 bytes
 .../ys-forward-3btns-dark@2x.png                   |  Bin 0 -> 588 bytes
 .../ys-forward-6btns-dark-pressed.png              |  Bin 0 -> 263 bytes
 .../ys-forward-6btns-dark-pressed@2x.png           |  Bin 0 -> 364 bytes
 .../ys-forward-6btns-dark.png                      |  Bin 0 -> 285 bytes
 .../ys-forward-6btns-dark@2x.png                   |  Bin 0 -> 387 bytes
 .../ys-fullscreen-double-buttons-pressed_dark.png  |  Bin 0 -> 420 bytes
 ...s-fullscreen-double-buttons-pressed_dark@2x.png |  Bin 0 -> 677 bytes
 .../ys-fullscreen-double-buttons_dark.png          |  Bin 0 -> 456 bytes
 .../ys-fullscreen-double-buttons_dark@2x.png       |  Bin 0 -> 713 bytes
 .../ys-fullscreen-one-button-pressed_dark.png      |  Bin 0 -> 454 bytes
 .../ys-fullscreen-one-button-pressed_dark@2x.png   |  Bin 0 -> 790 bytes
 .../ys-fullscreen-one-button_dark.png              |  Bin 0 -> 484 bytes
 .../ys-fullscreen-one-button_dark@2x.png           |  Bin 0 -> 825 bytes
 .../ys-next-6btns-dark-pressed.png                 |  Bin 0 -> 360 bytes
 .../ys-next-6btns-dark-pressed@2x.png              |  Bin 0 -> 587 bytes
 .../ys-next-6btns-dark.png                         |  Bin 0 -> 406 bytes
 .../ys-next-6btns-dark@2x.png                      |  Bin 0 -> 627 bytes
 .../ys-pause-pressed_dark.png                      |  Bin 0 -> 158 bytes
 .../ys-pause-pressed_dark@2x.png                   |  Bin 0 -> 206 bytes
 .../mainwindow_dark_yosemite/ys-pause_dark.png     |  Bin 0 -> 166 bytes
 .../mainwindow_dark_yosemite/ys-pause_dark@2x.png  |  Bin 0 -> 199 bytes
 .../ys-play-pressed_dark.png                       |  Bin 0 -> 287 bytes
 .../ys-play-pressed_dark@2x.png                    |  Bin 0 -> 444 bytes
 .../mainwindow_dark_yosemite/ys-play_dark.png      |  Bin 0 -> 275 bytes
 .../mainwindow_dark_yosemite/ys-play_dark@2x.png   |  Bin 0 -> 471 bytes
 .../ys-playlist-1btn-dark-pressed.png              |  Bin 0 -> 318 bytes
 .../ys-playlist-1btn-dark-pressed@2x.png           |  Bin 0 -> 559 bytes
 .../ys-playlist-1btn-dark.png                      |  Bin 0 -> 340 bytes
 .../ys-playlist-1btn-dark@2x.png                   |  Bin 0 -> 573 bytes
 .../ys-playlist-pressed_dark.png                   |  Bin 0 -> 282 bytes
 .../ys-playlist-pressed_dark@2x.png                |  Bin 0 -> 454 bytes
 .../mainwindow_dark_yosemite/ys-playlist_dark.png  |  Bin 0 -> 299 bytes
 .../ys-playlist_dark@2x.png                        |  Bin 0 -> 465 bytes
 .../ys-previous-6btns-dark-pressed.png             |  Bin 0 -> 376 bytes
 .../ys-previous-6btns-dark-pressed@2x.png          |  Bin 0 -> 613 bytes
 .../ys-previous-6btns-dark.png                     |  Bin 0 -> 420 bytes
 .../ys-previous-6btns-dark@2x.png                  |  Bin 0 -> 643 bytes
 .../ys-progressbar-fill-left_dark.png              |  Bin 0 -> 96 bytes
 .../ys-progressbar-fill-left_dark@2x.png           |  Bin 0 -> 116 bytes
 .../ys-progressbar-fill-middle_dark.png            |  Bin 0 -> 90 bytes
 .../ys-progressbar-fill-middle_dark@2x.png         |  Bin 0 -> 94 bytes
 .../ys-progressbar-fill-right_dark.png             |  Bin 0 -> 96 bytes
 .../ys-progressbar-fill-right_dark@2x.png          |  Bin 0 -> 115 bytes
 .../ys-progression-knob_dark.png                   |  Bin 0 -> 229 bytes
 .../ys-progression-knob_dark@2x.png                |  Bin 0 -> 502 bytes
 .../ys-progression-track-wrapper-left_dark.png     |  Bin 0 -> 144 bytes
 .../ys-progression-track-wrapper-left_dark@2x.png  |  Bin 0 -> 210 bytes
 .../ys-progression-track-wrapper-middle_dark.png   |  Bin 0 -> 111 bytes
 ...ys-progression-track-wrapper-middle_dark@2x.png |  Bin 0 -> 121 bytes
 .../ys-progression-track-wrapper-right_dark.png    |  Bin 0 -> 160 bytes
 .../ys-progression-track-wrapper-right_dark@2x.png |  Bin 0 -> 228 bytes
 .../ys-repeat-all-blue-pressed_dark.png            |  Bin 0 -> 489 bytes
 .../ys-repeat-all-blue-pressed_dark@2x.png         |  Bin 0 -> 858 bytes
 .../ys-repeat-all-blue_dark.png                    |  Bin 0 -> 517 bytes
 .../ys-repeat-all-blue_dark@2x.png                 |  Bin 0 -> 858 bytes
 .../ys-repeat-one-blue-pressed_dark.png            |  Bin 0 -> 534 bytes
 .../ys-repeat-one-blue-pressed_dark@2x.png         |  Bin 0 -> 916 bytes
 .../ys-repeat-one-blue_dark.png                    |  Bin 0 -> 563 bytes
 .../ys-repeat-one-blue_dark@2x.png                 |  Bin 0 -> 946 bytes
 .../ys-repeat-pressed_dark.png                     |  Bin 0 -> 417 bytes
 .../ys-repeat-pressed_dark@2x.png                  |  Bin 0 -> 678 bytes
 .../mainwindow_dark_yosemite/ys-repeat_dark.png    |  Bin 0 -> 455 bytes
 .../mainwindow_dark_yosemite/ys-repeat_dark@2x.png |  Bin 0 -> 754 bytes
 .../ys-shuffle-blue-pressed_dark.png               |  Bin 0 -> 597 bytes
 .../ys-shuffle-blue-pressed_dark@2x.png            |  Bin 0 -> 1079 bytes
 .../ys-shuffle-blue_dark.png                       |  Bin 0 -> 624 bytes
 .../ys-shuffle-blue_dark@2x.png                    |  Bin 0 -> 1138 bytes
 .../ys-shuffle-pressed_dark.png                    |  Bin 0 -> 516 bytes
 .../ys-shuffle-pressed_dark@2x.png                 |  Bin 0 -> 948 bytes
 .../mainwindow_dark_yosemite/ys-shuffle_dark.png   |  Bin 0 -> 565 bytes
 .../ys-shuffle_dark@2x.png                         |  Bin 0 -> 1018 bytes
 .../ys-stop-pressed_dark.png                       |  Bin 0 -> 326 bytes
 .../ys-stop-pressed_dark@2x.png                    |  Bin 0 -> 563 bytes
 .../mainwindow_dark_yosemite/ys-stop_dark.png      |  Bin 0 -> 353 bytes
 .../mainwindow_dark_yosemite/ys-stop_dark@2x.png   |  Bin 0 -> 578 bytes
 .../ys-topbar-dark-center-fill.png                 |  Bin 0 -> 124 bytes
 .../ys-topbar-dark-center-fill@2x.png              |  Bin 0 -> 141 bytes
 .../ys-topbar-dark-left.png                        |  Bin 0 -> 188 bytes
 .../ys-topbar-dark-left@2x.png                     |  Bin 0 -> 294 bytes
 .../ys-topbar-dark-right.png                       |  Bin 0 -> 193 bytes
 .../ys-topbar-dark-right@2x.png                    |  Bin 0 -> 326 bytes
 .../ys-volume-high_dark.png                        |  Bin 0 -> 175 bytes
 .../ys-volume-high_dark@2x.png                     |  Bin 0 -> 252 bytes
 .../ys-volume-low_dark.png                         |  Bin 0 -> 152 bytes
 .../ys-volume-low_dark@2x.png                      |  Bin 0 -> 217 bytes
 .../ys-volume-slider-knob_dark.png                 |  Bin 0 -> 176 bytes
 .../ys-volume-slider-knob_dark@2x.png              |  Bin 0 -> 359 bytes
 .../ys-volume-slider-track_dark.png                |  Bin 0 -> 152 bytes
 .../ys-volume-slider-track_dark@2x.png             |  Bin 0 -> 285 bytes
 .../ys-backward-3btns-pressed.png                  |  Bin 0 -> 283 bytes
 .../ys-backward-3btns-pressed@2x.png               |  Bin 0 -> 468 bytes
 .../mainwindow_yosemite/ys-backward-3btns.png      |  Bin 0 -> 262 bytes
 .../mainwindow_yosemite/ys-backward-3btns@2x.png   |  Bin 0 -> 448 bytes
 .../ys-backward-6btns-pressed.png                  |  Bin 0 -> 187 bytes
 .../ys-backward-6btns-pressed@2x.png               |  Bin 0 -> 274 bytes
 .../mainwindow_yosemite/ys-backward-6btns.png      |  Bin 0 -> 182 bytes
 .../mainwindow_yosemite/ys-backward-6btns@2x.png   |  Bin 0 -> 272 bytes
 .../mainwindow_yosemite/ys-bottom-background.png   |  Bin 0 -> 225 bytes
 .../ys-bottom-background@2x.png                    |  Bin 0 -> 534 bytes
 .../Resources/mainwindow_yosemite/ys-dropzone.png  |  Bin 0 -> 2040 bytes
 .../mainwindow_yosemite/ys-dropzone@2x.png         |  Bin 0 -> 4434 bytes
 .../ys-effects-double-buttons-pressed.png          |  Bin 0 -> 232 bytes
 .../ys-effects-double-buttons-pressed@2x.png       |  Bin 0 -> 372 bytes
 .../ys-effects-double-buttons.png                  |  Bin 0 -> 213 bytes
 .../ys-effects-double-buttons@2x.png               |  Bin 0 -> 348 bytes
 .../ys-effects-one-button-pressed.png              |  Bin 0 -> 278 bytes
 .../ys-effects-one-button-pressed@2x.png           |  Bin 0 -> 482 bytes
 .../mainwindow_yosemite/ys-effects-one-button.png  |  Bin 0 -> 255 bytes
 .../ys-effects-one-button@2x.png                   |  Bin 0 -> 454 bytes
 .../ys-forward-3btns-pressed.png                   |  Bin 0 -> 266 bytes
 .../ys-forward-3btns-pressed@2x.png                |  Bin 0 -> 453 bytes
 .../mainwindow_yosemite/ys-forward-3btns.png       |  Bin 0 -> 244 bytes
 .../mainwindow_yosemite/ys-forward-3btns@2x.png    |  Bin 0 -> 432 bytes
 .../ys-forward-6btns-pressed.png                   |  Bin 0 -> 171 bytes
 .../ys-forward-6btns-pressed@2x.png                |  Bin 0 -> 260 bytes
 .../mainwindow_yosemite/ys-forward-6btns.png       |  Bin 0 -> 172 bytes
 .../mainwindow_yosemite/ys-forward-6btns@2x.png    |  Bin 0 -> 259 bytes
 .../ys-fullscreen-double-buttons-pressed.png       |  Bin 0 -> 348 bytes
 .../ys-fullscreen-double-buttons-pressed@2x.png    |  Bin 0 -> 568 bytes
 .../ys-fullscreen-double-buttons.png               |  Bin 0 -> 323 bytes
 .../ys-fullscreen-double-buttons@2x.png            |  Bin 0 -> 549 bytes
 .../ys-fullscreen-one-button-pressed.png           |  Bin 0 -> 383 bytes
 .../ys-fullscreen-one-button-pressed@2x.png        |  Bin 0 -> 669 bytes
 .../ys-fullscreen-one-button.png                   |  Bin 0 -> 358 bytes
 .../ys-fullscreen-one-button@2x.png                |  Bin 0 -> 646 bytes
 .../mainwindow_yosemite/ys-next-6btns-pressed.png  |  Bin 0 -> 270 bytes
 .../ys-next-6btns-pressed@2x.png                   |  Bin 0 -> 460 bytes
 .../mainwindow_yosemite/ys-next-6btns.png          |  Bin 0 -> 249 bytes
 .../mainwindow_yosemite/ys-next-6btns@2x.png       |  Bin 0 -> 439 bytes
 .../mainwindow_yosemite/ys-pause-pressed.png       |  Bin 0 -> 125 bytes
 .../mainwindow_yosemite/ys-pause-pressed@2x.png    |  Bin 0 -> 181 bytes
 .../Resources/mainwindow_yosemite/ys-pause.png     |  Bin 0 -> 125 bytes
 .../Resources/mainwindow_yosemite/ys-pause@2x.png  |  Bin 0 -> 181 bytes
 .../mainwindow_yosemite/ys-play-pressed.png        |  Bin 0 -> 208 bytes
 .../mainwindow_yosemite/ys-play-pressed@2x.png     |  Bin 0 -> 343 bytes
 .../Resources/mainwindow_yosemite/ys-play.png      |  Bin 0 -> 205 bytes
 .../Resources/mainwindow_yosemite/ys-play@2x.png   |  Bin 0 -> 333 bytes
 .../ys-playlist-1btn-pressed.png                   |  Bin 0 -> 263 bytes
 .../ys-playlist-1btn-pressed@2x.png                |  Bin 0 -> 465 bytes
 .../mainwindow_yosemite/ys-playlist-1btn.png       |  Bin 0 -> 242 bytes
 .../mainwindow_yosemite/ys-playlist-1btn@2x.png    |  Bin 0 -> 437 bytes
 .../ys-playlist-btn-pressed.png                    |  Bin 0 -> 219 bytes
 .../ys-playlist-btn-pressed@2x.png                 |  Bin 0 -> 354 bytes
 .../mainwindow_yosemite/ys-playlist-btn.png        |  Bin 0 -> 201 bytes
 .../mainwindow_yosemite/ys-playlist-btn@2x.png     |  Bin 0 -> 327 bytes
 .../ys-previous-6btns-pressed.png                  |  Bin 0 -> 288 bytes
 .../ys-previous-6btns-pressed@2x.png               |  Bin 0 -> 471 bytes
 .../mainwindow_yosemite/ys-previous-6btns.png      |  Bin 0 -> 266 bytes
 .../mainwindow_yosemite/ys-previous-6btns@2x.png   |  Bin 0 -> 451 bytes
 .../ys-progression-fill-left.png                   |  Bin 0 -> 97 bytes
 .../ys-progression-fill-left@2x.png                |  Bin 0 -> 114 bytes
 .../ys-progression-fill-middle.png                 |  Bin 0 -> 88 bytes
 .../ys-progression-fill-middle@2x.png              |  Bin 0 -> 91 bytes
 .../ys-progression-fill-right.png                  |  Bin 0 -> 98 bytes
 .../ys-progression-fill-right@2x.png               |  Bin 0 -> 114 bytes
 .../mainwindow_yosemite/ys-progression-knob.png    |  Bin 0 -> 229 bytes
 .../mainwindow_yosemite/ys-progression-knob@2x.png |  Bin 0 -> 502 bytes
 .../ys-progression-track-wrapper-left.png          |  Bin 0 -> 139 bytes
 .../ys-progression-track-wrapper-left@2x.png       |  Bin 0 -> 206 bytes
 .../ys-progression-track-wrapper-middle.png        |  Bin 0 -> 106 bytes
 .../ys-progression-track-wrapper-middle@2x.png     |  Bin 0 -> 119 bytes
 .../ys-progression-track-wrapper-right.png         |  Bin 0 -> 141 bytes
 .../ys-progression-track-wrapper-right@2x.png      |  Bin 0 -> 204 bytes
 .../mainwindow_yosemite/ys-repeat-all-pressed.png  |  Bin 0 -> 372 bytes
 .../ys-repeat-all-pressed@2x.png                   |  Bin 0 -> 710 bytes
 .../mainwindow_yosemite/ys-repeat-all.png          |  Bin 0 -> 364 bytes
 .../mainwindow_yosemite/ys-repeat-all@2x.png       |  Bin 0 -> 663 bytes
 .../mainwindow_yosemite/ys-repeat-one-pressed.png  |  Bin 0 -> 392 bytes
 .../ys-repeat-one-pressed@2x.png                   |  Bin 0 -> 752 bytes
 .../mainwindow_yosemite/ys-repeat-one.png          |  Bin 0 -> 385 bytes
 .../mainwindow_yosemite/ys-repeat-one@2x.png       |  Bin 0 -> 713 bytes
 .../mainwindow_yosemite/ys-repeat-pressed.png      |  Bin 0 -> 372 bytes
 .../mainwindow_yosemite/ys-repeat-pressed@2x.png   |  Bin 0 -> 652 bytes
 .../Resources/mainwindow_yosemite/ys-repeat.png    |  Bin 0 -> 364 bytes
 .../Resources/mainwindow_yosemite/ys-repeat@2x.png |  Bin 0 -> 649 bytes
 .../ys-shuffle-blue-pressed.png                    |  Bin 0 -> 494 bytes
 .../ys-shuffle-blue-pressed@2x.png                 |  Bin 0 -> 914 bytes
 .../mainwindow_yosemite/ys-shuffle-blue.png        |  Bin 0 -> 456 bytes
 .../mainwindow_yosemite/ys-shuffle-blue@2x.png     |  Bin 0 -> 862 bytes
 .../mainwindow_yosemite/ys-shuffle-pressed.png     |  Bin 0 -> 474 bytes
 .../mainwindow_yosemite/ys-shuffle-pressed@2x.png  |  Bin 0 -> 913 bytes
 .../Resources/mainwindow_yosemite/ys-shuffle.png   |  Bin 0 -> 458 bytes
 .../mainwindow_yosemite/ys-shuffle@2x.png          |  Bin 0 -> 879 bytes
 .../mainwindow_yosemite/ys-stop-pressed.png        |  Bin 0 -> 262 bytes
 .../mainwindow_yosemite/ys-stop-pressed@2x.png     |  Bin 0 -> 461 bytes
 .../Resources/mainwindow_yosemite/ys-stop.png      |  Bin 0 -> 238 bytes
 .../Resources/mainwindow_yosemite/ys-stop@2x.png   |  Bin 0 -> 434 bytes
 .../mainwindow_yosemite/ys-volume-high.png         |  Bin 0 -> 168 bytes
 .../mainwindow_yosemite/ys-volume-high@2x.png      |  Bin 0 -> 232 bytes
 .../mainwindow_yosemite/ys-volume-low.png          |  Bin 0 -> 149 bytes
 .../mainwindow_yosemite/ys-volume-low@2x.png       |  Bin 0 -> 205 bytes
 .../mainwindow_yosemite/ys-volume-slider-knob.png  |  Bin 0 -> 177 bytes
 .../ys-volume-slider-knob@2x.png                   |  Bin 0 -> 344 bytes
 .../mainwindow_yosemite/ys-volume-slider-track.png |  Bin 0 -> 129 bytes
 .../ys-volume-slider-track@2x.png                  |  Bin 0 -> 215 bytes
 .../sidebar-icons_yosemite/ys-sidebar-local.png    |  Bin 0 -> 984 bytes
 .../sidebar-icons_yosemite/ys-sidebar-local@2x.png |  Bin 0 -> 1778 bytes
 .../sidebar-icons_yosemite/ys-sidebar-movie.png    |  Bin 0 -> 654 bytes
 .../sidebar-icons_yosemite/ys-sidebar-movie@2x.png |  Bin 0 -> 688 bytes
 .../sidebar-icons_yosemite/ys-sidebar-music.png    |  Bin 0 -> 1174 bytes
 .../sidebar-icons_yosemite/ys-sidebar-music@2x.png |  Bin 0 -> 908 bytes
 .../sidebar-icons_yosemite/ys-sidebar-pictures.png |  Bin 0 -> 751 bytes
 .../ys-sidebar-pictures@2x.png                     |  Bin 0 -> 799 bytes
 .../sidebar-icons_yosemite/ys-sidebar-playlist.png |  Bin 0 -> 786 bytes
 .../ys-sidebar-playlist@2x.png                     |  Bin 0 -> 871 bytes
 .../sidebar-icons_yosemite/ys-sidebar-podcast.png  |  Bin 0 -> 890 bytes
 .../ys-sidebar-podcast@2x.png                      |  Bin 0 -> 1319 bytes
 extras/package/macosx/codesign-dp.sh               |   87 +
 .../package/macosx/vlc.xcodeproj/project.pbxproj   | 1594 +++++++++-
 extras/package/win32/package.mak                   |    3 +
 extras/tools/packages.mak                          |    8 +-
 extras/tools/tools.mak                             |    2 +-
 lib/Makefile.am                                    |    6 +-
 src/Makefile.am                                    |    6 +-

(MacOS, Windows, OS/2 only)

 po/ach.gmo                                         |  Bin 56389 -> 56389 bytes
 po/ach.po                                          |  232 +-
 po/af.gmo                                          |  Bin 50471 -> 50471 bytes
 po/af.po                                           |  128 +-
 po/am.gmo                                          |  Bin 72968 -> 72968 bytes
 po/am.po                                           |  125 +-
 po/an.gmo                                          |  Bin 462610 -> 462610 bytes
 po/an.po                                           |  211 +-
 po/ar.gmo                                          |  Bin 310202 -> 310202 bytes
 po/ar.po                                           |  411 ++-
 po/ast.gmo                                         |  Bin 456202 -> 456202 bytes
 po/ast.po                                          |  211 +-
 po/az.gmo                                          |  Bin 2828 -> 2828 bytes
 po/az.po                                           |  132 +-
 po/be.gmo                                          |  Bin 750883 -> 750883 bytes
 po/be.po                                           |  107 +-
 po/bg.gmo                                          |  Bin 616686 -> 616686 bytes
 po/bg.po                                           |  210 +-
 po/bn.gmo                                          |  Bin 665775 -> 665775 bytes
 po/bn.po                                           |  230 +-
 po/bn_IN.gmo                                       |  Bin 795286 -> 795286 bytes
 po/bn_IN.po                                        |  205 +-
 po/br.gmo                                          |  Bin 80105 -> 80105 bytes
 po/br.po                                           |  342 ++-
 po/bs.gmo                                          |  Bin 150748 -> 150691 bytes
 po/bs.po                                           |  343 ++-
 po/ca.gmo                                          |  Bin 626990 -> 626990 bytes
 po/ca.po                                           |  107 +-
 po/cgg.gmo                                         |  Bin 41805 -> 41805 bytes
 po/cgg.po                                          |  134 +-
 po/ckb.gmo                                         |  Bin 86646 -> 86646 bytes
 po/ckb.po                                          |  122 +-
 po/co.gmo                                          |  Bin 702 -> 702 bytes
 po/co.po                                           |  150 +-
 po/cs.gmo                                          |  Bin 239773 -> 239718 bytes
 po/cs.po                                           |  160 +-
 po/cy.gmo                                          |  Bin 262317 -> 262253 bytes
 po/cy.po                                           |  160 +-
 po/da.gmo                                          |  Bin 336617 -> 336554 bytes
 po/da.po                                           |  288 +-
 po/de.gmo                                          |  Bin 630439 -> 630358 bytes
 po/de.po                                           |  105 +-
 po/el.gmo                                          |  Bin 864263 -> 864171 bytes
 po/el.po                                           |  117 +-
 po/en_GB.gmo                                       |  Bin 38113 -> 38113 bytes
 po/en_GB.po                                        |  134 +-
 po/es.gmo                                          |  Bin 626537 -> 626470 bytes
 po/es.po                                           |  117 +-
 po/et.gmo                                          |  Bin 465083 -> 465021 bytes
 po/et.po                                           |  126 +-
 po/eu.gmo                                          |  Bin 524208 -> 524208 bytes
 po/eu.po                                           |  131 +-
 po/fa.gmo                                          |  Bin 166674 -> 166587 bytes
 po/fa.po                                           |  444 +--
 po/ff.gmo                                          |  Bin 83518 -> 83518 bytes
 po/ff.po                                           |  256 +-
 po/fi.gmo                                          |  Bin 525804 -> 525804 bytes
 po/fi.po                                           |  196 +-
 po/fr.gmo                                          |  Bin 574069 -> 574002 bytes
 po/fr.po                                           |  120 +-
 po/fur.gmo                                         |  Bin 38868 -> 38868 bytes
 po/fur.po                                          |  122 +-
 po/ga.gmo                                          |  Bin 142398 -> 142398 bytes
 po/ga.po                                           |  119 +-
 po/gd.gmo                                          |  Bin 188753 -> 188678 bytes
 po/gd.po                                           |  187 +-
 po/gl.gmo                                          |  Bin 620505 -> 620505 bytes
 po/gl.po                                           |  107 +-
 po/gu.gmo                                          |  Bin 68470 -> 68470 bytes
 po/gu.po                                           |  372 ++-
 po/he.gmo                                          |  Bin 230850 -> 230850 bytes
 po/he.po                                           |  190 +-
 po/hi.gmo                                          |  Bin 147173 -> 147173 bytes
 po/hi.po                                           |  236 +-
 po/hr.gmo                                          |  Bin 556190 -> 556190 bytes
 po/hr.po                                           |  113 +-
 po/hu.gmo                                          |  Bin 619989 -> 619989 bytes
 po/hu.po                                           |  107 +-
 po/hy.gmo                                          |  Bin 136327 -> 136327 bytes
 po/hy.po                                           |  110 +-
 po/ia.gmo                                          |  Bin 11156 -> 11156 bytes
 po/ia.po                                           |  252 +-
 po/id.gmo                                          |  Bin 424412 -> 424412 bytes
 po/id.po                                           |  178 +-
 po/is.gmo                                          |  Bin 159843 -> 159843 bytes
 po/is.po                                           |  157 +-
 po/it.gmo                                          |  Bin 598456 -> 598386 bytes
 po/it.po                                           |  108 +-
 po/ja.gmo                                          |  Bin 701783 -> 701687 bytes
 po/ja.po                                           |  105 +-
 po/ka.gmo                                          |  Bin 58831 -> 58831 bytes
 po/ka.po                                           |  128 +-
 po/kk.gmo                                          |  Bin 230816 -> 230816 bytes
 po/kk.po                                           |  379 +--
 po/km.gmo                                          |  Bin 1014491 -> 1014491 bytes
 po/km.po                                           |  107 +-
 po/kn.gmo                                          |  Bin 820357 -> 820357 bytes
 po/kn.po                                           |  107 +-
 po/ko.gmo                                          |  Bin 634371 -> 634279 bytes
 po/ko.po                                           |  105 +-
 po/ky.gmo                                          |  Bin 38916 -> 38916 bytes
 po/ky.po                                           |  253 +-
 po/lg.gmo                                          |  Bin 55254 -> 55254 bytes
 po/lg.po                                           |  125 +-
 po/lt.gmo                                          |  Bin 334829 -> 334829 bytes
 po/lt.po                                           |  203 +-
 po/lv.gmo                                          |  Bin 42140 -> 42140 bytes
 po/lv.po                                           |  532 ++--
 po/mk.gmo                                          |  Bin 6589 -> 6589 bytes
 po/mk.po                                           |  149 +-
 po/ml.gmo                                          |  Bin 37334 -> 37334 bytes
 po/ml.po                                           |  282 +-
 po/mn.gmo                                          |  Bin 81038 -> 81038 bytes
 po/mn.po                                           |  407 ++-
 po/mr.gmo                                          |  Bin 200783 -> 200783 bytes
 po/mr.po                                           |  271 +-
 po/ms.gmo                                          |  Bin 598207 -> 598131 bytes
 po/ms.po                                           |  105 +-
 po/my.gmo                                          |  Bin 14938 -> 14938 bytes
 po/my.po                                           |  426 ++-
 po/nb.gmo                                          |  Bin 153734 -> 153670 bytes
 po/nb.po                                           |  302 +-
 po/ne.gmo                                          |  Bin 336400 -> 336400 bytes
 po/ne.po                                           |  599 ++--
 po/nl.gmo                                          |  Bin 615021 -> 614941 bytes
 po/nl.po                                           |  105 +-
 po/nn.gmo                                          |  Bin 103407 -> 103407 bytes
 po/nn.po                                           |  107 +-
 po/oc.gmo                                          |  Bin 144661 -> 144661 bytes
 po/oc.po                                           |  432 +--
 po/or.gmo                                          |  Bin 25522 -> 25522 bytes
 po/or.po                                           |  256 +-
 po/pa.gmo                                          |  Bin 281763 -> 281763 bytes
 po/pa.po                                           |  170 +-
 po/pl.gmo                                          |  Bin 627430 -> 627350 bytes
 po/pl.po                                           |  105 +-
 po/ps.gmo                                          |  Bin 43029 -> 43029 bytes
 po/ps.po                                           |  137 +-
 po/pt_BR.gmo                                       |  Bin 541908 -> 541908 bytes
 po/pt_BR.po                                        |  156 +-
 po/pt_PT.gmo                                       |  Bin 610727 -> 610661 bytes
 po/pt_PT.po                                        |  108 +-
 po/ro.gmo                                          |  Bin 416477 -> 416477 bytes
 po/ro.po                                           |  132 +-
 po/ru.gmo                                          |  Bin 797933 -> 797827 bytes
 po/ru.po                                           |  105 +-
 po/si.gmo                                          |  Bin 281852 -> 281852 bytes
 po/si.po                                           |  172 +-
 po/sk.gmo                                          |  Bin 652722 -> 652637 bytes
 po/sk.po                                           |  105 +-
 po/sl.gmo                                          |  Bin 431888 -> 431827 bytes
 po/sl.po                                           |  210 +-
 po/sq.gmo                                          |  Bin 66278 -> 66278 bytes
 po/sq.po                                           |  433 +--
 po/sr.gmo                                          |  Bin 352818 -> 352757 bytes
 po/sr.po                                           |  349 +--
 po/sv.gmo                                          |  Bin 435237 -> 435166 bytes
 po/sv.po                                           |  124 +-
 po/ta.gmo                                          |  Bin 86711 -> 86711 bytes
 po/ta.po                                           |  386 +--
 po/te.gmo                                          |  Bin 148086 -> 148086 bytes
 po/te.po                                           |  211 +-
 po/tet.gmo                                         |  Bin 484 -> 484 bytes
 po/tet.po                                          |  143 +-
 po/th.gmo                                          |  Bin 353347 -> 353347 bytes
 po/th.po                                           |  167 +-
 po/tl.gmo                                          |  Bin 461 -> 461 bytes
 po/tl.po                                           |  143 +-
 po/tr.gmo                                          |  Bin 638460 -> 638386 bytes
 po/tr.po                                           |  105 +-
 po/uk.gmo                                          |  Bin 807839 -> 807739 bytes
 po/uk.po                                           |  105 +-
 po/uz.gmo                                          |  Bin 33505 -> 33505 bytes
 po/uz.po                                           |  311 +-
 po/vi.gmo                                          |  Bin 556963 -> 556892 bytes
 po/vi.po                                           |  139 +-
 po/vlc.pot                                         |  104 +-
 po/wa.gmo                                          |  Bin 286829 -> 286829 bytes
 po/wa.po                                           |  240 +-
 po/zh_CN.gmo                                       |  Bin 570316 -> 570244 bytes
 po/zh_CN.po                                        |  105 +-
 po/zh_TW.gmo                                       |  Bin 269795 -> 269691 bytes
 po/zh_TW.po                                        |  118 +-
 po/zu.gmo                                          |  Bin 61515 -> 61515 bytes
 po/zu.po                                           |  125 +-

(Translation updates)

 Makefile.in                                        |  416 ++-
 bin/Makefile.in                                    |    8 +-
 compat/Makefile.in                                 |   22 +-
 configure                                          |   65 +-
 doc/Makefile.in                                    |    8 +-
 lib/Makefile.in                                    |   16 +-
 m4/Makefile.in                                     |    8 +-
 modules/Makefile.in                                |   12 +-
 modules/access_output/Makefile.in                  |   12 +-
 modules/audio_filter/Makefile.in                   |   12 +-
 modules/control/Makefile.in                        |   12 +-
 modules/gui/Makefile.in                            |   12 +-
 modules/gui/ios_dialog_provider/Makefile.in        |   12 +-
 modules/gui/qt4/Makefile.in                        |   12 +-
 modules/gui/skins2/Makefile.in                     |   12 +-
 modules/hw/vdpau/Makefile.in                       |   12 +-
 modules/misc/Makefile.in                           |   12 +-
 modules/mux/Makefile.in                            |   12 +-
 modules/packetizer/Makefile.in                     |   12 +-
 modules/stream_out/Makefile.in                     |   12 +-
 modules/text_renderer/Makefile.in                  |   12 +-
 modules/video_filter/Makefile.in                   |   12 +-
 modules/video_output/Makefile.in                   |   12 +-
 modules/visualization/Makefile.in                  |   12 +-
 share/Makefile.in                                  |    8 +-
 src/Makefile.in                                    |   45 +-
 test/Makefile.in                                   |    8 +-

(Generated files from auto tools which are re-generated during the
build)

Cheers

[1] https://trac.videolan.org/vlc/ticket/12366
[2] https://trac.videolan.org/vlc/ticket/12367
[3] https://trac.videolan.org/vlc/ticket/12359
[4] https://trac.videolan.org/vlc/ticket/12363
[5] https://trac.videolan.org/vlc/ticket/12356
-- 
Sebastian Ramacher
diff --git a/ChangeLog b/ChangeLog
index 42f6fee..41be72c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,979 @@
+commit 5a53ff0de2eeaab69980975ec8a4c6e6b78f190a
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sun Nov 2 11:35:16 2014 +0200
+
+    PulseAudio: clobber original channels (refs #12673)
+    
+    Do like the other outputs do.
+    
+    (cherry picked from commit a842bc4778ea330326af8abf6de5659c78e30cb7)
+
+commit a4384433b10d31c49f63411e7ce905913358fe79
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Sat Nov 1 13:42:08 2014 +0100
+
+    lib: use app-icon-name for libvlc_set_app_id
+    
+    (cherry picked from commit 67e74ed283db585fb8ee7905a877117fbde1932d)
+    Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
+
+commit cadbdded4be53c68a72ac9271a9a37ac89ab815e
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Wed Oct 22 18:48:50 2014 +0200
+
+    extras: libtool depends on automake, which in turn depends on autoconf
+    
+    This solves long-standing conflicts with homebrew as well as the latest Xcode releases. Additionally, in most cases, all 3 items were built anyway.
+    
+    (cherry picked from commit 79df8a65f1a4a2a3444cdeecc3055681e6dd5a46)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 4f81656751f0f0f2714132548bf4c819092918b3
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 30 22:39:26 2014 +0100
+
+    macosx: do not use the cone as sidebar icons
+    
+    The cone does not really fit and looks ugly. Instead, use the
+    broadcast icon for all internet-related sd's and local icon for
+    devices category.
+    
+    (cherry picked from commit a4a567cd04f30bc864057d8c8ea59c5e8a193ceb)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 6df8d96ab79cf204470b37595ce9a820930a6af7
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Sat Nov 1 12:26:48 2014 +0100
+
+    macosx: Fix resume playback in certain situations
+    
+    For resumption we need to rely on the "time" variable instead of
+    "position", as the total duration of the file might not have been
+    set yet.
+    
+    Also simplifies the code.
+    
+    close #11981
+    
+    (cherry picked from commit c91715f76e29b933128f772d3c936c1d2eea8227)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 25febaf446477e880f69b407f74fe9d98c914689
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Sat Nov 1 13:13:51 2014 +0100
+
+    Qt: prevent focus stealing on seekbar tooltip
+    
+    Why be consistent, Qt?
+    
+    Close #12671
+    
+    (cherry picked from commit f35a1b8311d2a8ac12dc2f419157c35768865711)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 9c90f11403fe6641d885cd90accee2d7b21e05a2
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Thu Oct 30 21:11:39 2014 +0200
+
+    doc: make libvlc_audio_set_volume_callback() dependency explicit
+    
+    (cherry picked from commit 234e80cb494162a6272b125aed8021dfa71f793e)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit acfea9cc2a76ea3314ff2df71f1ca075a441ca45
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Oct 27 20:50:17 2014 +0100
+
+    Contribs: disable vpx encoders with --disable-sout
+    
+    (cherry picked from commit 5f7cb6f8b1864563652954a0d5d667bebb2583ee)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 2498d15a8d354f5757988b6b9fcac4f281195a13
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Oct 27 20:49:56 2014 +0100
+
+    Contribs: disable vpx docs
+    
+    (cherry picked from commit 4da2ee4b70e3f1b217fa3dbac7076c160745eaf1)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 58fd79d65b08b7dfd6efd534784108f76faf0004
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Oct 27 20:39:11 2014 +0100
+
+    Contribs: don't disable VP8 decoder
+    
+    (cherry picked from commit 8032442916b4d08884f60c4ae3341d879cd65b97)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 61419e6c8c463768acb49eb4c9d5983b43556c95
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Thu Oct 30 02:25:52 2014 +0100
+
+    Win32: copy the BD-J jar to the release folder
+    
+    (cherry picked from commit ad0e12de52f552c8cfb3b3d60ee00a7246998c8d)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit df9f6b436135b0c72b5970ad88162e7fdce12442
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 29 20:00:51 2014 +0100
+
+    macosx: Add own callback path for item-change
+    
+    The item-change callback might be called very often, and thus an
+    own code path is better, with only necessary updates.
+    
+    Additionally, this fixes multiple resume playback dialogs occuring
+    at once when starting playback in certain situations.
+    
+    refs #11981
+    
+    (cherry picked from commit 293ed5e2ce38aa632a47206ff260a49771e9f67b)
+    Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
+
+commit b486cba4c3ee94ee3d9db331189870c3455219b5
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Fri Oct 10 09:44:18 2014 +0200
+
+    contrib: speexdsp: disable neon on aarch64
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 9cf85e3ab92718d8a9ec661cd671b7e7a4289d58)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 838054b7550d074494300ebd9b7bc7781edc05dd
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Mon Oct 27 12:09:56 2014 -0700
+
+    swscale: fix compilation if avcodec and avformat are disabled
+    
+    (cherry picked from commit 0b9f0d211699248112818b50e5b68d22c996cf3f)
+
+commit 08df2ec167c6eba178e8b53d767a86c842a20922
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Mon Oct 27 11:29:58 2014 -0700
+
+    extras/ios: add a new flag to compile a limited set of non-scary codecs only
+    
+    (cherry picked from commit aede137f9aedbfacec351bbbeba13bdb5e210ba1)
+
+commit 7f1c70d57033a66422f50648cd8e1e5ae06b86e9
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Oct 27 19:54:28 2014 +0100
+
+    Contribs: disable speex NEON on aarch64
+    
+    (cherry picked from commit 6860455438177ba8669a2d0738bdd9503abc5cb5)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 5ff6bda6efcc4619fe6882e69f0a2a08bba4713a
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Oct 27 19:54:03 2014 +0100
+
+    Configure: swscale needs libavutil headers
+    
+    (cherry picked from commit cbe9b209227272da3e6c01abdf36d0b3d20c47cf)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 7b13b9d40a76af5eca76e9d67cd54c0d7e499172
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Thu Oct 23 07:01:21 2014 +0000
+
+    mediacodec: fix crash when color-format is invalid
+    
+    Fail if GetVlcChromaFormat return 0.
+    (It'll throw a HardwareAccelerationError)
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 40aa75316d6f3edc457354ac26295e292a8b1f9f)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit c59dc61a3a5c369fcb6ea96ca0a395a50a27273e
+Author: Sean McGovern <gseanmcg@gmail.com>
+Date:   Thu Oct 23 22:13:41 2014 -0400
+
+    sparkle: add SHA512SUM data
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 0b930ade83b84dc22fed7bbf0ad8e2c6f7595ef4)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 72b2b969cf3daa0f548b76b10ffe7533b14c904c
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Thu Oct 23 12:56:43 2014 +0200
+
+    mediacodec: cleanly abort DecodeVideo if GetOutput failed
+    
+    - Fix possible infinite loop with sw rendering if GetOutput failed.
+    - Don't return a pic and don't release the block in case of error_state.
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit ab4c04f2f5545dcc3cae7ebffe8d28f3e2c5a915)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 18a597c4abbd99e9a59567a4b14dd737bb402797
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Thu Oct 23 17:58:50 2014 +0300
+
+    mjpeg: do not assume that stream_Read() succeeds
+    
+    (cherry picked from commit f03f44d76a1949f5cbc05989fa1ab257818d245c)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 13dd6a6cd45278c79a2bfef6e25bdf9646a5e557
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Mon Oct 20 14:50:27 2014 +0200
+
+    contrib: speexdsp: fix build with android-ndk10c
+    
+    In android-ndk10c, there is a "arm_neon.h" for all archs. The arm_neon.h for
+    x86* contains correspondence between neon and sse. In speexdsp, There is a
+    conflict between resample_sse.h and resample_neon.h. So disable neon if arch is
+    known to don't have neon.
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit ef98e81ff014175fd7494c8313de8883d15834b3)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 079c2364f5d90284bf2ca20d89c51e7d2c4d9356
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Wed Oct 22 19:20:14 2014 +0200
+
+    extras/ios: fix compilation with latest xcode releases
+    
+    (cherry picked from commit 5027938fb4965bca2d3e11ad1c17ca7aecaed258)
+
+commit ef931323bd6420fe34634dc15733823926a97567
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Sun Oct 12 16:16:40 2014 +0200
+
+    ios: require iOS 6.1 since 5.1 is no longer support by current Xcode releases
+    
+    (cherry picked from commit d65920ce6607fb24a22e7645b5fd1d03e9e5cfdc)
+
+commit 7f06a46695fb7a7f1a3a498551b00f8896c57680
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sat Oct 25 20:45:58 2014 +0300
+
+    swscale: scale the whole picture (fixes #12085)
+    
+    ...not just the visible part. So that cropping still works even though
+    the visible part of the input and output format typically do not match.
+    
+    (cherry picked from commit 44d4685b1ca4d1b58c4ce77d479103d482be5d14)
+    
+    Conflicts:
+    	modules/video_chroma/swscale.c
+
+commit de72116538fcf1bf3bd60dae8bda1fd9689d2a70
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Thu Oct 23 21:58:58 2014 +0300
+
+    PulseAudio: remove the base volume hack
+    
+    (cherry picked from commit d3de0ffc472ddaf38fe6ba20f05071742ad8d86b)
+
+commit 385c1194bf58076bfd73e41ecc24b10ddafefe7f
+Author: Pierre Ynard <linkfanel@yahoo.fr>
+Date:   Sat Oct 25 03:51:45 2014 +0200
+
+    youtube.lua: support embedded iframe URLs
+    
+    Closes #11878
+    
+    (cherry picked from commit 77f58c382703f93e899683844d1917cd7cb69d22)
+    Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
+
+commit 60ff09fe09ba01f978c6e5f1c2f6dfa17fceabf8
+Author: Tristan Matthews <tmatth@videolan.org>
+Date:   Fri Oct 24 16:39:37 2014 -0400
+
+    contrib: opus: don't build extra programs and doc
+    
+    (cherry picked from commit bdd6d80e23f3358c887215fb0497dff79b799e09)
+
+commit 70d70ee0460d3e4fedc98428de9d539ec9352a34
+Author: Damien Erambert <damien.erambert@me.com>
+Date:   Wed Oct 22 20:27:40 2014 +0200
+
+    macosx: update yosemite graphics for time slider knob and volume buttons
+    
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+    (cherry picked from commit def33da534a93e67f251d31057a3d503febb9754)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit db2102d39b343e5457db6adf0084acf6aa5c8083
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Wed Oct 22 17:22:25 2014 +0200
+
+    macosx: don't rebuild the playlist table unnecessarily often (close #12430, refs #9960)
+    
+    (cherry picked from commit 52b64b0567338913bc43a4e013ad20f2bbda8be3)
+
+commit bd2c4b17b8e6f2967c5a4cc5abd84714a699cca2
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Tue Oct 21 15:07:32 2014 +0200
+
+    extras/ios: add a debug flag to the build script
+    
+    (cherry picked from commit afa9344cb8c479503aaacbd6605a89c4a0e3026b)
+
+commit 89f1948974625389eb9b46141496851c654cf407
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Wed Oct 15 22:13:22 2014 +0300
+
+    caca: do not pretend to support resize
+    
+    (cherry picked from commit e92fbab66cf7f257ae9a3fefe73eea18b478d6f3)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 185a1d709c6dd7893ed9088b9e4e46cb995bf016
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Wed Oct 15 12:09:36 2014 +0200
+
+    Contribs: update gpg-error to 1.16
+    
+    Close #12400
+    
+    (cherry picked from commit e5cd171227b1982dc70cc97703622cbef82ead29)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 2099d8b8f075e62fae73759d37b1eb92c4b0605d
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Fri Oct 17 15:28:13 2014 +0200
+
+    Tools: Update pkg-config-lite to 0.28-1
+    
+    (cherry picked from commit 8d285ab272740fddeed76570d89c37a52636857c)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 405088e9f4161dac27dc6d15d101fe722983be42
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Mon Oct 20 14:50:27 2014 +0200
+
+    contrib: speexdsp: fix build with android-ndk10c
+    
+    In android-ndk10c, there is a "arm_neon.h" for all archs. The arm_neon.h for
+    x86* contains correspondence between neon and sse. In speexdsp, There is a
+    conflict between resample_sse.h and resample_neon.h. So disable neon if arch is
+    known to don't have neon.
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit ef98e81ff014175fd7494c8313de8883d15834b3)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit e15a5ab72d0e1cfcbff829d0671873c35299f414
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Sun Oct 19 23:07:41 2014 +0200
+
+    macosx: do not save resume data if VLC is in private mode
+    
+    (cherry picked from commit a372720ffe4ebdf05e4145407e611a1cd9f0e72e)
+    Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
+
+commit 56ccd7532f4cb9c5378500adca9e936578059c34
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Sun Oct 19 23:00:05 2014 +0200
+
+    macosx: fix resume playback guards, do not resume for folder urls
+    
+    Folder URLs are likely DVD or bluray folders, which cannot be resumed
+    properly. Also fixes memleak, and unify guards. Do not save position
+    for input items which we do not resume afterwards anyway.
+    
+    (cherry picked from commit b2525ebf7c3658d72963def5d9ac5b7627ac3b4c)
+    Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
+
+commit ec603a11813f7606576c33eaf097f8b5cc3df152
+Author: Hannes Domani <ssbssa@yahoo.de>
+Date:   Mon Oct 20 18:06:13 2014 +0200
+
+    Win32: stop stacktrace on bad pointer
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 7e92a492766d31dfa91aaea2eafb37d35e8886a1)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 2468897321f8aef3bfe5ffd2b43ade2f5e9b2ea5
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Sun Oct 19 18:57:22 2014 +0200
+
+    macosx: slightly de-uglify the VLC description in the about dialog by rendering it in the system's default font instead of Times
+    
+    (cherry picked from commit a8994ec08542bf0954e67dccf1d47657adaf4570)
+
+commit e782ae3193da77d6e4565250d188d64f461bcbef
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Sat Oct 18 13:20:36 2014 +0200
+
+    macosx: fix wrong size of playlist when using podcast and minimal view
+    
+    (cherry picked from commit 19bbb8cc2c0aacc176ac83dc7a57fe94407e9ef4)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit f9f386157af15d8c1e1f0180503f9c8b459e5b8d
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Sat Oct 18 11:21:51 2014 +0200
+
+    macosx: fix podcast view interfering with dropzone
+    
+    (cherry picked from commit 2b6a8709c5282bf40b3667376d7e67b6ca46b262)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 10f7cb74e71e6c004d9a5afefce4bbe145949765
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Sat Oct 18 09:05:09 2014 +0200
+
+    macosx: Fix drawing issues with podcast controls and dropzone
+    
+    - Remove black lines below podcast controls
+    - fix uncentered dropzone when starting native fullscreen, by slightly
+      increasing the min height
+    - fix disappearing or uncentered dropzone when changing between
+      normal and minimum view quickly
+    - consolidate dropzone and podcast sizings in interface builder
+    
+    (cherry picked from commit 58b713c7f84e8eb9eedc8ca383ac59cd212db234)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 4dab7846632d4914f9ebbf9f249b5b24c8e4d141
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Fri Oct 17 22:37:15 2014 +0200
+
+    macosx: remove alternate image from max volume and mute buttons
+    
+    This image was set, but it is not overwritten by its os-dependent
+    counterpart in code. In fact, we only have one image, so just unset
+    the alternate image in xib.
+    
+    (cherry picked from commit 544ffab82934566b535c2a10b0dfe6d9ec0154da)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit b142d942b0420f7ecbec9e32e328c3da48c46058
+Author: Damien Erambert <damien.erambert@me.com>
+Date:   Fri Oct 17 22:18:19 2014 +0200
+
+    macosx: Fix and update yosemite titlebar graphics
+    
+    This especially fixes the -on graphics.
+    
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+    (cherry picked from commit 26fde7655abc8f91eddfc971ed1e21d19fbf7edc)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 90429455de17f10dfe13921f439747ea8540bdae
+Author: Damien Erambert <damien.erambert@me.com>
+Date:   Sat Oct 4 23:30:36 2014 +0200
+
+    macosx: fix music sidebar icon
+    
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+    (cherry picked from commit 920a33915ff2e140a19bd70ede652580d3932689)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 4812b7dd546fdf0d54441f4e2927dd119c3acb6a
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 2 17:42:32 2014 +0200
+
+    macosx: avoid unnecessarily early loading of open panel nib
+    
+    Loading the open nib can take some significant time, due to audio/
+    video devices enumeration.
+    
+    refs #12123
+    
+    (cherry picked from commit 640b974d52785d5ae215c1cfeb46fdd5bc085231)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 5d22821b30a1e648e5a994fd5cb5ff1e34afb3b4
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 2 13:53:51 2014 +0200
+
+    codec: libass: show dialog for fontconfig cache recreation on osx
+    
+    close #12014
+    
+    (cherry picked from commit fd67a259eadaef3b25dc1ca50b8b09fd971a93fe)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit ddcf826bc76cf0a934dd237c3117d08dfdddb5e8
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 2 13:52:44 2014 +0200
+
+    Makefile.am: Add new macosx ressources
+    
+    (cherry picked from commit 5cb2c764351ba8d8beab1f13208d18313e4e4406)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit e5f3461c22bbed3829a1ed9a56d36562b4ce236d
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 2 13:22:52 2014 +0200
+
+    macosx: also cache old native fullscreen images and move to better place
+    
+    (cherry picked from commit 0d7d2cb4b1b98988f2e4b15af2af0f81b8253080)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 0da8979d04da3a19cc1cacacfe01627a9c37806f
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 2 12:59:15 2014 +0200
+
+    macosx: implement native fullscreen behaviour for yosemite titlebar
+    
+    (cherry picked from commit 0b001a0763aa2e34f6abd921184ce58d56947421)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 533632432432234e24d26fada305bcd9aef274a5
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 2 11:29:22 2014 +0200
+
+    macosx: simplify loading of titlebar graphics and integrate yosemite icons
+    
+    (cherry picked from commit 5647339c6b8631f749b6c102da90715e04ab82a4)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit f5cf5a1295e7342b5c088319ffd67c055a6b59e8
+Author: Damien Erambert <damien.erambert@me.com>
+Date:   Wed Oct 1 23:55:49 2014 +0200
+
+    macosx: fix yosemite retina graphics for fullscreen button
+    
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+    (cherry picked from commit 42ee1b6ebb4bdf6b5092e824a95b65839ba018ef)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 70726114cd169d8b3809b20230aca4597819056d
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 1 22:00:26 2014 +0200
+
+    macosx: fix main window top bar by reinstoring graphic
+    
+    (cherry picked from commit 1f027bcb06c8f8d92084af1a584869dbee3039c9)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit ff8d19710854abf91763da5908f7ec87d705f4a8
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 1 21:52:01 2014 +0200
+
+    macosx: add yosemite graphics to project file and use them in code
+    
+    This also cleans up the images structure inside the project.
+    
+    (cherry picked from commit 6616504dfb7658f3b394bef2555f92a390e682ed)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+    
+    Conflicts:
+    	modules/gui/macosx/StringUtility.m
+
+commit 0baaf44f1be63abc714f175927e1e67af3d8994d
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 1 20:03:40 2014 +0200
+
+    macosx: pngcrush new yosemite icons
+    
+    (cherry picked from commit baf2c19d97b874373480c317174aebf92504b060)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 26c23d0c8aa2239502009a2683ab1c3b4ee5f52a
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 1 19:58:43 2014 +0200
+
+    macosx: restructure and unify naming of new yosemite icons
+    
+    Now, new root folders are created for yosemite, with the naming
+    scheme mainwindow_yosemite. All icons have the prefix ys-.
+    
+    (cherry picked from commit 405614f5422880ecf75072a1ad99ecd201ce4564)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 33cbd96e42f05f192b6d0d9cb2101534faecf062
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 1 19:43:52 2014 +0200
+
+    macosx: removed old graphics which are not used anymore
+    
+    Also renames 4 yosemite graphics to match the existing naming.
+    
+    (cherry picked from commit fe8867d9257075bd8b8866cb1e63a56bbd99aee4)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 12f3fdc3eb5cf761ec83f2d9ff2344c33c07d3e0
+Author: Damien Erambert <damien.erambert@me.com>
+Date:   Sat Aug 23 18:31:55 2014 +0200
+
+    macosx: Added graphics for buttons on Yosemite 10.10
+    
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+    (cherry picked from commit 45e123f9dadf42220a3844e7152d8d87d8dd0b4c)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 7b1cd368a6170388b0208ef770510fcbc7e0c7ef
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 1 16:03:33 2014 +0200
+
+    macosx: add yosemite guard
+    
+    (cherry picked from commit 2c674d76924785536fef66929b7ddcb08dde585b)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit b3f316e8b18d4c303de7bd27d2397bf0f5fd173a
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Thu Oct 16 20:20:12 2014 +0300
+
+    avcodec: fix double free on error
+    
+    (cherry picked from commit 9bf41d6aeb35a121ce9c96adb21852ca69eb106b)
+
+commit c66a9f4334b6dc838451ba2d1b4f6d53fe7d1a5a
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Fri Aug 8 04:42:48 2014 +0200
+
+    PS: Fix H264 in evob
+    
+    (cherry picked from commit 3b33cbca98e76ed3d65fabcf9efedcea415ffdf5)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit e33e5def5b9901fadb0d756d60501c8dd9e8db7d
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Tue Oct 14 11:35:57 2014 +0200
+
+    mediacodec: exception in getCapabilitiesForType is not critical.
+    
+    fix mediacodec with android-L on Nexus 7v2.
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 6e2f49095619d027ba99020076b0aedc6cde7afe)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit e49c91ef43ff3f537c8042de781164305c287899
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Tue Oct 14 11:35:56 2014 +0200
+
+    mediacodec: fix jni leak
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 05644c1e54548cc4ac0b57b70000d2e5fe7d5c16)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 47d9673f045a520e2baaf005302718c2b3d2a8a6
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Sat Oct 11 17:53:45 2014 +0200
+
+    Win32: prefer the static libraries when creating the dlls
+    
+    This should avoid the issues of packaging libgcc_s_sjlj-1.dll,
+    libwinpthread-1.dll and the like.
+    
+    (cherry picked from commit 417b6eb0f09dc73984a7dba2aa42c9d8683d5294)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 85836f2c835c85eb00a52dd19d6c51b4c38c574d
+Author: KO Myung-Hun <komh78@gmail.com>
+Date:   Sun Oct 12 14:59:26 2014 +0900
+
+    Add -avoid-version to LDFLAGS of vlc and vlccore on OS/2
+    
+    Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
+    (cherry picked from commit 863f851833eab0c4a2b5de354bbf50270a5d8d2b)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit bda1bbd1d290d7eb2c243adea011e52924f0d598
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Mon Oct 13 23:36:31 2014 +0200
+
+    demux: libmp4: reorder & fix ilst/udta rules
+    
+    (cherry picked from commit 1e913466fb03169e6235f09a8cfae1910b89e3e6)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 2bbd387c2b358642a4e3e2cce47caaae2c2331c0
+Author: Julian Scheel <julian@jusst.de>
+Date:   Fri Oct 10 11:21:07 2014 +0200
+
+    codec/zvbi: Only reset subpicture in text mode
+    
+    The subpicture reset, as stated in the comment, is only required when
+    rendering text-subtitles. In fact it causes an invalid image to be generated
+    and possibly output in non-text mode. Hence disable the picture recreation for
+    non-text mode.
+    
+    Signed-off-by: Julian Scheel <julian@jusst.de>
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 47012982d20cf537fc710edd14c9c9c4183d0a19)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit ac4f2bc6d06890f40034d8ad368c208de76a61a6
+Author: Tristan Matthews <tmatth@videolan.org>
+Date:   Sat Oct 11 21:42:10 2014 -0400
+
+    contrib: speexdsp: disable examples
+    
+    (cherry picked from commit 7bd11e51ac8dee7c27faff7c1c406164f2943a94)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    
+    Conflicts:
+    	contrib/src/speexdsp/rules.mak
+
+commit 41cbb49b15d67c0b03299fdebe7e56e16b5d4313
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Sun Oct 12 16:30:12 2014 +0200
+
+    extras: mirror ragel on v.o since upstream server is broken
+    
+    (cherry picked from commit af3eeea5af09938d1f90c46f048137156c531327)
+
+commit dc7633b308b5ffd2b2b16ca4af734a00af4d9be6
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sat Oct 11 20:46:18 2014 +0300
+
+    configure: fix SFTP plugin name
+    
+    (cherry picked from commit 88ab8def21e117704335a800cfbe5e08baf1edd7)
+
+commit c5138aedf45a23deb989f3f12652742e4189cce5
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sat Oct 11 17:06:53 2014 +0300
+
+    vout: reset A.R. and zoom to sane defaults if unset (fixes #8184)
+    
+    (cherry picked from commit fb63f1cc675c5302628ad2fec033ac2472107085)
+
+commit f5cd073aac897ebecbf8f38657e5de18e61d2e88
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sat Oct 11 14:37:52 2014 +0300
+
+    lib: disable decoding hardware acceleration with vmem
+    
+    This ensures that subpictures blending works, and avoids copying back
+    video frames from GPU to CPU. For proper hardware acceleration,
+    use libvlc_media_player_set_xwindow() instead.
+    
+    (cherry picked from commit 86796e2a57adcf5daea9d182c4378e49b40a7f47)
+
+commit 7644f23cce73b87b18e08b4ba9ea3a772e8f249d
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Thu Oct 9 22:30:44 2014 +0300
+
+    msw: fix format string
+    
+    (cherry picked from commit e8ab8fb6b40d315632da311de7a2e03002a528c5)
+
+commit 99dfe572819e4780bae80118af0ff5b63723b2ec
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sat Oct 11 10:12:10 2014 +0300
+
+    mft: fix format string
+    
+    (cherry picked from commit dbdd63484c7e8bed853e4f2b398c906df181be3a)
+
+commit d3f878cc4b68e53bb5f477cb3cfb5e0ef9d9a801
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sat Oct 11 10:36:40 2014 +0300
+
+    configure: fix typo in rcc code (fixes #12384)
+    
+    Pointed-out-by: Paweł Stankowski
+    (cherry picked from commit 34fef72dab6f7718370dbe27a66f320362475198)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 3e8036a5f6b9fc4a3dd3baaea8a81102dcd4bdd5
+Author: Tristan Matthews <tmatth@videolan.org>
+Date:   Sat Oct 11 00:09:21 2014 -0400
+
+    png: encoder: encode visible lines, but use pitch for offset
+    
+    (cherry picked from commit fd1e287a11d678a8e131d59979e84fb4486c0c57)
+
+commit b28f5a1eb1417364b4fe08d105b8faf3efa68e56
+Author: Tristan Matthews <tmatth@videolan.org>
+Date:   Fri Oct 10 22:32:13 2014 -0400
+
+    png: encoder: really fix row offset calculation
+    
+    (cherry picked from commit 47431e192bbaefe723c7b6915a54f3ab4ca440e8)
+
+commit 8d8617bb938036a444e02425bffa6cad9bcbd855
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Thu Oct 9 14:44:36 2014 +0200
+
+    demux: libmp4: fix heap buffer write ofw in chpl (fix #12366)
+    
+    (cherry picked from commit d1bdd44b1902f62453f6982e1ee09a5b243f25ee)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 448cc958b4522654f6d7fdad5eef5f36831c77d1
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Thu Oct 9 16:26:20 2014 +0200
+
+    demux: mp4: fix last chunk size computation (fix #12362)
+    
+    (cherry picked from commit 8a0493add9682187192cc3dab514294ad0b9f541)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit bf75f88f04c4e472940d00314a997342ba30313e
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Thu Oct 9 20:29:54 2014 +0200
+
+    demux: asf: fix heap buffer write ofw in priorities (fix #12363)
+    
+    (cherry picked from commit 56e71fe572f9e97c8deb3cffdebdd0f0ea8979d0)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit b27f31c78ce42549d983268a64bf49d9fd42d06c
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Thu Oct 9 23:46:35 2014 +0200
+
+    demux: mp4: fix heap read ofw in extra bytes
+    
+    (cherry picked from commit 54bbfac289eeeed9ba044bf9f9e1ee43e5642c78)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit abf74133941284b0af3b5c2240460b8017037e92
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Wed Oct 8 19:13:25 2014 +0200
+
+    demux: ogg: fix use after free (fix #12360)
+    
+    (cherry picked from commit b3664586b7db3bd94fad7dd12b9cad3633eaef1a)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 1530ef4fdb3e444bf939cc9cb2e46df4b1e6022f
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Wed Oct 8 18:48:44 2014 +0200
+
+    demux: libavi: fix heap write ofw
+    
+    (cherry picked from commit dde5f4aff32b81b6cace0a88a3a718147d0f3bf4)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit ee94797446fde0d4d622823c77116abc6c90c3ed
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Wed Oct 8 17:59:23 2014 +0200
+
+    demux: livavi: fix heap buffer ofw in strf parsing (fix #12359)
+    
+    (cherry picked from commit cd87a5a9482adef5c679f80fc3a75eccbd7c6970)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit e8a2b2997d5bb64180787f8cdf8480973be53edc
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Wed Oct 8 17:09:44 2014 +0200
+
+    demux: tta: fix heap buffer ofw (fix #12357)
+    
+    (cherry picked from commit 3979f15fc235f576f5ed4278ffe06eab53425bf4)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit fc45e6cbdf909c372e708cca3e40911c3a5846fe
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Wed Oct 8 17:06:28 2014 +0200
+
+    demux: mp4: fix heap buffer ofw with zero chunk (fix #12356)
+    
+    (cherry picked from commit 929970aecfc91725ba243953ccb5197fa797c0a8)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 5249240cf82e58e6ec1177706a2a9c22ad1d3155
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Wed Oct 8 15:17:55 2014 +0200
+
+    demux: libmp4: fix heap overflow in stdp debug code (fix #12358)
+    
+    (cherry picked from commit 2caa3ce4d4a50da0796d0e2bb7feebb53aed8f8f)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 7d4f14c4b70fc030531384f3dece3ab6b9514da3
+Author: Rafaël Carré <funman@videolan.org>
+Date:   Tue Oct 7 08:55:03 2014 +0200
+
+    contrib: fix freetype dependencies
+    
+    (cherry picked from commit 63c91494921e17541f96c4b311ed791ee3ce21d9)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 0a1758799929b1afb56eea4c106b690452ac5761
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Tue Oct 7 23:21:35 2014 +0300
+
+    include: fix external compilation (fixes #12355)
+    
+    (cherry picked from commit 98682b66af497c2a038011aae227fbd13511167a)
+
+commit 468e08143053c5705f5fed18c9ad2cfc4c58ec0d
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Tue Oct 7 23:16:11 2014 +0300
+
+    include: remove restrict keyword (fixes #12354)
+    
+    This is necessary for compatibility with C++. The keyword is only
+    meaningful in definition, not in declaration anyway.
+    
+    (cherry picked from commit 1a4dc0bd85d94c9ad0b50268aed009840bf2d30e)
+    
+    Conflicts:
+    	include/vlc_tls.h
+
+commit ef84c9c97d85131a0fe33dd59a5bf02e34615cfb
+Author: Igor Prokopenkov <cmyk777@gmail.com>
+Date:   Fri Oct 3 15:25:24 2014 +0000
+
+    lib: Fire libvlc_MediaListPlayerPlayed at end of playlist
+    
+    The "libvlc_MediaListPlayerPlayed" event was defined but unused.
+    It is now fired when libvlc_media_list_player is played until last item in the playlist
+    
+    Signed-off-by: Igor Prokopenkov <cmyk777@gmail.com>
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit fd4a0ba83493bd91f2adb7b68ae9fb3c3d5fc972)
+    Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
+
+commit cd4d3a09b37e65b95e553657a7c616cbc0fd2f7e
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Sun Jul 6 00:59:01 2014 +0200
+
+    Contribs: apply OSX patch only on OSX
+    
+    Else, it conflicts with Win32 patch and fails to compile
+    
+    (cherry picked from commit f836a94d9c4a78a03cc412d5559d274dc2df459b)
+    Signed-off-by: Rafaël Carré <funman@videolan.org>
+
+commit ea1927e79317b60a931c7bfff246914aac9d6a7a
+Author: Tristan Matthews <tmatth@videolan.org>
+Date:   Mon Oct 6 23:08:02 2014 -0400
+
+    contrib: speex: avoid automatically depending on ogg
+    
+    ogg was still being pulled in as a dependency when cross-compiling, which
+    would break certain build configurations.
+    
+    (cherry picked from commit 4c63aa1192dc4148b8c540b0b7210aa91713505b)
+
+commit 73f12e7621c302f75d2a33aec7d179e5b4969880
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Mon Oct 6 23:56:31 2014 +0300
+
+    vdpau/deinterlace: set progressive flag on both output pictures
+    
+    (cherry picked from commit 6500f61ed6f6f8525961fab89d2a69bb0172434a)
+
+commit 283547fa41d040b5503e37e88cd961b10d1df1fd
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Oct 6 17:29:01 2014 +0200
+
+    On the road to RC1
+
+commit 9ccb8651baeca05c501193b1b371fbdef9a208ac
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Sun Oct 5 16:22:18 2014 +0200
+
+    demux: asf: stay within track limits
+    
+    (cherry picked from commit a61da5b40d25af4fd0417eb3a9a172a92e62c659)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
 commit ea7af98d99deaba263cdbe711c0121b3948c5db6
 Author: Jean-Baptiste Kempf <jb@videolan.org>
 Date:   Mon Oct 6 17:11:07 2014 +0200
diff --git a/NEWS b/NEWS
index c086f7a..4bfd1e0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,13 +1,13 @@
-Changes between 2.1.x and 2.2.0-pre4:
+Changes between 2.1.x and 2.2.0-rc1:
 --------------------------------
 
 Important changes:
  * The licenses of more modules have changed from GPLv2+ to LGPLv2.1+,
-   notably the streaming output, muxers and access output ones
+   notably most of the streaming output, muxers and access output modules
 
 Core:
  * Support automatic rotation using streams metadata, GPU-accelerated when possible
- * Add extensions download from external repositories
+ * Add extensions manager and downloading from external repositories
  * Rework the metadata fetching algorithm and policies
  * Partial fix of playback of short audio samples
 
@@ -85,7 +85,7 @@ Video Output:
  * New Android native window provider module
  * Direct rendering for MediaCodec Android hardware acceleration
  * Support for loading HLSL shaders in Direct3D video output
- * Add mmal based video output
+ * Add MMAL based video output for RaspberryPi
 
 Video Filter:
  * New Oldmovie effect filter
@@ -154,7 +154,7 @@ Misc:
  * Teletext navigation buttons support in Qt4 gui
 
 Security:
- * Numerous integer and heap overflow in Ogg and MP4 demuxer
+ * Numerous integer and heap overflow in Ogg, AVI, ASF, TTA and MP4 demuxers
 
 Removed modules:
  * iOS video output: use ios2
diff --git a/configure.ac b/configure.ac
index 1280beb..b603a3b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,12 +2,12 @@ dnl Autoconf settings for vlc
 
 AC_COPYRIGHT([Copyright 2002-2014 VLC authors and VideoLAN])
 
-AC_INIT(vlc, 2.2.0-pre4)
+AC_INIT(vlc, 2.2.0-rc1)
 VERSION_MAJOR=2
 VERSION_MINOR=2
 VERSION_REVISION=0
 VERSION_EXTRA=0
-VERSION_DEV=pre4
+VERSION_DEV=rc1
 
 PKGDIR="vlc"
 AC_SUBST(PKGDIR)
@@ -1721,7 +1721,7 @@ AS_IF([test "${SYS}" = "mingw32"], [ VLC_ADD_PLUGIN([access_smb]) ])
 dnl
 dnl sftp access support
 dnl
-PKG_ENABLE_MODULES_VLC([SFTP], [access_sftp], [libssh2], (support SFTP file transfer via libssh2), [auto])
+PKG_ENABLE_MODULES_VLC([SFTP], [sftp], [libssh2], (support SFTP file transfer via libssh2), [auto])
 
 dnl
 dnl  Video4Linux 2
@@ -2501,6 +2501,7 @@ then
       CPPFLAGS="${CPPFLAGS} ${SWSCALE_CFLAGS}"
       CFLAGS="${CFLAGS} ${SWSCALE_CFLAGS}"
       AC_CHECK_HEADERS(libswscale/swscale.h)
+      AC_CHECK_HEADERS(libavutil/avutil.h)
       VLC_ADD_PLUGIN([swscale])
       VLC_ADD_LIBS([swscale],[$SWSCALE_LIBS])
       VLC_ADD_CFLAGS([swscale],[$SWSCALE_CFLAGS])
@@ -3717,7 +3718,7 @@ AS_IF([test "${enable_qt}" != "no"], [
       QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix Qt5Core)"
       QT_HOST_PATH="$(eval $PKG_CONFIG --variable=host_bins Qt5Core)"
       AC_PATH_PROGS(MOC, [moc-qt5 moc], moc, [${QT_HOST_PATH} ${QT_PATH}/bin ${CONTRIB_DIR}/bin])
-      AC_PATH_PROG(RCC, [rcc-qt5 rcc], rcc, [${QT_HOST_PATH} ${QT_PATH}/bin ${CONTRIB_DIR}/bin])
+      AC_PATH_PROGS(RCC, [rcc-qt5 rcc], rcc, [${QT_HOST_PATH} ${QT_PATH}/bin ${CONTRIB_DIR}/bin])
       AC_PATH_PROGS(UIC, [uic-qt5 uic], uic, [${QT_HOST_PATH} ${QT_PATH}/bin ${CONTRIB_DIR}/bin])
     ], [
       PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [
diff --git a/debian/changelog b/debian/changelog
index 00a5110..208816e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+vlc (2.2.0~rc1-1) UNRELEASED; urgency=medium
+
+  * New upstream release.
+  * debian/vlc-nox.install.in: Correctly install sftp plugin.
+
+ -- Sebastian Ramacher <sramacher@debian.org>  Mon, 03 Nov 2014 19:53:30 +0100
+
 vlc (2.2.0~pre4-2) unstable; urgency=medium
 
   * Revert "Disable FreeRDP plugin". (Closes: #764294)
diff --git a/debian/vlc-nox.install.in b/debian/vlc-nox.install.in
index eef13de..10d3305 100644
--- a/debian/vlc-nox.install.in
+++ b/debian/vlc-nox.install.in
@@ -31,6 +31,7 @@ usr/lib/vlc/plugins/access/liblive555_plugin.so
 usr/lib/vlc/plugins/access/librar_plugin.so
 usr/lib/vlc/plugins/access/librtp_plugin.so
 usr/lib/vlc/plugins/access/libsdp_plugin.so
+usr/lib/vlc/plugins/access/libsftp_plugin.so
 usr/lib/vlc/plugins/access/libshm_plugin.so
 usr/lib/vlc/plugins/access/libtcp_plugin.so
 usr/lib/vlc/plugins/access/libtimecode_plugin.so
diff --git a/doc/ChangeLog-2014 b/doc/ChangeLog-2014
index 42f6fee..0e171a9 100644
--- a/doc/ChangeLog-2014
+++ b/doc/ChangeLog-2014
@@ -1,3 +1,997 @@
+commit 95774591eed71ca9a5479ad29c2e6bab74b88de5
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Nov 3 14:13:29 2014 +0100
+
+    NEWS: update for RC1
+
+commit 443b85e2ae10e97f49f592697160cbd2c1719978
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Nov 3 14:12:56 2014 +0100
+
+    Contribs: update FFmpeg/libav to a more recent sha1
+
+commit 8a35de15ffb718915700695cf9c80d16ac98d2e3
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Nov 3 14:08:33 2014 +0100
+
+    Update PO
+
+commit 5a53ff0de2eeaab69980975ec8a4c6e6b78f190a
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sun Nov 2 11:35:16 2014 +0200
+
+    PulseAudio: clobber original channels (refs #12673)
+    
+    Do like the other outputs do.
+    
+    (cherry picked from commit a842bc4778ea330326af8abf6de5659c78e30cb7)
+
+commit a4384433b10d31c49f63411e7ce905913358fe79
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Sat Nov 1 13:42:08 2014 +0100
+
+    lib: use app-icon-name for libvlc_set_app_id
+    
+    (cherry picked from commit 67e74ed283db585fb8ee7905a877117fbde1932d)
+    Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
+
+commit cadbdded4be53c68a72ac9271a9a37ac89ab815e
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Wed Oct 22 18:48:50 2014 +0200
+
+    extras: libtool depends on automake, which in turn depends on autoconf
+    
+    This solves long-standing conflicts with homebrew as well as the latest Xcode releases. Additionally, in most cases, all 3 items were built anyway.
+    
+    (cherry picked from commit 79df8a65f1a4a2a3444cdeecc3055681e6dd5a46)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 4f81656751f0f0f2714132548bf4c819092918b3
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 30 22:39:26 2014 +0100
+
+    macosx: do not use the cone as sidebar icons
+    
+    The cone does not really fit and looks ugly. Instead, use the
+    broadcast icon for all internet-related sd's and local icon for
+    devices category.
+    
+    (cherry picked from commit a4a567cd04f30bc864057d8c8ea59c5e8a193ceb)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 6df8d96ab79cf204470b37595ce9a820930a6af7
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Sat Nov 1 12:26:48 2014 +0100
+
+    macosx: Fix resume playback in certain situations
+    
+    For resumption we need to rely on the "time" variable instead of
+    "position", as the total duration of the file might not have been
+    set yet.
+    
+    Also simplifies the code.
+    
+    close #11981
+    
+    (cherry picked from commit c91715f76e29b933128f772d3c936c1d2eea8227)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 25febaf446477e880f69b407f74fe9d98c914689
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Sat Nov 1 13:13:51 2014 +0100
+
+    Qt: prevent focus stealing on seekbar tooltip
+    
+    Why be consistent, Qt?
+    
+    Close #12671
+    
+    (cherry picked from commit f35a1b8311d2a8ac12dc2f419157c35768865711)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 9c90f11403fe6641d885cd90accee2d7b21e05a2
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Thu Oct 30 21:11:39 2014 +0200
+
+    doc: make libvlc_audio_set_volume_callback() dependency explicit
+    
+    (cherry picked from commit 234e80cb494162a6272b125aed8021dfa71f793e)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit acfea9cc2a76ea3314ff2df71f1ca075a441ca45
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Oct 27 20:50:17 2014 +0100
+
+    Contribs: disable vpx encoders with --disable-sout
+    
+    (cherry picked from commit 5f7cb6f8b1864563652954a0d5d667bebb2583ee)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 2498d15a8d354f5757988b6b9fcac4f281195a13
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Oct 27 20:49:56 2014 +0100
+
+    Contribs: disable vpx docs
+    
+    (cherry picked from commit 4da2ee4b70e3f1b217fa3dbac7076c160745eaf1)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 58fd79d65b08b7dfd6efd534784108f76faf0004
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Oct 27 20:39:11 2014 +0100
+
+    Contribs: don't disable VP8 decoder
+    
+    (cherry picked from commit 8032442916b4d08884f60c4ae3341d879cd65b97)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 61419e6c8c463768acb49eb4c9d5983b43556c95
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Thu Oct 30 02:25:52 2014 +0100
+
+    Win32: copy the BD-J jar to the release folder
+    
+    (cherry picked from commit ad0e12de52f552c8cfb3b3d60ee00a7246998c8d)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit df9f6b436135b0c72b5970ad88162e7fdce12442
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 29 20:00:51 2014 +0100
+
+    macosx: Add own callback path for item-change
+    
+    The item-change callback might be called very often, and thus an
+    own code path is better, with only necessary updates.
+    
+    Additionally, this fixes multiple resume playback dialogs occuring
+    at once when starting playback in certain situations.
+    
+    refs #11981
+    
+    (cherry picked from commit 293ed5e2ce38aa632a47206ff260a49771e9f67b)
+    Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
+
+commit b486cba4c3ee94ee3d9db331189870c3455219b5
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Fri Oct 10 09:44:18 2014 +0200
+
+    contrib: speexdsp: disable neon on aarch64
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 9cf85e3ab92718d8a9ec661cd671b7e7a4289d58)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 838054b7550d074494300ebd9b7bc7781edc05dd
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Mon Oct 27 12:09:56 2014 -0700
+
+    swscale: fix compilation if avcodec and avformat are disabled
+    
+    (cherry picked from commit 0b9f0d211699248112818b50e5b68d22c996cf3f)
+
+commit 08df2ec167c6eba178e8b53d767a86c842a20922
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Mon Oct 27 11:29:58 2014 -0700
+
+    extras/ios: add a new flag to compile a limited set of non-scary codecs only
+    
+    (cherry picked from commit aede137f9aedbfacec351bbbeba13bdb5e210ba1)
+
+commit 7f1c70d57033a66422f50648cd8e1e5ae06b86e9
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Oct 27 19:54:28 2014 +0100
+
+    Contribs: disable speex NEON on aarch64
+    
+    (cherry picked from commit 6860455438177ba8669a2d0738bdd9503abc5cb5)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 5ff6bda6efcc4619fe6882e69f0a2a08bba4713a
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Oct 27 19:54:03 2014 +0100
+
+    Configure: swscale needs libavutil headers
+    
+    (cherry picked from commit cbe9b209227272da3e6c01abdf36d0b3d20c47cf)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 7b13b9d40a76af5eca76e9d67cd54c0d7e499172
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Thu Oct 23 07:01:21 2014 +0000
+
+    mediacodec: fix crash when color-format is invalid
+    
+    Fail if GetVlcChromaFormat return 0.
+    (It'll throw a HardwareAccelerationError)
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 40aa75316d6f3edc457354ac26295e292a8b1f9f)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit c59dc61a3a5c369fcb6ea96ca0a395a50a27273e
+Author: Sean McGovern <gseanmcg@gmail.com>
+Date:   Thu Oct 23 22:13:41 2014 -0400
+
+    sparkle: add SHA512SUM data
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 0b930ade83b84dc22fed7bbf0ad8e2c6f7595ef4)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 72b2b969cf3daa0f548b76b10ffe7533b14c904c
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Thu Oct 23 12:56:43 2014 +0200
+
+    mediacodec: cleanly abort DecodeVideo if GetOutput failed
+    
+    - Fix possible infinite loop with sw rendering if GetOutput failed.
+    - Don't return a pic and don't release the block in case of error_state.
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit ab4c04f2f5545dcc3cae7ebffe8d28f3e2c5a915)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 18a597c4abbd99e9a59567a4b14dd737bb402797
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Thu Oct 23 17:58:50 2014 +0300
+
+    mjpeg: do not assume that stream_Read() succeeds
+    
+    (cherry picked from commit f03f44d76a1949f5cbc05989fa1ab257818d245c)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 13dd6a6cd45278c79a2bfef6e25bdf9646a5e557
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Mon Oct 20 14:50:27 2014 +0200
+
+    contrib: speexdsp: fix build with android-ndk10c
+    
+    In android-ndk10c, there is a "arm_neon.h" for all archs. The arm_neon.h for
+    x86* contains correspondence between neon and sse. In speexdsp, There is a
+    conflict between resample_sse.h and resample_neon.h. So disable neon if arch is
+    known to don't have neon.
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit ef98e81ff014175fd7494c8313de8883d15834b3)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 079c2364f5d90284bf2ca20d89c51e7d2c4d9356
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Wed Oct 22 19:20:14 2014 +0200
+
+    extras/ios: fix compilation with latest xcode releases
+    
+    (cherry picked from commit 5027938fb4965bca2d3e11ad1c17ca7aecaed258)
+
+commit ef931323bd6420fe34634dc15733823926a97567
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Sun Oct 12 16:16:40 2014 +0200
+
+    ios: require iOS 6.1 since 5.1 is no longer support by current Xcode releases
+    
+    (cherry picked from commit d65920ce6607fb24a22e7645b5fd1d03e9e5cfdc)
+
+commit 7f06a46695fb7a7f1a3a498551b00f8896c57680
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sat Oct 25 20:45:58 2014 +0300
+
+    swscale: scale the whole picture (fixes #12085)
+    
+    ...not just the visible part. So that cropping still works even though
+    the visible part of the input and output format typically do not match.
+    
+    (cherry picked from commit 44d4685b1ca4d1b58c4ce77d479103d482be5d14)
+    
+    Conflicts:
+    	modules/video_chroma/swscale.c
+
+commit de72116538fcf1bf3bd60dae8bda1fd9689d2a70
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Thu Oct 23 21:58:58 2014 +0300
+
+    PulseAudio: remove the base volume hack
+    
+    (cherry picked from commit d3de0ffc472ddaf38fe6ba20f05071742ad8d86b)
+
+commit 385c1194bf58076bfd73e41ecc24b10ddafefe7f
+Author: Pierre Ynard <linkfanel@yahoo.fr>
+Date:   Sat Oct 25 03:51:45 2014 +0200
+
+    youtube.lua: support embedded iframe URLs
+    
+    Closes #11878
+    
+    (cherry picked from commit 77f58c382703f93e899683844d1917cd7cb69d22)
+    Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
+
+commit 60ff09fe09ba01f978c6e5f1c2f6dfa17fceabf8
+Author: Tristan Matthews <tmatth@videolan.org>
+Date:   Fri Oct 24 16:39:37 2014 -0400
+
+    contrib: opus: don't build extra programs and doc
+    
+    (cherry picked from commit bdd6d80e23f3358c887215fb0497dff79b799e09)
+
+commit 70d70ee0460d3e4fedc98428de9d539ec9352a34
+Author: Damien Erambert <damien.erambert@me.com>
+Date:   Wed Oct 22 20:27:40 2014 +0200
+
+    macosx: update yosemite graphics for time slider knob and volume buttons
+    
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+    (cherry picked from commit def33da534a93e67f251d31057a3d503febb9754)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit db2102d39b343e5457db6adf0084acf6aa5c8083
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Wed Oct 22 17:22:25 2014 +0200
+
+    macosx: don't rebuild the playlist table unnecessarily often (close #12430, refs #9960)
+    
+    (cherry picked from commit 52b64b0567338913bc43a4e013ad20f2bbda8be3)
+
+commit bd2c4b17b8e6f2967c5a4cc5abd84714a699cca2
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Tue Oct 21 15:07:32 2014 +0200
+
+    extras/ios: add a debug flag to the build script
+    
+    (cherry picked from commit afa9344cb8c479503aaacbd6605a89c4a0e3026b)
+
+commit 89f1948974625389eb9b46141496851c654cf407
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Wed Oct 15 22:13:22 2014 +0300
+
+    caca: do not pretend to support resize
+    
+    (cherry picked from commit e92fbab66cf7f257ae9a3fefe73eea18b478d6f3)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 185a1d709c6dd7893ed9088b9e4e46cb995bf016
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Wed Oct 15 12:09:36 2014 +0200
+
+    Contribs: update gpg-error to 1.16
+    
+    Close #12400
+    
+    (cherry picked from commit e5cd171227b1982dc70cc97703622cbef82ead29)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 2099d8b8f075e62fae73759d37b1eb92c4b0605d
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Fri Oct 17 15:28:13 2014 +0200
+
+    Tools: Update pkg-config-lite to 0.28-1
+    
+    (cherry picked from commit 8d285ab272740fddeed76570d89c37a52636857c)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 405088e9f4161dac27dc6d15d101fe722983be42
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Mon Oct 20 14:50:27 2014 +0200
+
+    contrib: speexdsp: fix build with android-ndk10c
+    
+    In android-ndk10c, there is a "arm_neon.h" for all archs. The arm_neon.h for
+    x86* contains correspondence between neon and sse. In speexdsp, There is a
+    conflict between resample_sse.h and resample_neon.h. So disable neon if arch is
+    known to don't have neon.
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit ef98e81ff014175fd7494c8313de8883d15834b3)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit e15a5ab72d0e1cfcbff829d0671873c35299f414
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Sun Oct 19 23:07:41 2014 +0200
+
+    macosx: do not save resume data if VLC is in private mode
+    
+    (cherry picked from commit a372720ffe4ebdf05e4145407e611a1cd9f0e72e)
+    Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
+
+commit 56ccd7532f4cb9c5378500adca9e936578059c34
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Sun Oct 19 23:00:05 2014 +0200
+
+    macosx: fix resume playback guards, do not resume for folder urls
+    
+    Folder URLs are likely DVD or bluray folders, which cannot be resumed
+    properly. Also fixes memleak, and unify guards. Do not save position
+    for input items which we do not resume afterwards anyway.
+    
+    (cherry picked from commit b2525ebf7c3658d72963def5d9ac5b7627ac3b4c)
+    Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
+
+commit ec603a11813f7606576c33eaf097f8b5cc3df152
+Author: Hannes Domani <ssbssa@yahoo.de>
+Date:   Mon Oct 20 18:06:13 2014 +0200
+
+    Win32: stop stacktrace on bad pointer
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 7e92a492766d31dfa91aaea2eafb37d35e8886a1)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 2468897321f8aef3bfe5ffd2b43ade2f5e9b2ea5
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Sun Oct 19 18:57:22 2014 +0200
+
+    macosx: slightly de-uglify the VLC description in the about dialog by rendering it in the system's default font instead of Times
+    
+    (cherry picked from commit a8994ec08542bf0954e67dccf1d47657adaf4570)
+
+commit e782ae3193da77d6e4565250d188d64f461bcbef
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Sat Oct 18 13:20:36 2014 +0200
+
+    macosx: fix wrong size of playlist when using podcast and minimal view
+    
+    (cherry picked from commit 19bbb8cc2c0aacc176ac83dc7a57fe94407e9ef4)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit f9f386157af15d8c1e1f0180503f9c8b459e5b8d
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Sat Oct 18 11:21:51 2014 +0200
+
+    macosx: fix podcast view interfering with dropzone
+    
+    (cherry picked from commit 2b6a8709c5282bf40b3667376d7e67b6ca46b262)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 10f7cb74e71e6c004d9a5afefce4bbe145949765
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Sat Oct 18 09:05:09 2014 +0200
+
+    macosx: Fix drawing issues with podcast controls and dropzone
+    
+    - Remove black lines below podcast controls
+    - fix uncentered dropzone when starting native fullscreen, by slightly
+      increasing the min height
+    - fix disappearing or uncentered dropzone when changing between
+      normal and minimum view quickly
+    - consolidate dropzone and podcast sizings in interface builder
+    
+    (cherry picked from commit 58b713c7f84e8eb9eedc8ca383ac59cd212db234)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 4dab7846632d4914f9ebbf9f249b5b24c8e4d141
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Fri Oct 17 22:37:15 2014 +0200
+
+    macosx: remove alternate image from max volume and mute buttons
+    
+    This image was set, but it is not overwritten by its os-dependent
+    counterpart in code. In fact, we only have one image, so just unset
+    the alternate image in xib.
+    
+    (cherry picked from commit 544ffab82934566b535c2a10b0dfe6d9ec0154da)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit b142d942b0420f7ecbec9e32e328c3da48c46058
+Author: Damien Erambert <damien.erambert@me.com>
+Date:   Fri Oct 17 22:18:19 2014 +0200
+
+    macosx: Fix and update yosemite titlebar graphics
+    
+    This especially fixes the -on graphics.
+    
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+    (cherry picked from commit 26fde7655abc8f91eddfc971ed1e21d19fbf7edc)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 90429455de17f10dfe13921f439747ea8540bdae
+Author: Damien Erambert <damien.erambert@me.com>
+Date:   Sat Oct 4 23:30:36 2014 +0200
+
+    macosx: fix music sidebar icon
+    
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+    (cherry picked from commit 920a33915ff2e140a19bd70ede652580d3932689)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 4812b7dd546fdf0d54441f4e2927dd119c3acb6a
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 2 17:42:32 2014 +0200
+
+    macosx: avoid unnecessarily early loading of open panel nib
+    
+    Loading the open nib can take some significant time, due to audio/
+    video devices enumeration.
+    
+    refs #12123
+    
+    (cherry picked from commit 640b974d52785d5ae215c1cfeb46fdd5bc085231)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 5d22821b30a1e648e5a994fd5cb5ff1e34afb3b4
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 2 13:53:51 2014 +0200
+
+    codec: libass: show dialog for fontconfig cache recreation on osx
+    
+    close #12014
+    
+    (cherry picked from commit fd67a259eadaef3b25dc1ca50b8b09fd971a93fe)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit ddcf826bc76cf0a934dd237c3117d08dfdddb5e8
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 2 13:52:44 2014 +0200
+
+    Makefile.am: Add new macosx ressources
+    
+    (cherry picked from commit 5cb2c764351ba8d8beab1f13208d18313e4e4406)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit e5f3461c22bbed3829a1ed9a56d36562b4ce236d
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 2 13:22:52 2014 +0200
+
+    macosx: also cache old native fullscreen images and move to better place
+    
+    (cherry picked from commit 0d7d2cb4b1b98988f2e4b15af2af0f81b8253080)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 0da8979d04da3a19cc1cacacfe01627a9c37806f
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 2 12:59:15 2014 +0200
+
+    macosx: implement native fullscreen behaviour for yosemite titlebar
+    
+    (cherry picked from commit 0b001a0763aa2e34f6abd921184ce58d56947421)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 533632432432234e24d26fada305bcd9aef274a5
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Thu Oct 2 11:29:22 2014 +0200
+
+    macosx: simplify loading of titlebar graphics and integrate yosemite icons
+    
+    (cherry picked from commit 5647339c6b8631f749b6c102da90715e04ab82a4)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit f5cf5a1295e7342b5c088319ffd67c055a6b59e8
+Author: Damien Erambert <damien.erambert@me.com>
+Date:   Wed Oct 1 23:55:49 2014 +0200
+
+    macosx: fix yosemite retina graphics for fullscreen button
+    
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+    (cherry picked from commit 42ee1b6ebb4bdf6b5092e824a95b65839ba018ef)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 70726114cd169d8b3809b20230aca4597819056d
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 1 22:00:26 2014 +0200
+
+    macosx: fix main window top bar by reinstoring graphic
+    
+    (cherry picked from commit 1f027bcb06c8f8d92084af1a584869dbee3039c9)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit ff8d19710854abf91763da5908f7ec87d705f4a8
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 1 21:52:01 2014 +0200
+
+    macosx: add yosemite graphics to project file and use them in code
+    
+    This also cleans up the images structure inside the project.
+    
+    (cherry picked from commit 6616504dfb7658f3b394bef2555f92a390e682ed)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+    
+    Conflicts:
+    	modules/gui/macosx/StringUtility.m
+
+commit 0baaf44f1be63abc714f175927e1e67af3d8994d
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 1 20:03:40 2014 +0200
+
+    macosx: pngcrush new yosemite icons
+    
+    (cherry picked from commit baf2c19d97b874373480c317174aebf92504b060)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 26c23d0c8aa2239502009a2683ab1c3b4ee5f52a
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 1 19:58:43 2014 +0200
+
+    macosx: restructure and unify naming of new yosemite icons
+    
+    Now, new root folders are created for yosemite, with the naming
+    scheme mainwindow_yosemite. All icons have the prefix ys-.
+    
+    (cherry picked from commit 405614f5422880ecf75072a1ad99ecd201ce4564)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 33cbd96e42f05f192b6d0d9cb2101534faecf062
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 1 19:43:52 2014 +0200
+
+    macosx: removed old graphics which are not used anymore
+    
+    Also renames 4 yosemite graphics to match the existing naming.
+    
+    (cherry picked from commit fe8867d9257075bd8b8866cb1e63a56bbd99aee4)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 12f3fdc3eb5cf761ec83f2d9ff2344c33c07d3e0
+Author: Damien Erambert <damien.erambert@me.com>
+Date:   Sat Aug 23 18:31:55 2014 +0200
+
+    macosx: Added graphics for buttons on Yosemite 10.10
+    
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+    (cherry picked from commit 45e123f9dadf42220a3844e7152d8d87d8dd0b4c)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit 7b1cd368a6170388b0208ef770510fcbc7e0c7ef
+Author: David Fuhrmann <dfuhrmann@videolan.org>
+Date:   Wed Oct 1 16:03:33 2014 +0200
+
+    macosx: add yosemite guard
+    
+    (cherry picked from commit 2c674d76924785536fef66929b7ddcb08dde585b)
+    Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
+
+commit b3f316e8b18d4c303de7bd27d2397bf0f5fd173a
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Thu Oct 16 20:20:12 2014 +0300
+
+    avcodec: fix double free on error
+    
+    (cherry picked from commit 9bf41d6aeb35a121ce9c96adb21852ca69eb106b)
+
+commit c66a9f4334b6dc838451ba2d1b4f6d53fe7d1a5a
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Fri Aug 8 04:42:48 2014 +0200
+
+    PS: Fix H264 in evob
+    
+    (cherry picked from commit 3b33cbca98e76ed3d65fabcf9efedcea415ffdf5)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit e33e5def5b9901fadb0d756d60501c8dd9e8db7d
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Tue Oct 14 11:35:57 2014 +0200
+
+    mediacodec: exception in getCapabilitiesForType is not critical.
+    
+    fix mediacodec with android-L on Nexus 7v2.
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 6e2f49095619d027ba99020076b0aedc6cde7afe)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit e49c91ef43ff3f537c8042de781164305c287899
+Author: Thomas Guillem <tom@gllm.fr>
+Date:   Tue Oct 14 11:35:56 2014 +0200
+
+    mediacodec: fix jni leak
+    
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 05644c1e54548cc4ac0b57b70000d2e5fe7d5c16)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 47d9673f045a520e2baaf005302718c2b3d2a8a6
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Sat Oct 11 17:53:45 2014 +0200
+
+    Win32: prefer the static libraries when creating the dlls
+    
+    This should avoid the issues of packaging libgcc_s_sjlj-1.dll,
+    libwinpthread-1.dll and the like.
+    
+    (cherry picked from commit 417b6eb0f09dc73984a7dba2aa42c9d8683d5294)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 85836f2c835c85eb00a52dd19d6c51b4c38c574d
+Author: KO Myung-Hun <komh78@gmail.com>
+Date:   Sun Oct 12 14:59:26 2014 +0900
+
+    Add -avoid-version to LDFLAGS of vlc and vlccore on OS/2
+    
+    Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
+    (cherry picked from commit 863f851833eab0c4a2b5de354bbf50270a5d8d2b)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit bda1bbd1d290d7eb2c243adea011e52924f0d598
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Mon Oct 13 23:36:31 2014 +0200
+
+    demux: libmp4: reorder & fix ilst/udta rules
+    
+    (cherry picked from commit 1e913466fb03169e6235f09a8cfae1910b89e3e6)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 2bbd387c2b358642a4e3e2cce47caaae2c2331c0
+Author: Julian Scheel <julian@jusst.de>
+Date:   Fri Oct 10 11:21:07 2014 +0200
+
+    codec/zvbi: Only reset subpicture in text mode
+    
+    The subpicture reset, as stated in the comment, is only required when
+    rendering text-subtitles. In fact it causes an invalid image to be generated
+    and possibly output in non-text mode. Hence disable the picture recreation for
+    non-text mode.
+    
+    Signed-off-by: Julian Scheel <julian@jusst.de>
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit 47012982d20cf537fc710edd14c9c9c4183d0a19)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit ac4f2bc6d06890f40034d8ad368c208de76a61a6
+Author: Tristan Matthews <tmatth@videolan.org>
+Date:   Sat Oct 11 21:42:10 2014 -0400
+
+    contrib: speexdsp: disable examples
+    
+    (cherry picked from commit 7bd11e51ac8dee7c27faff7c1c406164f2943a94)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    
+    Conflicts:
+    	contrib/src/speexdsp/rules.mak
+
+commit 41cbb49b15d67c0b03299fdebe7e56e16b5d4313
+Author: Felix Paul Kühne <fkuehne@videolan.org>
+Date:   Sun Oct 12 16:30:12 2014 +0200
+
+    extras: mirror ragel on v.o since upstream server is broken
+    
+    (cherry picked from commit af3eeea5af09938d1f90c46f048137156c531327)
+
+commit dc7633b308b5ffd2b2b16ca4af734a00af4d9be6
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sat Oct 11 20:46:18 2014 +0300
+
+    configure: fix SFTP plugin name
+    
+    (cherry picked from commit 88ab8def21e117704335a800cfbe5e08baf1edd7)
+
+commit c5138aedf45a23deb989f3f12652742e4189cce5
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sat Oct 11 17:06:53 2014 +0300
+
+    vout: reset A.R. and zoom to sane defaults if unset (fixes #8184)
+    
+    (cherry picked from commit fb63f1cc675c5302628ad2fec033ac2472107085)
+
+commit f5cd073aac897ebecbf8f38657e5de18e61d2e88
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sat Oct 11 14:37:52 2014 +0300
+
+    lib: disable decoding hardware acceleration with vmem
+    
+    This ensures that subpictures blending works, and avoids copying back
+    video frames from GPU to CPU. For proper hardware acceleration,
+    use libvlc_media_player_set_xwindow() instead.
+    
+    (cherry picked from commit 86796e2a57adcf5daea9d182c4378e49b40a7f47)
+
+commit 7644f23cce73b87b18e08b4ba9ea3a772e8f249d
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Thu Oct 9 22:30:44 2014 +0300
+
+    msw: fix format string
+    
+    (cherry picked from commit e8ab8fb6b40d315632da311de7a2e03002a528c5)
+
+commit 99dfe572819e4780bae80118af0ff5b63723b2ec
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sat Oct 11 10:12:10 2014 +0300
+
+    mft: fix format string
+    
+    (cherry picked from commit dbdd63484c7e8bed853e4f2b398c906df181be3a)
+
+commit d3f878cc4b68e53bb5f477cb3cfb5e0ef9d9a801
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Sat Oct 11 10:36:40 2014 +0300
+
+    configure: fix typo in rcc code (fixes #12384)
+    
+    Pointed-out-by: Paweł Stankowski
+    (cherry picked from commit 34fef72dab6f7718370dbe27a66f320362475198)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 3e8036a5f6b9fc4a3dd3baaea8a81102dcd4bdd5
+Author: Tristan Matthews <tmatth@videolan.org>
+Date:   Sat Oct 11 00:09:21 2014 -0400
+
+    png: encoder: encode visible lines, but use pitch for offset
+    
+    (cherry picked from commit fd1e287a11d678a8e131d59979e84fb4486c0c57)
+
+commit b28f5a1eb1417364b4fe08d105b8faf3efa68e56
+Author: Tristan Matthews <tmatth@videolan.org>
+Date:   Fri Oct 10 22:32:13 2014 -0400
+
+    png: encoder: really fix row offset calculation
+    
+    (cherry picked from commit 47431e192bbaefe723c7b6915a54f3ab4ca440e8)
+
+commit 8d8617bb938036a444e02425bffa6cad9bcbd855
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Thu Oct 9 14:44:36 2014 +0200
+
+    demux: libmp4: fix heap buffer write ofw in chpl (fix #12366)
+    
+    (cherry picked from commit d1bdd44b1902f62453f6982e1ee09a5b243f25ee)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 448cc958b4522654f6d7fdad5eef5f36831c77d1
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Thu Oct 9 16:26:20 2014 +0200
+
+    demux: mp4: fix last chunk size computation (fix #12362)
+    
+    (cherry picked from commit 8a0493add9682187192cc3dab514294ad0b9f541)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit bf75f88f04c4e472940d00314a997342ba30313e
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Thu Oct 9 20:29:54 2014 +0200
+
+    demux: asf: fix heap buffer write ofw in priorities (fix #12363)
+    
+    (cherry picked from commit 56e71fe572f9e97c8deb3cffdebdd0f0ea8979d0)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit b27f31c78ce42549d983268a64bf49d9fd42d06c
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Thu Oct 9 23:46:35 2014 +0200
+
+    demux: mp4: fix heap read ofw in extra bytes
+    
+    (cherry picked from commit 54bbfac289eeeed9ba044bf9f9e1ee43e5642c78)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit abf74133941284b0af3b5c2240460b8017037e92
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Wed Oct 8 19:13:25 2014 +0200
+
+    demux: ogg: fix use after free (fix #12360)
+    
+    (cherry picked from commit b3664586b7db3bd94fad7dd12b9cad3633eaef1a)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 1530ef4fdb3e444bf939cc9cb2e46df4b1e6022f
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Wed Oct 8 18:48:44 2014 +0200
+
+    demux: libavi: fix heap write ofw
+    
+    (cherry picked from commit dde5f4aff32b81b6cace0a88a3a718147d0f3bf4)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit ee94797446fde0d4d622823c77116abc6c90c3ed
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Wed Oct 8 17:59:23 2014 +0200
+
+    demux: livavi: fix heap buffer ofw in strf parsing (fix #12359)
+    
+    (cherry picked from commit cd87a5a9482adef5c679f80fc3a75eccbd7c6970)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit e8a2b2997d5bb64180787f8cdf8480973be53edc
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Wed Oct 8 17:09:44 2014 +0200
+
+    demux: tta: fix heap buffer ofw (fix #12357)
+    
+    (cherry picked from commit 3979f15fc235f576f5ed4278ffe06eab53425bf4)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit fc45e6cbdf909c372e708cca3e40911c3a5846fe
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Wed Oct 8 17:06:28 2014 +0200
+
+    demux: mp4: fix heap buffer ofw with zero chunk (fix #12356)
+    
+    (cherry picked from commit 929970aecfc91725ba243953ccb5197fa797c0a8)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 5249240cf82e58e6ec1177706a2a9c22ad1d3155
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Wed Oct 8 15:17:55 2014 +0200
+
+    demux: libmp4: fix heap overflow in stdp debug code (fix #12358)
+    
+    (cherry picked from commit 2caa3ce4d4a50da0796d0e2bb7feebb53aed8f8f)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 7d4f14c4b70fc030531384f3dece3ab6b9514da3
+Author: Rafaël Carré <funman@videolan.org>
+Date:   Tue Oct 7 08:55:03 2014 +0200
+
+    contrib: fix freetype dependencies
+    
+    (cherry picked from commit 63c91494921e17541f96c4b311ed791ee3ce21d9)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
+commit 0a1758799929b1afb56eea4c106b690452ac5761
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Tue Oct 7 23:21:35 2014 +0300
+
+    include: fix external compilation (fixes #12355)
+    
+    (cherry picked from commit 98682b66af497c2a038011aae227fbd13511167a)
+
+commit 468e08143053c5705f5fed18c9ad2cfc4c58ec0d
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Tue Oct 7 23:16:11 2014 +0300
+
+    include: remove restrict keyword (fixes #12354)
+    
+    This is necessary for compatibility with C++. The keyword is only
+    meaningful in definition, not in declaration anyway.
+    
+    (cherry picked from commit 1a4dc0bd85d94c9ad0b50268aed009840bf2d30e)
+    
+    Conflicts:
+    	include/vlc_tls.h
+
+commit ef84c9c97d85131a0fe33dd59a5bf02e34615cfb
+Author: Igor Prokopenkov <cmyk777@gmail.com>
+Date:   Fri Oct 3 15:25:24 2014 +0000
+
+    lib: Fire libvlc_MediaListPlayerPlayed at end of playlist
+    
+    The "libvlc_MediaListPlayerPlayed" event was defined but unused.
+    It is now fired when libvlc_media_list_player is played until last item in the playlist
+    
+    Signed-off-by: Igor Prokopenkov <cmyk777@gmail.com>
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+    (cherry picked from commit fd4a0ba83493bd91f2adb7b68ae9fb3c3d5fc972)
+    Signed-off-by: Felix Paul Kühne <fkuehne@videolan.org>
+
+commit cd4d3a09b37e65b95e553657a7c616cbc0fd2f7e
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Sun Jul 6 00:59:01 2014 +0200
+
+    Contribs: apply OSX patch only on OSX
+    
+    Else, it conflicts with Win32 patch and fails to compile
+    
+    (cherry picked from commit f836a94d9c4a78a03cc412d5559d274dc2df459b)
+    Signed-off-by: Rafaël Carré <funman@videolan.org>
+
+commit ea1927e79317b60a931c7bfff246914aac9d6a7a
+Author: Tristan Matthews <tmatth@videolan.org>
+Date:   Mon Oct 6 23:08:02 2014 -0400
+
+    contrib: speex: avoid automatically depending on ogg
+    
+    ogg was still being pulled in as a dependency when cross-compiling, which
+    would break certain build configurations.
+    
+    (cherry picked from commit 4c63aa1192dc4148b8c540b0b7210aa91713505b)
+
+commit 73f12e7621c302f75d2a33aec7d179e5b4969880
+Author: Rémi Denis-Courmont <remi@remlab.net>
+Date:   Mon Oct 6 23:56:31 2014 +0300
+
+    vdpau/deinterlace: set progressive flag on both output pictures
+    
+    (cherry picked from commit 6500f61ed6f6f8525961fab89d2a69bb0172434a)
+
+commit 283547fa41d040b5503e37e88cd961b10d1df1fd
+Author: Jean-Baptiste Kempf <jb@videolan.org>
+Date:   Mon Oct 6 17:29:01 2014 +0200
+
+    On the road to RC1
+
+commit 9ccb8651baeca05c501193b1b371fbdef9a208ac
+Author: Francois Cartegnie <fcvlcdev@free.fr>
+Date:   Sun Oct 5 16:22:18 2014 +0200
+
+    demux: asf: stay within track limits
+    
+    (cherry picked from commit a61da5b40d25af4fd0417eb3a9a172a92e62c659)
+    Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
+
 commit ea7af98d99deaba263cdbe711c0121b3948c5db6
 Author: Jean-Baptiste Kempf <jb@videolan.org>
 Date:   Mon Oct 6 17:11:07 2014 +0200
diff --git a/include/vlc/libvlc_media_player.h b/include/vlc/libvlc_media_player.h
index 54c130d..00afa61 100644
--- a/include/vlc/libvlc_media_player.h
+++ b/include/vlc/libvlc_media_player.h
@@ -2,7 +2,7 @@
  * libvlc_media_player.h:  libvlc_media_player external API
  *****************************************************************************
  * Copyright (C) 1998-2010 VLC authors and VideoLAN
- * $Id: 4b2f44960b48568dada9d344e15b3a31e78cd6be $
+ * $Id: 94bf7e8c4461896ff0d22b7c86ce6d3f9854eb17 $
  *
  * Authors: Clément Stenac <zorglub@videolan.org>
  *          Jean-Paul Saman <jpsaman@videolan.org>
@@ -572,7 +572,8 @@ void libvlc_audio_set_callbacks( libvlc_media_player_t *mp,
                                  void *opaque );
 
 /**
- * Set callbacks and private data for decoded audio.
+ * Set callbacks and private data for decoded audio. This only works in
+ * combination with libvlc_audio_set_callbacks().
  * Use libvlc_audio_set_format() or libvlc_audio_set_format_callbacks()
  * to configure the decoded audio format.
  *
diff --git a/include/vlc_es.h b/include/vlc_es.h
index dc02977..e131c73 100644
--- a/include/vlc_es.h
+++ b/include/vlc_es.h
@@ -2,7 +2,7 @@
  * vlc_es.h: Elementary stream formats descriptions
  *****************************************************************************
  * Copyright (C) 1999-2012 VLC authors and VideoLAN
- * $Id: 5790d2343b22322d1f5e4965697dbc3d5a0e378c $
+ * $Id: 8db588494350b40b0f9225df00234f44189c5072 $
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *
@@ -285,7 +285,8 @@ VLC_API void video_format_ScaleCropAr( video_format_t *, const video_format_t *
  * This function "normalizes" the formats orientation, by switching the a/r according to the orientation,
  * producing a format whose orientation is ORIENT_NORMAL. It makes a shallow copy (pallette is not alloc'ed).
  */
-VLC_API void video_format_ApplyRotation(video_format_t *restrict out, const video_format_t *restrict in);
+VLC_API void video_format_ApplyRotation(video_format_t * /*restrict*/ out,
+                                        const video_format_t *in);
 
 /**
  * This function applies the transform operation to fmt.
diff --git a/include/vlc_input.h b/include/vlc_input.h
index 6112502..8471cdb 100644
--- a/include/vlc_input.h
+++ b/include/vlc_input.h
@@ -2,7 +2,7 @@
  * vlc_input.h: Core input structures
  *****************************************************************************
  * Copyright (C) 1999-2006 VLC authors and VideoLAN
- * $Id: 88bfe65064ad6e626ca39d9f5f0c146fd69276fb $
+ * $Id: 6ec305bebad2dd0cb1a29d4cd50168e09a53d375 $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *          Laurent Aimar <fenrir@via.ecp.fr>
@@ -565,7 +565,8 @@ static inline int input_AddSubtitleOSD( input_thread_t *p_input, const char *psz
     vout_thread_t *p_vout = input_GetVout( p_input );
     if( p_vout )
     {
-        vout_OSDMessage(p_vout, SPU_DEFAULT_CHANNEL, "%s", _("Subtitle track added") );
+        vout_OSDMessage(p_vout, SPU_DEFAULT_CHANNEL, "%s",
+                        vlc_gettext("Subtitle track added") );
         vlc_object_release( (vlc_object_t *)p_vout );
     }
     return i_result;
diff --git a/include/vlc_probe.h b/include/vlc_probe.h
index 9931504..efa4d97 100644
--- a/include/vlc_probe.h
+++ b/include/vlc_probe.h
@@ -32,7 +32,7 @@
 extern "C" {
 # endif
 
-void *vlc_probe (vlc_object_t *, const char *, size_t *restrict);
+void *vlc_probe (vlc_object_t *, const char *, size_t *);
 #define vlc_probe(obj, cap, pcount) \
         vlc_probe(VLC_OBJECT(obj), cap, pcount)
 
diff --git a/lib/core.c b/lib/core.c
index 4ad4dd7..cdc5980 100644
--- a/lib/core.c
+++ b/lib/core.c
@@ -2,7 +2,7 @@
  * core.c: Core libvlc new API functions : initialization
  *****************************************************************************
  * Copyright (C) 2005 VLC authors and VideoLAN
- * $Id: cc74071d0d9641e4d2d1decd16a09c798fbb2732 $
+ * $Id: fa5c4de6d0c0a623c9b271f8fd748da0e199c93c $
  *
  * Authors: Clément Stenac <zorglub@videolan.org>
  *
@@ -154,7 +154,7 @@ void libvlc_set_app_id(libvlc_instance_t *p_i, const char *id,
 
     var_SetString(p_libvlc, "app-id", id ? id : "");
     var_SetString(p_libvlc, "app-version", version ? version : "");
-    var_SetString(p_libvlc, "app-version", icon ? icon : "");
+    var_SetString(p_libvlc, "app-icon-name", icon ? icon : "");
 }
 
 const char * libvlc_get_version(void)
diff --git a/lib/media_list_player.c b/lib/media_list_player.c
index c856cfc..835f061 100644
--- a/lib/media_list_player.c
+++ b/lib/media_list_player.c
@@ -2,7 +2,7 @@
  * media_list_player.c: libvlc new API media_list player functions
  *****************************************************************************
  * Copyright (C) 2007 VLC authors and VideoLAN
- * $Id: d0a0ce16ff26ef890e55db63e3fd6669b5af0d22 $
+ * $Id: 9ac935a716f09b4cb42de1b9ddfb6e41454a93be $
  *
  * Authors: Pierre d'Herbemont <pdherbemont # videolan.org>
  *
@@ -474,6 +474,8 @@ libvlc_media_list_player_new(libvlc_instance_t * p_instance)
             libvlc_MediaListPlayerNextItemSet );
     libvlc_event_manager_register_event_type( p_mlp->p_event_manager,
             libvlc_MediaListPlayerStopped );
+    libvlc_event_manager_register_event_type( p_mlp->p_event_manager,
+            libvlc_MediaListPlayerPlayed );
     p_mlp->e_playback_mode = libvlc_playback_mode_default;
 
     return p_mlp;
@@ -781,6 +783,10 @@ static int set_relative_playlist_position_and_play(
     if (!path)
     {
         libvlc_media_list_unlock(p_mlp->p_mlist);
+        /* Send list played event */
+        libvlc_event_t event;
+        event.type = libvlc_MediaListPlayerPlayed;
+        libvlc_event_send(p_mlp->p_event_manager, &event);
         return -1;
     }
 
diff --git a/lib/media_player.c b/lib/media_player.c
index 1a72207..b75006a 100644
--- a/lib/media_player.c
+++ b/lib/media_player.c
@@ -414,6 +414,7 @@ libvlc_media_player_new( libvlc_instance_t *instance )
     var_Create (mp, "vmem-width", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT);
     var_Create (mp, "vmem-height", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT);
     var_Create (mp, "vmem-pitch", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT);
+    var_Create (mp, "avcodec-hw", VLC_VAR_STRING);
     var_Create (mp, "drawable-xid", VLC_VAR_INTEGER);
 #if defined (_WIN32) || defined (__OS2__)
     var_Create (mp, "drawable-hwnd", VLC_VAR_INTEGER);
@@ -854,6 +855,7 @@ void libvlc_video_set_callbacks( libvlc_media_player_t *mp,
     var_SetAddress( mp, "vmem-display", display_cb );
     var_SetAddress( mp, "vmem-data", opaque );
     var_SetString( mp, "vout", "vmem" );
+    var_SetString( mp, "avcodec-hw", "none" );
 }
 
 void libvlc_video_set_format_callbacks( libvlc_media_player_t *mp,
@@ -934,6 +936,7 @@ void libvlc_media_player_set_xwindow( libvlc_media_player_t *p_mi,
 {
     assert (p_mi != NULL);
 
+    var_SetString (p_mi, "avcodec-hw", "");
     var_SetString (p_mi, "vout", drawable ? "xid" : "any");
     var_SetString (p_mi, "window", drawable ? "embed-xid,any" : "any");
     var_SetInteger (p_mi, "drawable-xid", drawable);
diff --git a/modules/audio_output/pulse.c b/modules/audio_output/pulse.c
index 601911e..069cf6a 100644
--- a/modules/audio_output/pulse.c
+++ b/modules/audio_output/pulse.c
@@ -57,7 +57,6 @@ struct sink
 {
     struct sink *next;
     uint32_t index;
-    pa_volume_t base_volume;
     char name[1];
 };
 
@@ -67,7 +66,6 @@ struct aout_sys_t
     pa_context *context; /**< PulseAudio connection context */
     pa_threaded_mainloop *mainloop; /**< PulseAudio thread */
     pa_time_event *trigger; /**< Deferred stream trigger */
-    pa_volume_t base_volume; /**< 0dB reference volume */
     pa_cvolume cvolume; /**< actual sink input volume */
     mtime_t first_pts; /**< Play time of buffer start */
 
@@ -83,27 +81,10 @@ static void VolumeReport(audio_output_t *aout)
     aout_sys_t *sys = aout->sys;
     pa_volume_t volume = pa_cvolume_max(&sys->cvolume);
 
-    volume = pa_sw_volume_divide(volume, sys->base_volume);
     aout_VolumeReport(aout, (float)volume / PA_VOLUME_NORM);
 }
 
 /*** Sink ***/
-static struct sink *sink_find(aout_sys_t *sys, uint32_t index)
-{
-    for (struct sink *sink = sys->sinks; sink != NULL; sink = sink->next)
-        if (sink->index == index)
-            return sink;
-    return NULL;
-}
-
-static struct sink *sink_find_by_name(aout_sys_t *sys, const char *name)
-{
-    for (struct sink *sink = sys->sinks; sink != NULL; sink = sink->next)
-        if (!strcmp(sink->name, name))
-            return sink;
-    return NULL;
-}
-
 static void sink_add_cb(pa_context *ctx, const pa_sink_info *i, int eol,
                         void *userdata)
 {
@@ -128,15 +109,6 @@ static void sink_add_cb(pa_context *ctx, const pa_sink_info *i, int eol,
 
     sink->next = sys->sinks;
     sink->index = i->index;
-    /* PulseAudio flat volume NORM / 100% / 0dB corresponds to no software
-     * amplification and maximum hardware amplification.
-     * VLC maps DEFAULT / 100% to no gain at all (software/hardware).
-     * Thus we need to use the sink base_volume as a multiplier,
-     * if and only if flat volume is active for our current sink. */
-    if (i->flags & PA_SINK_FLAT_VOLUME)
-        sink->base_volume = i->base_volume;
-    else
-        sink->base_volume = PA_VOLUME_NORM;
     memcpy(sink->name, i->name, namelen + 1);
     sys->sinks = sink;
 }
@@ -145,7 +117,6 @@ static void sink_mod_cb(pa_context *ctx, const pa_sink_info *i, int eol,
                         void *userdata)
 {
     audio_output_t *aout = userdata;
-    aout_sys_t *sys = aout->sys;
 
     if (eol)
         return;
@@ -154,15 +125,6 @@ static void sink_mod_cb(pa_context *ctx, const pa_sink_info *i, int eol,
     msg_Dbg(aout, "changing sink %"PRIu32": %s (%s)", i->index, i->name,
             i->description);
     aout_HotplugReport(aout, i->name, i->description);
-
-    struct sink *sink = sink_find(sys, i->index);
-    if (unlikely(sink == NULL))
-        return;
-
-    if (i->flags & PA_SINK_FLAT_VOLUME)
-        sink->base_volume = i->base_volume;
-    else
-        sink->base_volume = PA_VOLUME_NORM;
 }
 
 static void sink_del(uint32_t index, audio_output_t *aout)
@@ -350,18 +312,10 @@ static void stream_event_cb(pa_stream *s, const char *name, pa_proplist *pl,
 static void stream_moved_cb(pa_stream *s, void *userdata)
 {
     audio_output_t *aout = userdata;
-    aout_sys_t *sys = aout->sys;
     const char *name = pa_stream_get_device_name(s);
-    struct sink *sink = sink_find(sys, pa_stream_get_device_index(s));
 
     msg_Dbg(aout, "connected to sink %s", name);
     aout_DeviceReport(aout, name);
-
-    sys->base_volume = likely(sink != NULL) ? sink->base_volume
-                                            : PA_VOLUME_INVALID;
-    msg_Dbg(aout, "base volume: %"PRIu32, sys->base_volume);
-    if (pa_cvolume_valid(&sys->cvolume))
-        VolumeReport(aout);
 }
 
 static void stream_overflow_cb(pa_stream *s, void *userdata)
@@ -427,8 +381,7 @@ static void sink_input_info_cb(pa_context *ctx, const pa_sink_input_info *i,
     (void) ctx;
 
     sys->cvolume = i->volume; /* cache volume for balance preservation */
-    if (PA_VOLUME_IS_VALID(sys->base_volume))
-        VolumeReport(aout);
+    VolumeReport(aout);
     aout_MuteReport(aout, i->mute);
 }
 
@@ -616,8 +569,6 @@ static int VolumeSet(audio_output_t *aout, float vol)
     aout_sys_t *sys = aout->sys;
     pa_stream *s = sys->stream;
     pa_operation *op;
-    int ret = -1;
-    pa_volume_t base_volume;
 
     /* VLC provides the software volume so convert directly to PulseAudio
      * software volume, pa_volume_t. This is not a linear amplification factor
@@ -626,38 +577,17 @@ static int VolumeSet(audio_output_t *aout, float vol)
     if (unlikely(vol >= PA_VOLUME_MAX))
         vol = PA_VOLUME_MAX;
 
-    pa_threaded_mainloop_lock(sys->mainloop);
-
-    base_volume = sys->base_volume;
-    if (!PA_VOLUME_IS_VALID(base_volume))
-    {   /* Base volume is unknown, typically because sink is unknown.
-         * Try to guess the base volume. */
-        const struct sink *sink = sys->sinks;
-        if (unlikely(sink == NULL))
-        {
-            msg_Err(aout, "cannot change volume without sink");
-            goto out;
-        }
-
-        base_volume = sink->base_volume;
-        while ((sink = sink->next) != NULL)
-            if (sink->base_volume != base_volume)
-            {
-                msg_Err(aout, "cannot change volume without base");
-                goto out;
-            }
-    }
-
-    pa_volume_t volume = pa_sw_volume_multiply(lroundf(vol), base_volume);
+    pa_volume_t volume = lroundf(vol);
 
     if (s == NULL)
     {
         sys->volume_force = volume;
-        aout_VolumeReport(aout, vol / (float)PA_VOLUME_NORM);
-        ret = 0;
-        goto out;
+        aout_VolumeReport(aout, (float)volume / (float)PA_VOLUME_NORM);
+        return 0;
     }
 
+    pa_threaded_mainloop_lock(sys->mainloop);
+
     if (!pa_cvolume_valid(&sys->cvolume))
     {
         const pa_sample_spec *ss = pa_stream_get_sample_spec(s);
@@ -675,13 +605,9 @@ static int VolumeSet(audio_output_t *aout, float vol)
     op = pa_context_set_sink_input_volume(sys->context, pa_stream_get_index(s),
                                           &cvolume, NULL, NULL);
     if (likely(op != NULL))
-    {
         pa_operation_unref(op);
-        ret = 0;
-    }
-out:
     pa_threaded_mainloop_unlock(sys->mainloop);
-    return ret;
+    return likely(op != NULL) ? 0 : -1;
 }
 
 static int MuteSet(audio_output_t *aout, bool mute)
@@ -714,10 +640,6 @@ static int StreamMove(audio_output_t *aout, const char *name)
 
     if (sys->stream == NULL)
     {
-        struct sink *sink = sink_find_by_name(sys, name);
-
-        sys->base_volume = likely(sink != NULL) ? sink->base_volume
-                                                : PA_VOLUME_INVALID;
         msg_Dbg(aout, "will connect to sink %s", name);
         free(sys->sink_force);
         sys->sink_force = strdup(name);
@@ -837,6 +759,7 @@ static int Start(audio_output_t *aout, audio_sample_format_t *restrict fmt)
     }
     if (fmt->i_physical_channels & AOUT_CHAN_LFE)
         map.map[map.channels++] = PA_CHANNEL_POSITION_LFE;
+    fmt->i_original_channels = fmt->i_physical_channels;
 
     for (unsigned i = 0; map.channels < ss.channels; i++) {
         map.map[map.channels++] = PA_CHANNEL_POSITION_AUX0 + i;
@@ -1005,7 +928,6 @@ static void Stop(audio_output_t *aout)
 
     pa_stream_unref(s);
     sys->stream = NULL;
-    sys->base_volume = PA_VOLUME_INVALID;
     pa_threaded_mainloop_unlock(sys->mainloop);
 }
 
@@ -1027,7 +949,6 @@ static int Open(vlc_object_t *obj)
     }
     sys->stream = NULL;
     sys->context = ctx;
-    sys->base_volume = PA_VOLUME_INVALID;
     sys->volume_force = PA_VOLUME_INVALID;
     sys->flags_force = PA_STREAM_NOFLAGS;
     sys->sink_force = NULL;
diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c
index 55af1af..21aa85a 100644
--- a/modules/codec/avcodec/audio.c
+++ b/modules/codec/avcodec/audio.c
@@ -2,7 +2,7 @@
  * audio.c: audio decoder using libavcodec library
  *****************************************************************************
  * Copyright (C) 1999-2003 VLC authors and VideoLAN
- * $Id: 254c06da497b9e77832c1f926afe6b267564cde1 $
+ * $Id: 34c83527b020e8f65276458986f59c298dcefc77 $
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *          Gildas Bazin <gbazin@videolan.org>
@@ -361,6 +361,7 @@ block_t * DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
     if( p_block->i_buffer == 0 )
     {   /* Done with this buffer */
         block_Release( p_block );
+        p_block = NULL;
         *pp_block = NULL;
     }
 
@@ -448,7 +449,8 @@ block_t * DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
 end:
     *pp_block = NULL;
 drop:
-    block_Release(p_block);
+    if( p_block != NULL )
+        block_Release(p_block);
     return NULL;
 }
 
diff --git a/modules/codec/avcodec/avcommon.h b/modules/codec/avcodec/avcommon.h
index 56b17c9..f967473 100644
--- a/modules/codec/avcodec/avcommon.h
+++ b/modules/codec/avcodec/avcommon.h
@@ -2,7 +2,7 @@
  * avcommon.h: common code for libav*
  *****************************************************************************
  * Copyright (C) 2012 VLC authors and VideoLAN
- * $Id: 8c47330ff660c6a51d64ba6fcfaf85a35b93b6fb $
+ * $Id: 411ddaceb1b8bbdb9d16e18e93e173ee76de7cbd $
  *
  * Authors: Rafaël Carré <funman@videolanorg>
  *
@@ -39,6 +39,7 @@
 #ifdef HAVE_LIBAVUTIL_AVUTIL_H
 # include <libavutil/avutil.h>
 # include <libavutil/dict.h>
+# include <libavutil/cpu.h>
 # include <libavutil/log.h>
 
 #define AV_OPTIONS_TEXT     "Advanced options"
diff --git a/modules/codec/libass.c b/modules/codec/libass.c
index 75f307d..3cc1b8e 100644
--- a/modules/codec/libass.c
+++ b/modules/codec/libass.c
@@ -2,7 +2,7 @@
  * SSA/ASS subtitle decoder using libass.
  *****************************************************************************
  * Copyright (C) 2008-2009 VLC authors and VideoLAN
- * $Id: aa38f1b2f609072b6d003b46b7b4fd694dfebbd2 $
+ * $Id: 5590df15375907f1578337948e8d10c67c49d5f6 $
  *
  * Authors: Laurent Aimar <fenrir@videolan.org>
  *
@@ -219,7 +219,7 @@ static int Create( vlc_object_t *p_this )
 #endif
 
 #ifdef HAVE_FONTCONFIG
-#if defined(_WIN32)
+#if defined(_WIN32) || defined(__APPLE__)
     dialog_progress_bar_t *p_dialog =
         dialog_ProgressCreate( p_dec,
                                _("Building font cache"),
@@ -227,7 +227,7 @@ static int Create( vlc_object_t *p_this )
                                   "This should take less than a minute." ), NULL );
 #endif
     ass_set_fonts( p_renderer, psz_font, psz_family, true, NULL, 1 );  // setup default font/family
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__APPLE__)
     if( p_dialog )
     {
         dialog_ProgressSet( p_dialog, NULL, 1.0 );
diff --git a/modules/codec/mft.c b/modules/codec/mft.c
index 3ece889..143a308 100644
--- a/modules/codec/mft.c
+++ b/modules/codec/mft.c
@@ -745,7 +745,8 @@ static int ProcessOutputStream(decoder_t *p_dec, DWORD stream_id, void **result)
     }
     else /* An error not listed above occurred */
     {
-        msg_Err(p_dec, "Unexpected error in IMFTransform::ProcessOutput: %#x", hr);
+        msg_Err(p_dec, "Unexpected error in IMFTransform::ProcessOutput: %#lx",
+                hr);
         goto error;
     }
 
diff --git a/modules/codec/omxil/android_mediacodec.c b/modules/codec/omxil/android_mediacodec.c
index 8716929..1157fcd 100644
--- a/modules/codec/omxil/android_mediacodec.c
+++ b/modules/codec/omxil/android_mediacodec.c
@@ -392,7 +392,8 @@ static int OpenDecoder(vlc_object_t *p_this)
         if ((*env)->ExceptionOccurred(env)) {
             msg_Warn(p_dec, "Exception occurred in MediaCodecInfo.getCapabilitiesForType");
             (*env)->ExceptionClear(env);
-            break;
+            (*env)->DeleteLocalRef(env, info);
+            continue;
         } else if (codec_capabilities) {
             profile_levels = (*env)->GetObjectField(env, codec_capabilities, p_sys->profile_levels_field);
             if (profile_levels)
@@ -437,6 +438,7 @@ static int OpenDecoder(vlc_object_t *p_this)
             p_sys->name[name_len] = '\0';
             (*env)->ReleaseStringUTFChars(env, name, name_ptr);
             codec_name = name;
+            (*env)->DeleteLocalRef(env, info);
             break;
         }
         (*env)->DeleteLocalRef(env, info);
@@ -829,8 +831,14 @@ static void GetOutput(decoder_t *p_dec, JNIEnv *env, picture_t **pp_pic, jlong t
                     sar_den = p_dec->fmt_in.video.i_sar_den;
                 }
                 jni_SetAndroidSurfaceSizeEnv(env, width, height, width, height, sar_num, sar_den);
-            } else
-                GetVlcChromaFormat(p_sys->pixel_format, &p_dec->fmt_out.i_codec, &name);
+            } else {
+                if (!GetVlcChromaFormat(p_sys->pixel_format,
+                                        &p_dec->fmt_out.i_codec, &name)) {
+                    msg_Err(p_dec, "color-format not recognized");
+                    p_sys->error_state = true;
+                    return;
+                }
+            }
 
             msg_Dbg(p_dec, "output: %d %s, %dx%d stride %d %d, crop %d %d %d %d",
                     p_sys->pixel_format, name, width, height, p_sys->stride, p_sys->slice_height,
@@ -934,6 +942,8 @@ static picture_t *DecodeVideo(decoder_t *p_dec, block_t **pp_block)
 
         if (index < 0) {
             GetOutput(p_dec, env, &p_pic, timeout);
+            if (p_sys->error_state)
+                break;
             if (p_pic) {
                 /* If we couldn't get an available input buffer but a
                  * decoded frame is available, we return the frame
@@ -996,6 +1006,12 @@ static picture_t *DecodeVideo(decoder_t *p_dec, block_t **pp_block)
         p_sys->decoded = true;
         break;
     }
+    if (p_sys->error_state) {
+        if (p_pic)
+            decoder_DeletePicture(p_dec, p_pic);
+        jni_detach_thread();
+        return NULL;
+    }
     if (!p_pic)
         GetOutput(p_dec, env, &p_pic, 0);
     (*myVm)->DetachCurrentThread(myVm);
diff --git a/modules/codec/png.c b/modules/codec/png.c
index 07a9b45..d5f73ce 100644
--- a/modules/codec/png.c
+++ b/modules/codec/png.c
@@ -2,7 +2,7 @@
  * png.c: png decoder module making use of libpng.
  *****************************************************************************
  * Copyright (C) 1999-2001 VLC authors and VideoLAN
- * $Id: 46d31af689d2e6a2ebc9557d53184b3b7e77663b $
+ * $Id: 33f75155b9a8f8feec30445aafc3dc26854e5f78 $
  *
  * Authors: Gildas Bazin <gbazin@videolan.org>
  *
@@ -405,7 +405,7 @@ static block_t *EncodeBlock(encoder_t *p_enc, picture_t *p_pic)
 
     /* Encode picture */
 
-    for( int i = 0; i < p_pic->p->i_lines; i++ )
+    for( int i = 0; i < p_pic->p->i_visible_lines; i++ )
     {
         png_write_row( p_png, p_pic->p->p_pixels + (i * p_pic->p->i_pitch) );
         if( p_sys->b_error ) goto error;
diff --git a/modules/codec/zvbi.c b/modules/codec/zvbi.c
index fc79a74..364983d 100644
--- a/modules/codec/zvbi.c
+++ b/modules/codec/zvbi.c
@@ -2,7 +2,7 @@
  * zvbi.c : VBI and Teletext PES demux and decoder using libzvbi
  *****************************************************************************
  * Copyright (C) 2007, M2X
- * $Id: bd5599fb04b6f8d688316ddad347c7b16e021a2d $
+ * $Id: abcd27f5355953f68a13b4e7d6f848d58f7aa4c1 $
  *
  * Authors: Derk-Jan Hartman <djhartman at m2x dot nl>
  *          Jean-Paul Saman <jpsaman at m2x dot nl>
@@ -372,7 +372,7 @@ static subpicture_t *Decode( decoder_t *p_dec, block_t **pp_block )
 
     if( !b_cached )
     {
-        if( p_sys->i_last_page != i_wanted_page )
+        if( p_sys->b_text && p_sys->i_last_page != i_wanted_page )
         {
             /* We need to reset the subtitle */
             p_spu = Subpicture( p_dec, &fmt, true,
diff --git a/modules/demux/asf/asf.c b/modules/demux/asf/asf.c
index 21d59a0..0c6ba0b 100644
--- a/modules/demux/asf/asf.c
+++ b/modules/demux/asf/asf.c
@@ -72,7 +72,7 @@ static int Demux  ( demux_t * );
 static int Control( demux_t *, int i_query, va_list args );
 static void FlushRemainingPackets( demux_t *p_demux );
 
-#define MAX_ASF_TRACKS 128
+#define MAX_ASF_TRACKS (ASF_MAX_STREAMNUMBER + 1)
 #define ASF_PREROLL_FROM_CURRENT -1
 
 typedef struct
@@ -745,6 +745,8 @@ static int DemuxPayload(demux_t *p_demux, struct asf_packet_t *pkt, int i_payloa
 
     bool b_packet_keyframe = pkt->p_peek[pkt->i_skip] >> 7;
     uint8_t i_stream_number = pkt->p_peek[pkt->i_skip++] & 0x7f;
+    if ( i_stream_number >= MAX_ASF_TRACKS )
+        goto skip;
 
     uint32_t i_media_object_number = 0;
     if (GetValue2b(&i_media_object_number, pkt->p_peek, &pkt->i_skip, pkt->left - pkt->i_skip, pkt->property >> 4) < 0)
@@ -1100,7 +1102,7 @@ static void ASF_fillup_es_priorities_ex( demux_sys_t *p_sys, void *p_hdr,
         /* Just set highest prio on highest in the group */
         for ( uint16_t i = 1; i < p_mutex->i_stream_number_count; i++ )
         {
-            if ( p_prios->i_count > p_sys->i_track ) break;
+            if ( p_prios->i_count > p_sys->i_track || i > p_sys->i_track ) break;
             p_prios->pi_stream_numbers[ p_prios->i_count++ ] = p_mutex->pi_stream_number[ i ];
         }
     }
@@ -1127,7 +1129,7 @@ static void ASF_fillup_es_bitrate_priorities_ex( demux_sys_t *p_sys, void *p_hdr
         /* Just remove < highest */
         for ( uint16_t i = 1; i < p_bitrate_mutex->i_stream_number_count; i++ )
         {
-            if ( p_prios->i_count > p_sys->i_track ) break;
+            if ( p_prios->i_count > p_sys->i_track || i > p_sys->i_track ) break;
             p_prios->pi_stream_numbers[ p_prios->i_count++ ] = p_bitrate_mutex->pi_stream_numbers[ i ];
         }
     }
@@ -1429,7 +1431,7 @@ static int DemuxInit( demux_t *p_demux )
 
                 if( p_sp->i_type_specific_data_length > sizeof( WAVEFORMATEX ) &&
                     i_format != WAVE_FORMAT_MPEGLAYER3 &&
-                    i_format != WAVE_FORMAT_MPEG )
+                    i_format != WAVE_FORMAT_MPEG && i_data >= 19 )
                 {
                     GET_CHECKED( fmt.i_extra, __MIN( GetWLE( &p_data[16] ),
                                          p_sp->i_type_specific_data_length -
diff --git a/modules/demux/asf/libasf.c b/modules/demux/asf/libasf.c
index e0ff405..7171549 100644
--- a/modules/demux/asf/libasf.c
+++ b/modules/demux/asf/libasf.c
@@ -543,7 +543,9 @@ static int ASF_ReadObject_stream_properties( stream_t *s, asf_object_t *p_obj )
     p_sp->i_type_specific_data_length = GetDWLE( p_peek + 64 );
     p_sp->i_error_correction_data_length = GetDWLE( p_peek + 68 );
     p_sp->i_flags = GetWLE( p_peek + 72 );
-        p_sp->i_stream_number = p_sp->i_flags&0x07f;
+    p_sp->i_stream_number = p_sp->i_flags&0x07f;
+    if ( p_sp->i_stream_number > ASF_MAX_STREAMNUMBER )
+        return VLC_EGENERIC;
     p_sp->i_reserved = GetDWLE( p_peek + 74 );
     i_peek -= 78;
 
@@ -828,13 +830,15 @@ static int ASF_ReadObject_stream_bitrate_properties( stream_t *s,
     p_data = &p_peek[24];
 
     p_sb->i_bitrate = ASF_READ2();
-    if( p_sb->i_bitrate > 127 )
-        p_sb->i_bitrate = 127;  /* Buggy ? */
+    if( p_sb->i_bitrate > ASF_MAX_STREAMNUMBER )
+        p_sb->i_bitrate = ASF_MAX_STREAMNUMBER;  /* Buggy ? */
     for( i = 0; i < p_sb->i_bitrate; i++ )
     {
         if( !ASF_HAVE(2 + 4) )
             break;
         p_sb->bitrate[i].i_stream_number = (uint8_t) ASF_READ2()& 0x7f;
+        if ( p_sb->bitrate[i].i_stream_number > ASF_MAX_STREAMNUMBER )
+            return VLC_EGENERIC;
         p_sb->bitrate[i].i_avg_bitrate = ASF_READ4();
     }
     p_sb->i_bitrate = i;
@@ -879,6 +883,8 @@ static int ASF_ReadObject_extended_stream_properties( stream_t *s,
     p_esp->i_maximum_object_size = GetDWLE( &p_data[40] );
     p_esp->i_flags = GetDWLE( &p_data[44] );
     p_esp->i_stream_number = GetWLE( &p_data[48] );
+    if ( p_esp->i_stream_number > ASF_MAX_STREAMNUMBER )
+        return VLC_EGENERIC;
     p_esp->i_language_index = GetWLE( &p_data[50] );
     p_esp->i_average_time_per_frame= GetQWLE( &p_data[52] );
     p_esp->i_stream_name_count = GetWLE( &p_data[60] );
@@ -1021,12 +1027,19 @@ static int ASF_ReadObject_advanced_mutual_exclusion( stream_t *s,
 
     p_ae->i_stream_number_count = ASF_READ2();
     p_ae->pi_stream_number = calloc( p_ae->i_stream_number_count, sizeof(uint16_t) );
+    if ( !p_ae->pi_stream_number )
+        return VLC_ENOMEM;
 
     for( i = 0; i < p_ae->i_stream_number_count; i++ )
     {
         if( !ASF_HAVE(2) )
             break;
         p_ae->pi_stream_number[i] = ASF_READ2();
+        if ( p_ae->pi_stream_number[i] > ASF_MAX_STREAMNUMBER )
+        {
+            free( p_ae->pi_stream_number );
+            return VLC_EGENERIC;
+        }
     }
     p_ae->i_stream_number_count = i;
 
@@ -1133,6 +1146,11 @@ static int ASF_ReadObject_bitrate_mutual_exclusion( stream_t *s, asf_object_t *p
         if( !ASF_HAVE(2) )
             break;
         p_ex->pi_stream_numbers[i] = ASF_READ2();
+        if ( p_ex->pi_stream_numbers[i] > ASF_MAX_STREAMNUMBER )
+        {
+            free( p_ex->pi_stream_numbers );
+            return VLC_EGENERIC;
+        }
     }
 
 #ifdef ASF_DEBUG
diff --git a/modules/demux/asf/libasf.h b/modules/demux/asf/libasf.h
index ee2c20d..e8b792d 100644
--- a/modules/demux/asf/libasf.h
+++ b/modules/demux/asf/libasf.h
@@ -21,6 +21,8 @@
  *****************************************************************************/
 
 
+#define ASF_MAX_STREAMNUMBER 127
+
 /*****************************************************************************
  * Structure needed for decoder
  *****************************************************************************/
@@ -244,7 +246,7 @@ typedef struct
     {
         uint8_t  i_stream_number;
         uint32_t i_avg_bitrate;
-    } bitrate[128];
+    } bitrate[ASF_MAX_STREAMNUMBER + 1];
 } asf_object_stream_bitrate_properties_t;
 
 
diff --git a/modules/demux/avi/libavi.c b/modules/demux/avi/libavi.c
index 8efd72a..8e2085d 100644
--- a/modules/demux/avi/libavi.c
+++ b/modules/demux/avi/libavi.c
@@ -2,7 +2,7 @@
  * libavi.c : LibAVI
  *****************************************************************************
  * Copyright (C) 2001 VLC authors and VideoLAN
- * $Id: 79cd34b1b5fe662b80c5a59c06901d512f7aeb42 $
+ * $Id: d0cfe714168642e90d09d6b72e1b0c986f051146 $
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *
  * This program is free software; you can redistribute it and/or modify it
@@ -460,9 +460,10 @@ static int AVI_ChunkRead_strf( stream_t *s, avi_chunk_t *p_chk )
             {
                 p_chk->strf.vids.p_bih->biSize = p_chk->common.i_chunk_size;
             }
-            uint64_t i_extrasize = p_chk->common.i_chunk_size - sizeof(VLC_BITMAPINFOHEADER);
-            if( i_extrasize > 0 )
+            if ( p_chk->common.i_chunk_size > sizeof(VLC_BITMAPINFOHEADER) )
             {
+                uint64_t i_extrasize = p_chk->common.i_chunk_size - sizeof(VLC_BITMAPINFOHEADER);
+
                 /* There's a color palette appended, set up VLC_BITMAPINFO */
                 memcpy( &p_chk->strf.vids.p_bih[1],
                         p_buff + 8 + sizeof(VLC_BITMAPINFOHEADER), /* 8=fourrc+size */
@@ -471,12 +472,12 @@ static int AVI_ChunkRead_strf( stream_t *s, avi_chunk_t *p_chk )
                 if ( !p_chk->strf.vids.p_bih->biClrUsed )
                     p_chk->strf.vids.p_bih->biClrUsed = (1 << p_chk->strf.vids.p_bih->biBitCount);
 
-                if( i_extrasize > (UINT32_MAX * sizeof(uint32_t)) )
+                if( i_extrasize / sizeof(uint32_t) > UINT32_MAX )
                     p_chk->strf.vids.p_bih->biClrUsed = UINT32_MAX;
                 else
                 {
                     p_chk->strf.vids.p_bih->biClrUsed =
-                            __MAX( i_extrasize / sizeof(uint32_t),
+                            __MIN( i_extrasize / sizeof(uint32_t),
                                    p_chk->strf.vids.p_bih->biClrUsed );
                 }
 
diff --git a/modules/demux/mjpeg.c b/modules/demux/mjpeg.c
index a6f7419..a0a18f9 100644
--- a/modules/demux/mjpeg.c
+++ b/modules/demux/mjpeg.c
@@ -2,7 +2,7 @@
  * mjpeg.c : demuxes mjpeg webcam http streams
  *****************************************************************************
  * Copyright (C) 2004 VLC authors and VideoLAN
- * $Id: 2c076adeea5bb03a690f17d56be7c9cee67275ba $
+ * $Id: af6fceae8e31e0758df693aff5d31ee720be7190 $
  *
  * Authors: Henry Jen (slowhog) <henryjen@ztune.net>
  *          Derk-Jan Hartman (thedj)
@@ -462,7 +462,8 @@ static int MimeDemux( demux_t *p_demux )
 
     if( i_size > 0 )
     {
-        stream_Read( p_demux->s, NULL, i_size );
+        if( stream_Read( p_demux->s, NULL, i_size ) != i_size )
+            return 0;
     }
     else if( i_size < 0 )
     {
diff --git a/modules/demux/mp4/libmp4.c b/modules/demux/mp4/libmp4.c
index 6609369..19e84d3 100644
--- a/modules/demux/mp4/libmp4.c
+++ b/modules/demux/mp4/libmp4.c
@@ -2823,6 +2823,8 @@ static int MP4_ReadBox_chpl( stream_t *p_stream, MP4_Box_t *p_box )
         uint64_t i_start;
         uint8_t i_len;
         int i_copy;
+        if ( i_read < 9 )
+            break;
         MP4_GET8BYTES( i_start );
         MP4_GET1BYTE( i_len );
 
@@ -2839,6 +2841,10 @@ static int MP4_ReadBox_chpl( stream_t *p_stream, MP4_Box_t *p_box )
         p_peek += i_copy;
         i_read -= i_copy;
     }
+
+    if ( i != p_chpl->i_chapter )
+        p_chpl->i_chapter = i;
+
     /* Bubble sort by increasing start date */
     do
     {
@@ -3042,7 +3048,8 @@ static int MP4_ReadBox_sdtp( stream_t *p_stream, MP4_Box_t *p_box )
 
 #ifdef MP4_VERBOSE
     msg_Dbg( p_stream, "i_sample_count is %"PRIu32"", i_sample_count );
-    msg_Dbg( p_stream,
+    if ( i_sample_count > 3 )
+        msg_Dbg( p_stream,
              "read box: \"sdtp\" head: %"PRIx8" %"PRIx8" %"PRIx8" %"PRIx8"",
                  p_sdtp->p_sample_table[0],
                  p_sdtp->p_sample_table[1],
@@ -3452,63 +3459,81 @@ static const struct
     { ATOM_frma,    MP4_ReadBox_frma,         MP4_FreeBox_Common, 0 },
     { ATOM_skcr,    MP4_ReadBox_skcr,         MP4_FreeBox_Common, 0 },
 
-    /* found in udta */
-    { ATOM_0xa9nam, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9aut, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9cpy, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9swr, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9inf, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
+    /* ilst meta tags */
     { ATOM_0xa9ART, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9dir, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
+    { ATOM_0xa9alb, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
     { ATOM_0xa9cmt, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9req, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
+    { ATOM_0xa9com, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
     { ATOM_0xa9day, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
     { ATOM_0xa9des, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9fmt, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9prd, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9prf, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9src, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9alb, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9dis, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
     { ATOM_0xa9enc, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
     { ATOM_0xa9gen, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9trk, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9dsa, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9hst, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9url, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9ope, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9com, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9wrt, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9too, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9wrn, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9mak, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9mod, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9PRD, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
     { ATOM_0xa9grp, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
     { ATOM_0xa9lyr, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9gen, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9st3, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9ard, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9arg, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9cak, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9con, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9des, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9lnt, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9phg, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9pub, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9sne, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9sol, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9thx, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_0xa9xpd, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
-    { ATOM_chpl,    MP4_ReadBox_chpl,         MP4_FreeBox_chpl,    ATOM_udta },
-
+    { ATOM_0xa9nam, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
+    { ATOM_0xa9too, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
+    { ATOM_0xa9trk, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
+    { ATOM_0xa9wrt, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_ilst },
+    { ATOM_covr,    MP4_ReadBoxContainer,     MP4_FreeBox_Common,  ATOM_ilst },
     { ATOM_gnre,    MP4_ReadBox_gnre,         MP4_FreeBox_Common,  ATOM_ilst },
-    { ATOM_trkn,    MP4_ReadBox_trkn,         MP4_FreeBox_Common,  ATOM_ilst },
+
+    /* udta */
+    { ATOM_0xa9ART, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9alb, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9ard, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9arg, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9aut, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9cak, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9cmt, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9con, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9com, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9cpy, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9day, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9des, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9dir, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9dis, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9dsa, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9fmt, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9gen, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9grp, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9hst, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9inf, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9isr, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9lab, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9lal, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9lnt, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9lyr, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9mak, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9mal, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9mod, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9ope, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9phg, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9PRD, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9prd, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9prf, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9pub, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9req, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9sne, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9snm, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9sol, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9src, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9st3, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9swr, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9thx, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9too, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9trk, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9url, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9wrn, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9xpd, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_0xa9xyz, MP4_ReadBox_0xa9xxx,      MP4_FreeBox_0xa9xxx, ATOM_udta },
+    { ATOM_chpl,    MP4_ReadBox_chpl,         MP4_FreeBox_chpl,    ATOM_udta },
+    { ATOM_covr,    MP4_ReadBoxContainer,     MP4_FreeBox_Common,  ATOM_udta },
+    { ATOM_gnre,    MP4_ReadBox_gnre,         MP4_FreeBox_Common,  ATOM_udta },
+    { ATOM_name,    MP4_ReadBox_name,         MP4_FreeBox_name,    ATOM_udta },
+    { ATOM_trkn,    MP4_ReadBox_trkn,         MP4_FreeBox_Common,  ATOM_udta },
 
     /* iTunes/Quicktime meta info */
     { ATOM_meta,    MP4_ReadBox_meta,         MP4_FreeBox_Common,  0 },
-    { ATOM_name,    MP4_ReadBox_name,         MP4_FreeBox_name,    0 },
-    { ATOM_covr,    MP4_ReadBoxContainer,     MP4_FreeBox_Common,  ATOM_ilst },
     { ATOM_data,    MP4_ReadBox_data,         MP4_FreeBox_data,    0 },
 
     /* found in smoothstreaming */
diff --git a/modules/demux/mp4/libmp4.h b/modules/demux/mp4/libmp4.h
index 5e71347..7eb8939 100644
--- a/modules/demux/mp4/libmp4.h
+++ b/modules/demux/mp4/libmp4.h
@@ -217,6 +217,9 @@
 #define ATOM_0xa9aut VLC_FOURCC( 0xa9, 'a', 'u', 't' )
 #define ATOM_0xa9cpy VLC_FOURCC( 0xa9, 'c', 'p', 'y' )
 #define ATOM_0xa9inf VLC_FOURCC( 0xa9, 'i', 'n', 'f' )
+#define ATOM_0xa9isr VLC_FOURCC( 0xa9, 'i', 's', 'r' )
+#define ATOM_0xa9lab VLC_FOURCC( 0xa9, 'l', 'a', 'b' )
+#define ATOM_0xa9lal VLC_FOURCC( 0xa9, 'l', 'a', 'l' )
 #define ATOM_0xa9ART VLC_FOURCC( 0xa9, 'A', 'R', 'T' )
 #define ATOM_0xa9des VLC_FOURCC( 0xa9, 'd', 'e', 's' )
 #define ATOM_0xa9dir VLC_FOURCC( 0xa9, 'd', 'i', 'r' )
@@ -242,6 +245,7 @@
 #define ATOM_0xa9wrn VLC_FOURCC( 0xa9, 'w', 'r', 'n' )
 #define ATOM_0xa9swr VLC_FOURCC( 0xa9, 's', 'w', 'r' )
 #define ATOM_0xa9mak VLC_FOURCC( 0xa9, 'm', 'a', 'k' )
+#define ATOM_0xa9mal VLC_FOURCC( 0xa9, 'm', 'a', 'l' )
 #define ATOM_0xa9mod VLC_FOURCC( 0xa9, 'm', 'o', 'd' )
 #define ATOM_0xa9PRD VLC_FOURCC( 0xa9, 'P', 'R', 'D' )
 #define ATOM_0xa9grp VLC_FOURCC( 0xa9, 'g', 'r', 'p' )
@@ -257,9 +261,11 @@
 #define ATOM_0xa9phg VLC_FOURCC( 0xa9, 'p', 'h', 'g' )
 #define ATOM_0xa9pub VLC_FOURCC( 0xa9, 'p', 'u', 'b' )
 #define ATOM_0xa9sne VLC_FOURCC( 0xa9, 's', 'n', 'e' )
+#define ATOM_0xa9snm VLC_FOURCC( 0xa9, 's', 'n', 'm' )
 #define ATOM_0xa9sol VLC_FOURCC( 0xa9, 's', 'o', 'l' )
 #define ATOM_0xa9thx VLC_FOURCC( 0xa9, 't', 'h', 'x' )
 #define ATOM_0xa9xpd VLC_FOURCC( 0xa9, 'x', 'p', 'd' )
+#define ATOM_0xa9xyz VLC_FOURCC( 0xa9, 'x', 'y', 'z' )
 #define ATOM_chpl VLC_FOURCC( 'c', 'h', 'p', 'l' )
 #define ATOM_WLOC VLC_FOURCC( 'W', 'L', 'O', 'C' )
 
diff --git a/modules/demux/mp4/mp4.c b/modules/demux/mp4/mp4.c
index dad0ad0..facfcff 100644
--- a/modules/demux/mp4/mp4.c
+++ b/modules/demux/mp4/mp4.c
@@ -1867,12 +1867,24 @@ static int TrackCreateSamplesIndex( demux_t *p_demux,
     {
         mp4_chunk_t *lastchunk = &p_demux_track->chunk[p_demux_track->i_chunk_count - 1];
         uint64_t i_total_size = lastchunk->i_offset;
-        for( uint32_t i=0; i<lastchunk->i_sample_count; i++)
+
+        if ( p_demux_track->i_sample_size != 0 ) /* all samples have same size */
+        {
+            i_total_size += (uint64_t)p_demux_track->i_sample_size * lastchunk->i_sample_count;
+        }
+        else
         {
-            if( p_demux_track->i_sample_size == 0 )
+            if( (uint64_t)lastchunk->i_sample_count + p_demux_track->i_chunk_count - 1 > stsz->i_sample_count )
+            {
+                msg_Err( p_demux, "invalid samples table: stsz table is too small" );
+                return VLC_EGENERIC;
+            }
+
+            for( uint32_t i=stsz->i_sample_count - lastchunk->i_sample_count;
+                 i<stsz->i_sample_count; i++)
+            {
                 i_total_size += stsz->i_entry_size[i];
-            else
-                i_total_size += p_demux_track->i_sample_size;
+            }
         }
 
         if ( i_total_size > p_sys->moovfragment.i_chunk_range_max_offset )
@@ -2118,7 +2130,7 @@ static void TrackGetESSampleRate( demux_t *p_demux,
         return;
     }
 
-    if( p_track->i_chunk_count <= 0 )
+    if( p_track->i_chunk_count == 0 )
         return;
 
     /* */
@@ -2158,7 +2170,7 @@ static int TrackCreateES( demux_t *p_demux, mp4_track_t *p_track,
     demux_sys_t *p_sys = p_demux->p_sys;
     unsigned int i_sample_description_index;
 
-    if( p_sys->b_fragmented )
+    if( p_sys->b_fragmented || p_track->i_chunk_count == 0 )
         i_sample_description_index = 1; /* XXX */
     else
         i_sample_description_index =
diff --git a/modules/demux/ogg.c b/modules/demux/ogg.c
index 78ce4b3..9316a09 100644
--- a/modules/demux/ogg.c
+++ b/modules/demux/ogg.c
@@ -2,7 +2,7 @@
  * ogg.c : ogg stream demux module for vlc
  *****************************************************************************
  * Copyright (C) 2001-2007 VLC authors and VideoLAN
- * $Id: d7cd17944779bb79804a083132a2cfdb5ee3a99d $
+ * $Id: d69a675d96335bd59a9cf8ae491c2b82dfd2342a $
  *
  * Authors: Gildas Bazin <gbazin@netcourrier.com>
  *          Andre Pang <Andre.Pang@csiro.au> (Annodex support)
@@ -1488,7 +1488,6 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
 {
     demux_sys_t *p_ogg = p_demux->p_sys  ;
     ogg_packet oggpacket;
-    int i_stream = 0;
 
     p_ogg->i_total_length = stream_Size ( p_demux->s );
     msg_Dbg( p_demux, "File length is %"PRId64" bytes", p_ogg->i_total_length );
@@ -1504,16 +1503,12 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
              * We found the beginning of our first logical stream. */
             while( ogg_page_bos( &p_ogg->current_page ) )
             {
-                logical_stream_t *p_stream;
-
-                p_stream = malloc( sizeof(logical_stream_t) );
+                logical_stream_t *p_stream = calloc( 1, sizeof(logical_stream_t) );
                 if( unlikely( !p_stream ) )
                     return VLC_ENOMEM;
 
                 TAB_APPEND( p_ogg->i_streams, p_ogg->pp_stream, p_stream );
 
-                memset( p_stream, 0, sizeof(logical_stream_t) );
-
                 es_format_Init( &p_stream->fmt, 0, 0 );
                 es_format_Init( &p_stream->fmt_old, 0, 0 );
                 p_stream->b_initializing = true;
@@ -1545,6 +1540,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                     {
                         msg_Dbg( p_demux, "found invalid vorbis header" );
                         Ogg_LogicalStreamDelete( p_demux, p_stream );
+                        p_stream = NULL;
                         p_ogg->i_streams--;
                     }
                 }
@@ -1563,6 +1559,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                     {
                         msg_Dbg( p_demux, "found invalid Speex header" );
                         Ogg_LogicalStreamDelete( p_demux, p_stream );
+                        p_stream = NULL;
                         p_ogg->i_streams--;
                     }
                 }
@@ -1611,6 +1608,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                     {
                         msg_Dbg( p_demux, "found invalid Flac header" );
                         Ogg_LogicalStreamDelete( p_demux, p_stream );
+                        p_stream = NULL;
                         p_ogg->i_streams--;
                     }
                 }
@@ -1626,6 +1624,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                     {
                         msg_Dbg( p_demux, "found invalid Theora header" );
                         Ogg_LogicalStreamDelete( p_demux, p_stream );
+                        p_stream = NULL;
                         p_ogg->i_streams--;
                     }
                 }
@@ -1641,6 +1640,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                     {
                         msg_Warn( p_demux, "found dirac header isn't decodable" );
                         Ogg_LogicalStreamDelete( p_demux, p_stream );
+                        p_stream = NULL;
                         p_ogg->i_streams--;
                     }
                 }
@@ -1678,6 +1678,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                     {
                         msg_Dbg( p_demux, "invalid VP8 header found");
                         Ogg_LogicalStreamDelete( p_demux, p_stream );
+                        p_stream = NULL;
                         p_ogg->i_streams--;
                     }
                 }
@@ -1687,7 +1688,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                 {
                     Ogg_ReadAnnodexHeader( p_demux, p_stream, &oggpacket );
                     /* kill annodex track */
-                    free( p_stream );
+                    FREENULL( p_stream );
                     p_ogg->i_streams--;
                 }
                 /* Check for Annodex header */
@@ -1706,6 +1707,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                     {
                         msg_Dbg( p_demux, "invalid kate header found");
                         Ogg_LogicalStreamDelete( p_demux, p_stream );
+                        p_stream = NULL;
                         p_ogg->i_streams--;
                     }
                 }
@@ -1811,6 +1813,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                         {
                             msg_Dbg( p_demux, "invalid oggds audio header" );
                             Ogg_LogicalStreamDelete( p_demux, p_stream );
+                            p_stream = NULL;
                             p_ogg->i_streams--;
                         }
                     }
@@ -1818,7 +1821,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                     {
                         msg_Dbg( p_demux, "stream %d has an old header "
                             "but is of an unknown type", p_ogg->i_streams-1 );
-                        free( p_stream );
+                        FREENULL( p_stream );
                         p_ogg->i_streams--;
                     }
                 }
@@ -1941,6 +1944,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                         {
                             msg_Dbg( p_demux, "invalid oggds audio header" );
                             Ogg_LogicalStreamDelete( p_demux, p_stream );
+                            p_stream = NULL;
                             p_ogg->i_streams--;
                         }
                     }
@@ -1959,7 +1963,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                     {
                         msg_Dbg( p_demux, "stream %d has a header marker "
                             "but is of an unknown type", p_ogg->i_streams-1 );
-                        free( p_stream );
+                        FREENULL( p_stream );
                         p_ogg->i_streams--;
                     }
                 }
@@ -1976,12 +1980,13 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
                 {
                     msg_Dbg( p_demux, "stream %d is of unknown type",
                              p_ogg->i_streams-1 );
-                    free( p_stream );
+                    FREENULL( p_stream );
                     p_ogg->i_streams--;
                 }
 
                 /* we'll need to get all headers */
-                p_ogg->pp_stream[i_stream]->b_initializing &= p_ogg->pp_stream[i_stream]->b_force_backup;
+                if ( p_stream )
+                    p_stream->b_initializing &= p_stream->b_force_backup;
 
                 if( Ogg_ReadPage( p_demux, &p_ogg->current_page ) != VLC_SUCCESS )
                     return VLC_EGENERIC;
@@ -1990,7 +1995,7 @@ static int Ogg_FindLogicalStreams( demux_t *p_demux )
             /* This is the first data page, which means we are now finished
              * with the initial pages. We just need to store it in the relevant
              * bitstream. */
-            for( i_stream = 0; i_stream < p_ogg->i_streams; i_stream++ )
+            for( int i_stream = 0; i_stream < p_ogg->i_streams; i_stream++ )
             {
                 if( ogg_stream_pagein( &p_ogg->pp_stream[i_stream]->os,
                                        &p_ogg->current_page ) == 0 )
diff --git a/modules/demux/ps.h b/modules/demux/ps.h
index 7f3b209..8fc95eb 100644
--- a/modules/demux/ps.h
+++ b/modules/demux/ps.h
@@ -2,7 +2,7 @@
  * ps.h: Program Stream demuxer helper
  *****************************************************************************
  * Copyright (C) 2004-2009 VLC authors and VideoLAN
- * $Id: cd7d547a838754683421cc8b4dc02139513b2c0f $
+ * $Id: ab2d0db1a2b7a33886f8dca75c43b3bc79136d28 $
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *
@@ -190,6 +190,12 @@ static inline int ps_track_fill( ps_track_t *tk, ps_psm_t *p_psm, int i_id )
         {
             es_format_Init( &tk->fmt, AUDIO_ES, VLC_CODEC_MPGA );
         }
+        else if( i_id == 0xe2 || /* Primary H.264 in evob */
+                 i_id == 0xe3 )  /* Seconday H.264 in evob */
+        {
+                es_format_Init( &tk->fmt, VIDEO_ES, VLC_CODEC_H264 );
+        }
+
 
         if( tk->fmt.i_cat == UNKNOWN_ES && ( i_id&0xf0 ) == 0xe0 )
         {
diff --git a/modules/demux/tta.c b/modules/demux/tta.c
index 392bb64..1f96bdd 100644
--- a/modules/demux/tta.c
+++ b/modules/demux/tta.c
@@ -2,7 +2,7 @@
  * tta.c : The Lossless True Audio parser
  *****************************************************************************
  * Copyright (C) 2006 VLC authors and VideoLAN
- * $Id: 606cb0743b6cf2ed5d5cfd04e54d2659f220d8ad $
+ * $Id: be48a9a52b3756bfc2db5e669f6820ddda5b69ef $
  *
  * Authors: Derk-Jan Hartman <hartman at videolan dot org>
  *
@@ -195,7 +195,7 @@ static int Demux( demux_t *p_demux )
     demux_sys_t *p_sys = p_demux->p_sys;
     block_t     *p_data;
 
-    if( p_sys->i_currentframe > p_sys->i_totalframes )
+    if( p_sys->i_currentframe >= p_sys->i_totalframes )
         return 0;
 
     p_data = stream_Block( p_demux->s, p_sys->pi_seektable[p_sys->i_currentframe] );
diff --git a/modules/hw/vdpau/deinterlace.c b/modules/hw/vdpau/deinterlace.c
index 44d7f25..f2abbdd 100644
--- a/modules/hw/vdpau/deinterlace.c
+++ b/modules/hw/vdpau/deinterlace.c
@@ -91,6 +91,7 @@ static picture_t *Deinterlace(filter_t *filter, picture_t *src)
     }
 
     src->b_progressive = true;
+    dst->b_progressive = true;
     return src;
 }
 
diff --git a/modules/video_chroma/swscale.c b/modules/video_chroma/swscale.c
index fb21d9a..f1a8c7e 100644
--- a/modules/video_chroma/swscale.c
+++ b/modules/video_chroma/swscale.c
@@ -2,7 +2,7 @@
  * swscale.c: scaling and chroma conversion using libswscale
  *****************************************************************************
  * Copyright (C) 1999-2008 VLC authors and VideoLAN
- * $Id: 7d6faf61d9a8aa80650b1e4bdf5ee46b6df6b956 $
+ * $Id: 1f3236239998b64fb9001b15e684607071cbaa9b $
  *
  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
  *          Gildas Bazin <gbazin@videolan.org>
@@ -340,6 +340,8 @@ static int GetParameters( ScalerConfiguration *p_cfg,
         p_cfg->b_has_a = b_has_ai && b_has_ao;
         p_cfg->b_add_a = (!b_has_ai) && b_has_ao;
         p_cfg->b_copy = i_fmti == i_fmto &&
+                        p_fmti->i_width == p_fmto->i_width &&
+                        p_fmti->i_height == p_fmto->i_height &&
                         p_fmti->i_visible_width == p_fmto->i_visible_width &&
                         p_fmti->i_visible_height == p_fmto->i_visible_height;
         p_cfg->b_swap_uvi = b_swap_uvi;
@@ -387,21 +389,40 @@ static int Init( filter_t *p_filter )
         return VLC_EGENERIC;
     }
 
+    unsigned iwidth = (p_fmti->i_visible_width * p_fmto->i_width)
+                      / p_fmto->i_visible_width;
+    unsigned iheight = (p_fmti->i_visible_height * p_fmto->i_height)
+                       / p_fmto->i_visible_height;
+    unsigned owidth = (p_fmto->i_visible_width * p_fmti->i_width)
+                      / p_fmti->i_visible_width;
+    unsigned oheight = (p_fmto->i_visible_height * p_fmti->i_height)
+                       / p_fmti->i_visible_height;
+
+    if( owidth > p_fmto->i_width )
+        owidth = p_fmto->i_width;
+    else
+        iwidth = p_fmti->i_width;
+    if( oheight > p_fmto->i_height )
+        oheight = p_fmto->i_height;
+    else
+        iheight = p_fmti->i_height;
+
     /* swscale does not like too small width */
     p_sys->i_extend_factor = 1;
-    while( __MIN( p_fmti->i_visible_width, p_fmto->i_visible_width ) * p_sys->i_extend_factor < MINIMUM_WIDTH)
+    while( __MIN( p_fmti->i_width, p_fmto->i_width ) * p_sys->i_extend_factor < MINIMUM_WIDTH)
         p_sys->i_extend_factor++;
 
-    const unsigned i_fmti_visible_width = p_fmti->i_visible_width * p_sys->i_extend_factor;
-    const unsigned i_fmto_visible_width = p_fmto->i_visible_width * p_sys->i_extend_factor;
+    iwidth *= p_sys->i_extend_factor;
+    owidth *= p_sys->i_extend_factor;
+
     for( int n = 0; n < (cfg.b_has_a ? 2 : 1); n++ )
     {
         const int i_fmti = n == 0 ? cfg.i_fmti : PIX_FMT_GRAY8;
         const int i_fmto = n == 0 ? cfg.i_fmto : PIX_FMT_GRAY8;
         struct SwsContext *ctx;
 
-        ctx = sws_getContext( i_fmti_visible_width, p_fmti->i_visible_height, i_fmti,
-                              i_fmto_visible_width, p_fmto->i_visible_height, i_fmto,
+        ctx = sws_getContext( iwidth, iheight, i_fmti,
+                              owidth, oheight, i_fmto,
                               cfg.i_sws_flags | p_sys->i_cpu_mask,
                               p_sys->p_src_filter, p_sys->p_dst_filter, 0 );
         if( n == 0 )
@@ -411,13 +432,13 @@ static int Init( filter_t *p_filter )
     }
     if( p_sys->ctxA )
     {
-        p_sys->p_src_a = picture_New( VLC_CODEC_GREY, i_fmti_visible_width, p_fmti->i_visible_height, 0, 1 );
-        p_sys->p_dst_a = picture_New( VLC_CODEC_GREY, i_fmto_visible_width, p_fmto->i_visible_height, 0, 1 );
+        p_sys->p_src_a = picture_New( VLC_CODEC_GREY, iwidth, iheight, 0, 1 );
+        p_sys->p_dst_a = picture_New( VLC_CODEC_GREY, owidth, oheight, 0, 1 );
     }
     if( p_sys->i_extend_factor != 1 )
     {
-        p_sys->p_src_e = picture_New( p_fmti->i_chroma, i_fmti_visible_width, p_fmti->i_visible_height, 0, 1 );
-        p_sys->p_dst_e = picture_New( p_fmto->i_chroma, i_fmto_visible_width, p_fmto->i_visible_height, 0, 1 );
+        p_sys->p_src_e = picture_New( p_fmti->i_chroma, iwidth, iheight, 0, 1 );
+        p_sys->p_dst_e = picture_New( p_fmto->i_chroma, owidth, oheight, 0, 1 );
 
         if( p_sys->p_src_e )
             memset( p_sys->p_src_e->p[0].p_pixels, 0, p_sys->p_src_e->p[0].i_pitch * p_sys->p_src_e->p[0].i_lines );
@@ -645,23 +666,24 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
     else if( p_sys->b_copy )
         SwapUV( p_dst, p_src );
     else
-        Convert( p_filter, p_sys->ctx, p_dst, p_src, p_fmti->i_visible_height, 0, 3,
+        Convert( p_filter, p_sys->ctx, p_dst, p_src, p_fmti->i_height, 0, 3,
                  p_sys->b_swap_uvi, p_sys->b_swap_uvo );
     if( p_sys->ctxA )
     {
         /* We extract the A plane to rescale it, and then we reinject it. */
         if( p_fmti->i_chroma == VLC_CODEC_RGBA || p_fmti->i_chroma == VLC_CODEC_BGRA )
-            ExtractA( p_sys->p_src_a, p_src, p_fmti->i_visible_width * p_sys->i_extend_factor, p_fmti->i_visible_height, OFFSET_A );
+            ExtractA( p_sys->p_src_a, p_src, p_fmti->i_width * p_sys->i_extend_factor, p_fmti->i_height, OFFSET_A );
         else if( p_fmti->i_chroma == VLC_CODEC_ARGB )
-            ExtractA( p_sys->p_src_a, p_src, p_fmti->i_visible_width * p_sys->i_extend_factor, p_fmti->i_visible_height, 0 );
+            ExtractA( p_sys->p_src_a, p_src, p_fmti->i_width * p_sys->i_extend_factor, p_fmti->i_height, 0 );
         else
             plane_CopyPixels( p_sys->p_src_a->p, p_src->p+A_PLANE );
 
-        Convert( p_filter, p_sys->ctxA, p_sys->p_dst_a, p_sys->p_src_a, p_fmti->i_visible_height, 0, 1, false, false );
+        Convert( p_filter, p_sys->ctxA, p_sys->p_dst_a, p_sys->p_src_a,
+                 p_fmti->i_height, 0, 1, false, false );
         if( p_fmto->i_chroma == VLC_CODEC_RGBA || p_fmto->i_chroma == VLC_CODEC_BGRA )
-            InjectA( p_dst, p_sys->p_dst_a, p_fmto->i_visible_width * p_sys->i_extend_factor, p_fmto->i_visible_height, OFFSET_A );
+            InjectA( p_dst, p_sys->p_dst_a, p_fmto->i_width * p_sys->i_extend_factor, p_fmto->i_height, OFFSET_A );
         else if( p_fmto->i_chroma == VLC_CODEC_ARGB )
-            InjectA( p_dst, p_sys->p_dst_a, p_fmto->i_visible_width * p_sys->i_extend_factor, p_fmto->i_visible_height, 0 );
+            InjectA( p_dst, p_sys->p_dst_a, p_fmto->i_width * p_sys->i_extend_factor, p_fmto->i_height, 0 );
         else
             plane_CopyPixels( p_dst->p+A_PLANE, p_sys->p_dst_a->p );
     }
diff --git a/modules/video_output/caca.c b/modules/video_output/caca.c
index c3fd71a..75c83e6 100644
--- a/modules/video_output/caca.c
+++ b/modules/video_output/caca.c
@@ -2,7 +2,7 @@
  * caca.c: Color ASCII Art "vout display" module using libcaca
  *****************************************************************************
  * Copyright (C) 2003-2009 VLC authors and VideoLAN
- * $Id: 2958abd9a6d431bc4f1a5d5560e9853d361577cc $
+ * $Id: 4b39e455d026edc51588a5793493a824103645e3 $
  *
  * Authors: Sam Hocevar <sam@zoy.org>
  *          Laurent Aimar <fenrir _AT_ videolan _DOT_ org>
@@ -331,7 +331,7 @@ static int Control(vout_display_t *vd, int query, va_list args)
     case VOUT_DISPLAY_CHANGE_ZOOM:
     case VOUT_DISPLAY_CHANGE_DISPLAY_FILLED:
     case VOUT_DISPLAY_CHANGE_SOURCE_ASPECT:
-        return VLC_SUCCESS;
+        return VLC_EGENERIC;
 
     case VOUT_DISPLAY_CHANGE_SOURCE_CROP:
         if (sys->dither)
diff --git a/modules/video_output/msw/win32touch.c b/modules/video_output/msw/win32touch.c
index 704a99c..122af40 100644
--- a/modules/video_output/msw/win32touch.c
+++ b/modules/video_output/msw/win32touch.c
@@ -150,7 +150,7 @@ LRESULT DecodeGesture( vlc_object_t *p_this, win32_gesture_sys_t *p_gesture,
                         }
                         break;
                     default:
-                        msg_Err( p_this, "Unmanaged dwFlag: %i", gi.dwFlags );
+                        msg_Err( p_this, "Unmanaged dwFlag: %lx", gi.dwFlags );
                 }
                 bHandled = TRUE;
                 break;
diff --git a/src/revision.c b/src/revision.c
index c614504..16c28ed 100644
--- a/src/revision.c
+++ b/src/revision.c
@@ -1 +1 @@
-const char psz_vlc_changeset[] = "2.2.0-pre3-104-g836a443";
+const char psz_vlc_changeset[] = "2.2.0-pre4-97-g8a35de1";
diff --git a/src/revision.txt b/src/revision.txt
index 0847bc7..5e7f672 100644
--- a/src/revision.txt
+++ b/src/revision.txt
@@ -1 +1 @@
-2.2.0-pre3-104-g836a443
+2.2.0-pre4-97-g8a35de1
diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index d6e2172..5131382 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -6,7 +6,7 @@
  * thread, and destroy a previously oppened video output thread.
  *****************************************************************************
  * Copyright (C) 2000-2007 VLC authors and VideoLAN
- * $Id: 2dd43f4c5c4bd8566b3bbf8c92d4b0e948c42980 $
+ * $Id: 1b01ee08d8579469179f491da817821c46d48374 $
  *
  * Authors: Vincent Seguin <seguin@via.ecp.fr>
  *          Gildas Bazin <gbazin@videolan.org>
@@ -1452,8 +1452,17 @@ static int ThreadReinit(vout_thread_t *vout,
     }
     state.sar.num = 0;
     state.sar.den = 0;
+
     /* FIXME current vout "variables" are not in sync here anymore
      * and I am not sure what to do */
+    if (state.cfg.display.sar.num <= 0 || state.cfg.display.sar.den <= 0) {
+        state.cfg.display.sar.num = 1;
+        state.cfg.display.sar.den = 1;
+    }
+    if (state.cfg.zoom.num <= 0 || state.cfg.zoom.den <= 0) {
+        state.cfg.zoom.num = 1;
+        state.cfg.zoom.den = 1;
+    }
 
     vout->p->original = original;
     vout->p->dpb_size = cfg->dpb_size;

Attachment: signature.asc
Description: Digital signature


Reply to: