4.8.2
* Revised the logic used by PulseSupport to come up with an icon name
for PulseAudio. If the application has QApplication::windowIcon set
with an QIcon constructed through QIcon::fromTheme(string) the actual
icon name will be used. Otherwise the lower-case version of
QCoreApplication::applicationName is used.
* Fixed building with the compiler clang by reverting a previously
introduced workaround.
4.8.1
* Prevent a crash when failing to create the preferred backend
4.8.0
* Prevent problems with the CMakeConfig's relative installation path
resolution when trying to build on a system which has symlinks as part
of the installation path (e.g. Fedora systems).
* Prevent warnings on PulseSupport shutdown when AudioOutputs are held by
a global static that is only destroyed after PulseSupport was shut down.
* Sync clang detection code with kdelibs.
* Documented the fact that paused can result in StoppedState if playback
can not be started.
flvstreamer is an open source command-line RTMP client intended to stream audio
or video content from all types of flash or rtmp servers. Forked from rtmpdump
v1.6 with encrypted rtmp and swf verification support removed. This tool
provides free interoperability with the previously undocumented adobe RTMP
protocol so widely in use on the internet today. It was developed entirely by
reverse engineering methods and without access to any proprietary or
restrictive-license protocol specifications.
ok wiz@
* avcodec/svq1dec: zero terminate embedded message before printing
* avcodec/utils: Align dimensions by at least their chroma sub-sampling factors.
* avcodec/dnxhddec: treat pix_fmt like width/height
* avcodec/dxa: check dimensions
* avcodec/dirac_arith: fix integer overflow
* avcodec/diracdec: Tighter checks on CODEBLOCKS_X/Y
* avcodec/diracdec: Use 64bit in calculation of codeblock coordinates
* postproc: fix qp count
* postproc/postprocess: fix quant store for fq mode
* avcodec/h264_slice: Clear table pointers to avoid stale pointers
=== release 1.4.4 ===
2014-11-06 Sebastian Dröge <slomo@coaxion.net>
* configure.ac:
releasing 1.4.4
2014-10-24 12:51:07 +0100 Tim-Philipp Müller <tim@centricular.com>
* libs/gst/base/gstbasesink.c:
basesink: don't unlock mutex that is not locked
Fixes 'Attempt to unlock mutex that was not locked'
warning with newer GLibs when sink is shut down in
certain situations. Triggered by the decodebin
test_reuse_without_decoders unit test in -base
sometimes, esp. on slower machines.
2014-10-16 10:13:14 +0400 Andrei Sarakeev <sarakusha@gmail.com>
* plugins/elements/gstmultiqueue.c:
multiqueue: Wake up any waiting streams if the current one goes EOS
Otherwise we might have unlinked streams waiting.
https://bugzilla.gnome.org/show_bug.cgi?id=738198
2014-10-08 15:37:37 +0200 Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
* docs/pwg/advanced-negotiation.xml:
docs: pwg: fix typo in 'Dynamic negotiation' section
The point of this example is to show how to set caps
on the source pad once it has been set on the sink pad.
So, in passthrough mode, the caps is just copied to the
source pad.
https://bugzilla.gnome.org/show_bug.cgi?id=738153
2014-10-06 13:38:21 +0200 Nicolas Huet <nicolas.huet@parrot.com>
* gst/gstsystemclock.c:
systemclock: fix multi-thread entry status issue
Running two threads, one executing the timer and one unscheduling it, the
unscheduled status set by the second thread is sometimes overwritten by the
first one.
https://bugzilla.gnome.org/show_bug.cgi?id=737999
2014-09-25 16:21:51 +0100 Tim-Philipp Müller <tim@centricular.com>
* tests/check/libs/baseparse.c:
tests: fix caps leak in baseparse unit test
2014-10-03 13:14:25 +0200 Matej Knopp <matej.knopp@gmail.com>
* tests/check/libs/baseparse.c:
tests: baseparse: set_sink_caps vfunc should't take ownership of the caps
https://bugzilla.gnome.org/show_bug.cgi?id=737762
2014-10-08 09:37:41 -0700 Aleix Conchillo Flaqué <aleix@oblong.com>
* plugins/elements/gstmultiqueue.c:
multiqueue: don't lock multiqueue when pushing serialized queries
If we are pushing a serialized query into a queue and the queue is
filled, we will end in a deadlock. We need to release the lock before
pushing and acquire it again afterward.
https://bugzilla.gnome.org/show_bug.cgi?id=737794
2014-10-02 14:55:22 +0300 Sebastian Dröge <sebastian@centricular.com>
* plugins/elements/gstqueue.c:
queue: Add missing break in switch
2014-09-27 20:10:34 +0200 Matej Knopp <matej.knopp@gmail.com>
* plugins/elements/gstmultiqueue.c:
multiqueue: update segment position on GAP events to calculate levels properly
https://bugzilla.gnome.org/show_bug.cgi?id=737498
2014-10-02 11:00:32 +0300 Sebastian Dröge <sebastian@centricular.com>
* plugins/elements/gstqueue.c:
queue: update segment position on GAP events to calculate levels properly
https://bugzilla.gnome.org/show_bug.cgi?id=737498
2014-10-02 10:57:43 +0300 Sebastian Dröge <sebastian@centricular.com>
* plugins/elements/gstqueue2.c:
queue2: update segment position on GAP events to calculate levels properly
https://bugzilla.gnome.org/show_bug.cgi?id=737498
2014-10-02 10:13:28 +0300 Sebastian Dröge <sebastian@centricular.com>
* plugins/elements/gstcapsfilter.c:
capsfilter: Push pending events before a buffer also if upstream never configured caps but we have srcpad caps already
Otherwise we never send pending events downstream that arrive after we
configured caps on the srcpad.
https://bugzilla.gnome.org/show_bug.cgi?id=737735
2014-09-24 10:11:54 +0200 Thibault Saunier <tsaunier@gnome.org>
* scripts/gst-uninstalled:
scripts: Handle gst-python in gst-uninstalled
https://bugzilla.gnome.org/show_bug.cgi?id=709082
= NEWS
== Ruby-GNOME2 2.2.3: 2014-10-26
It is a bug fix release.
It's recommended that you upgrade if your application uses thread and
runs on Ruby 2.1 or later.
=== Changes
==== All
* Improvements
* Supported auto native package install on SuSE.
==== Ruby/GLib2
* Fixes
* Fixed infinite loop bug on Ruby 2.1 or later.
[ruby-gnome2-devel-ja] [Reported by Toshi Hatsune]
==== Ruby/GDK3
* Fixes
* Added missing dependencies.
[GitHub#258] [Reported by Luis Daniel Gonzalez Orozco]
==== Ruby/CairoGObject
* Improvements
* Supported auto required native package install by Homebrew.
* Fixes
* Fixed wrong package name on Debian.
==== Ruby/VTE3
* Improvements
* Supported auto required native package install by Homebrew.
==== Ruby/Clutter
* Improvements
* Added Clutter.check_version?.
=== Thanks
* Luis Daniel Gonzalez Orozco
* Toshi Hatsune
== Ruby-GNOME2 2.2.2: 2014-10-12
It is a Windows package fix release.
== Ruby-GNOME2 2.2.1: 2014-10-12
It is a release that Ruby/GDK3 is migrated to
Ruby/GObjectIntrospection based bindings.
Some API changes in Ruby/GDK3 are expected but unexpected API
changes may exist. If you find API change, please report it. If the
API change provides non Rubyish API, it will be a bug.
Ruby/GooCanvas is removed because we can't maintain it.
=== Changes
==== Ruby/GLib2
* Improvements
* Added GObject#unref to free large object immediately.
* Fixes
* [windows] Added a missing exported symbol. ((({rbg_inspect})))
* Fixed a bug that signal handler doesn't work on Ruby 2.1.
[ruby-gnome2-devel-en] [Reported by Carlo E. Prelz]
* Fixed free function (free -> xfree).
==== Ruby/GObjectIntrospection
* Improvements
* Supported instantiating union.
* Accepted 5 or more the number of signals.
It may be increased for later GIO version.
[GitHub#229] [Reported by cosmo0920]
* Added "?" to boolean field value reader.
* Supported mapping function info to method.
* Don't handle MethodInfo as FunctionInfo.
* Accepted not GType struct as an input argument.
* Accepted getting a field value from not GType but
GType descendant sruct.
* Added Loader.register_constant_rename_map.
* Supported in GType array.
* Don't require needless array length argument.
* Supported finding suitable method that has optional argument.
* Fixes
* Fixed wrong argument index for Ruby objects.
* Fixed a bug that ArgInfo isn't passed.
==== Ruby/CairoGObject
* Improvements
* Suppressed a warning that instance variable gboxed not initialized.
==== Ruby/GIO2
* Improvements
* Supported GLib 2.42.0. Annotation for GObject Introspection is added
to g_pollable_input_stream_read_nonblocking() since GLib 2.42.0.
See also: https://bugzilla.gnome.org/show_bug.cgi?id=730493
* Supported GLib <= 2.36.0.
* Fixes
* Fixed a bug that .pc isn't installed. [Reported by OBATA Akio]
==== Ruby/GDK3
* Improvements
* Migrated to Ruby/GObjectIntrospection based bindings.
* Gdk::Keyval::GDK_KEY_x style is deprecated. Use
Gdk::Keyval::KEY_x style instead.
* Accepted Gdk::RGBA for Cairo::Context#set_source_rgba.
==== Ruby/GTK3
* Improvements
* Added Gtk::StackSwitcher.
* Supported interrupt in Gtk.main.
* Supported interrupt in Gtk::Dialog#run.
[Reported by Carlo E. Prelz]
* Added initialization with Gdk::RGBA value.
[GitHub#231] [Patch by Detlef Reichl]
* Added Gtk::Window#set_titlebar (enable the use of Gtk::HeaderBar).
[GitHub#236] [Patch by tescorg]
* Updated sample scripts.
[Patch by kitachro]
* Fixes
* Fixed memory leak of Gtk::Image.
[GitHub#252] [Reported by Michel Boaventura]
==== Ruby/GTK2
* Improvements
* Fixed wrong property value on ppc64 and s390x.
[GitHub#256] [Reported by mtasaka]
==== Ruby/GStreamer
* Improvements
* Added gstreamer.rb for Bundler's autoload.
[GitHub#232] [Reported by saepia]
* Added Caps.any and Caps.empty.
* Supported property for Gst::ChildProxy.
[GitHub#233] [Reported by saepia]
* Fixes
* Fixed a bug that Gst.init is failed.
[GitHub#232] [Reported by saepia]
==== Ruby/Poppler
* Improvements
* Install Poppler with --with-glib option for Homebrew.
[GitHub#237] [Reported by Colin Dean]
* Removed needless `--with-glib` option. Now, it is the default.
[rabbit-shocker/rabbit#24] [Reported by Kazuhiro NISHIYAMA]
==== Ruby/ClutterGStreamer
* Improvements
* Added clutter-gstreamer.rb to support Bundler's autoload.
==== Ruby/GooCanvas
* Removed.
=== Thanks
* OBATA Akio
* Carlo E. Prelz
* cosmo0920
* Detlef Reichl
* saepia
* tescorg
* Colin Dean
* Kazuhiro NISHIYAMA
* kitachro
* Michel Boaventura
* mtasaka
* avcodec/h264_slice: Clear table pointers to avoid stale pointers
* avcodec/h264_parser: rewrite the parse_nal_units() loop logic based on h264.c
* avcodec/h264: simplify find_start_code()
* Move get_avc_nalsize() and find_start_code() to h264.h
* mpeg4vdpau: Fix priv data size.
* avformat/matroskadec: do not trust the default duration to be the real 1/timebase if its less than 5fps
* avformat/options_table: add FF_COMPLIANCE_UNOFFICIAL
* Stop demuxing wtv on eof.
* Update to the current lavf API and fix memory leak when using --seek
* x86inc: Make INIT_CPUFLAGS support an arbitrary number of cpuflags
* x86: Minor pixel_ssim_end4 improvements
* x86: Faster quant_4x4x4
* configure: improve cc_check for clang and ICL to not ignore unknown options
* checkasm: Only call x264_cpu_detect() once
===================
pkgsrc changes:
---------------
- Add quvi option to support youtube-like sites directly from mpv.
Disabled by default.
upstream changes:
-----------------
Release 0.6.1
Changes
Don't show message on "osd" command by default (this essentially
reverts a change introduced in the last release).
Add an alternative input configuration that reverts the key binding
changes introduced by previous releases
(see etc/restore-old-bindings.conf in the sources).
Automatically install example input configuration files.
Bug fixes
Fix stream languages with Bluray
Don't try to create surfaces of size 0 in the VDPAU vo.
Don't print audio/video init failure message twice.
Fix playback on the root window on X11 (i.e. when using --wid=0).
Fix the autodetection of the input format in the vf_stereo3d filter when
mpv is built against libav (this makes --video-stereo-mode work with
libav as well).
Fix compilation with PulseAudio 1.0.
Fix compilation with clang.
Try harder to decode cover art picture only once.
Fix cursor autohide (--cursor-autohide) with audio-only files on file
change (e.g. when skipping to the next playlist file).
* Ignore 'phantom' audio, subtitle tracks
* Check for garbage in the program chains, which indicate that a track is
non-existant, to work around additional copy protection
* Fix displaying content type for audio tracks, subtitles
* Fix pallete display of first entry
* Fix include orders
* Ignore read errors in titles that would not be displayed anyway
* Fix the chapter count
* Make sure the array size and the array limit used when initialising
the palette size is the same.
* Fix array printing.
* Correct subsecond calculations.
* Add sector information to the output format.
* Clean up code to be closer to ANSI C and compile without warnings
with more GCC compiler warnings.
* swresample/swresample: fix sample drop loop end condition
* avcodec/h264: Check mode before considering mixed mode intra prediction
* avformat/mpegts: Check desc_len / get8() return code
* avcodec/smc: fix off by 1 error
* avcodec/qpeg: fix off by 1 error in MV bounds check
* avcodec/gifdec: factorize interleave end handling out
* avcodec/cinepak: fix integer underflow
* avcodec/pngdec: Calculate MPNG bytewidth more defensively
* avcodec/pngdec: Check bits per pixel before setting monoblack pixel format
* avcodec/tiff: more completely check bpp/bppcount
* avcodec/mmvideo: Bounds check 2nd line of HHV Intra blocks
* avcodec/utils: Add case for jv to avcodec_align_dimensions2()
* more...
Changes
Map ESC to exiting fullscreen.
Run the vo inside its own thread.
Enable the demuxer thread by default.
Prefer the opengl vo over the vdpau one.
Complete profile names in the zsh completion script.
Raise dsound ao buffer size to 200ms and make it configurable.
Bind ctrl+c to quit, so that it works both in the terminal and the player window.
Automatically load playlists without needing --load-unsafe-playlists or --playlist. Unsafe URLs are still rejected (e.g. remote playlists can't load local files).
Remove quvi-format property (which never really worked).
Wait until all Lua scripts are loaded on start.
Use separate threads for input sources (terminal, lirc, joystick) instead of using a central I/O loop.
Complete values for options that take file names in the zsh completion script.
Use libwaio for pipe input on Windows (if you want --input-file to work on Windows you need libwaio as an additional dependency).
Remove the --volstep option (users should change the argument to the "add" function in input.conf instead).
Always show the OSD message when changing volume, gamma, panscan, etc along with the OSD bar.
When changing a property always show it on the OSD (except for "pause" and "fullscreen").
Prefer the libavcodec decoder over libmpg123 for mp3 decoding (ffmpeg/libav support for gapless audio works better for mpv's use-case).
Allow passing number of loops to --loop-file.
Change --keep-open option semantics to not terminate the player when playing or seeking past the end of the file and there's no next file to be played.
Disable the sndio ao by default and prefer other outputs even if it's enabled.
New features
Add new framedrop mode that limits the frequency of new video frames displayed based on the display framerate (this is enabled by default, the old decoder-based mode can be enabled with --framedrop=decoder).
Add --demuxer-readahead-secs option to control the readahead buffer using a duration value.
Add estimated-frame-count and estimated-frame-number properties.
Add --cache-secs option which overrides the value of --demuxer-readahead-secs if the stream cache is active.
Add demuxer-cache-duration and demuxer-cache-idle properties.
Make --cache-file create a temporary file if the string "TMP" is passed instead of a file name.
Add support for Matroska 3D (if a file is marked as 3D using the StereoMode element, an automatic conversion filter is added).
Add --osd-playing-msg option to show a message on the OSD when the playback starts.
Add --media-title option to force the content of the media-title property.
Add --osd-msg1, --osd-msg2 and --osd-msg3 options to override the OSD message for the corresponding OSD level (before only level 3 could be overridden with --osd-status-message).
Add support for digital passthrough in the pulse ao.
Add support for opening DVD and Blu-ray directories directly.
Add --input-x11-keyboard option to control whether keyboard input should be enabled on the X11 window ot not (this is disabled by default when using the libmpv library).
version 2.4.2:
- avcodec/on2avc: Check number of channels
- avcodec/hevc: fix chroma transform_add size
- avcodec/h264: Check mode before considering mixed mode intra prediction
- avformat/mpegts: use a padded buffer in read_sl_header()
- avformat/mpegts: Check desc_len / get8() return code
- avcodec/vorbisdec: Fix off by 1 error in ptns_to_read
- sdp: add support for H.261
- avcodec/svq3: Do not memcpy AVFrame
- avcodec/smc: fix off by 1 error
- avcodec/qpeg: fix off by 1 error in MV bounds check
- avcodec/gifdec: factorize interleave end handling out
- avcodec/cinepak: fix integer underflow
- avcodec/pngdec: Check bits per pixel before setting monoblack pixel format
- avcodec/pngdec: Calculate MPNG bytewidth more defensively
- avcodec/tiff: more completely check bpp/bppcount
- avcodec/mmvideo: Bounds check 2nd line of HHV Intra blocks
- avcodec/h263dec: Fix decoding messenger.h263
- avcodec/utils: Add case for jv to avcodec_align_dimensions2()
- avcodec/mjpegdec: check bits per pixel for changes similar to dimensions
- avcodec/jpeglsdec: Check run value more completely in ls_decode_line()
- avformat/hlsenc: export inner muxer timebase
- configure: add noexecstack to linker options if supported.
- avcodec/ac3enc_template: fix out of array read
- avutil/x86/cpu: fix cpuid sub-leaf selection
- avformat/img2dec: enable generic seeking for image pipes
- avformat/img2dec: initialize pkt->pos for image pipes
- avformat/img2dec: pass error code and signal EOF
- avformat/img2dec: fix error code at EOF for pipes
- libavutil/opt: fix av_opt_set_channel_layout() to access correct memory address
- tests/fate-run.sh: Cat .err file in case of error with V>0
- avformat/riffenc: Filter out "BottomUp" in ff_put_bmp_header()
- avcodec/webp: fix default palette color 0xff000000 -> 0x00000000
- avcodec/asvenc: fix AAN scaling
- Fix compile error on arm4/arm5 platform
The FFmpeg Project proudly presents FFmpeg 2.4 "Fresnel", just 2 months
after the release of 2.3. Since this wasn't a long time ago, the Changelog
is a bit short this time.
The most important thing in this release is the major version bump of the
libraries. This means that this release is neither ABI-compatible nor
fully API-compatible. But on the other hand it is aligned with the Libav
11 release series, and will as a result probably end up being maintained for
a long time.
Important API changes since 2.3:
• The new field mime_type was added to AVProbeData, which can
cause crashes, if it is not initialized.
• Some deprecated functions were removed.
• The avfilter_graph_parse function was made compatible with Libav.
• The Matroska demuxer now outputs verbatim ASS packets.
Please refer to the doc/APIchanges file for more information.
libavformat
• Icecast protocol.
• API for live metadata updates through event flags.
• UTF-16 support in text subtitles formats.
• The ASS muxer now reorders the Dialogue events properly.
• support for H.261 RTP payload format (RFC 4587)
• HEVC/H.265 RTP payload format (draft v6) depacketizer
libavfilter
• Ported lenscorrection filter from frei0r filter.
• Large optimizations in dctdnoiz to make it usable.
• Added codecview filter to visualize information exported by some codecs.
• Added silenceremove filter.
libavutil
• Added clip() function in eval.
Behaviour changes
• dctdnoiz filter now uses a block size of 8x8 instead of 16x16 by default
• -vismv option is deprecated in favor of the codecview filter
• libmodplug is now detected through pkg-config
• HTML documentation generation through texi2html is deprecated in
favor of makeinfo/texi2any
• ICY metadata are now requested by default with the HTTP protocol
Note that this announcement includes everything from 1.4.2 too, which was
never officially released as some critical bugs were found.
Bug reports fixed in this release:
GStreamer core:
* 734412 : multiqueue: The buffering logic can lead to a pipeline stuck in PAUSED forever
* 735574 : buffer: do not touch memory tag flag when copying buffer flags
* 736295 : multiqueue: posts buffering message holding lock
* 736424 : query: add annotations to gst_query_set_nth_allocation_pool
* 736680 : basesrc: possible pool and allocator leak in prepare_allocation()
* 736736 : query: add annotations to gst_query_add_allocation_pool
* 736813 : typefindelement leaks sticky events upon flush_stop
* 737102 : queue: Do not hold GST_QUEUE_LOCK while posting ERROR messages
* 737133 : Missing gstconfig.h include
GStreamer Plugins Base:
* 732908 : audioresample: skips samples unless input buffers have correct size
* 727255 : playbin: filter out buffering messages when switching URI and the previous URI is still playing
* 729811 : output-selector: test example in gstreamer plugin base is giving " Internal data flow error "
* 735569 : rtspconnection: Crash due to no protection of watchs readsrc
* 735748 : playbin: can't play an avi file in totem with audio-filter=scaletempo
* 735800 : textoverlay: Two textoverlay in sequence fail to negotiate (regression)
* 735844 : basetextoverlay/pango: overlay negotiation fails when it should not
* 735952 : videorate: GstStructure refcount critical message
* 736071 : audiobasesink: Don't hold object lock while calling into other objects like the clock
* 736118 : videofilter: The buffer is not writable in transform_frame_ip
* 736739 : audiocdsrc: do not leak uid after parsing TOC select event
* 736779 : typefind: h265 IRAP picture always true
* 736788 : audiodecoder: leaks events
* 736796 : videoencoder: do not leak events when flushing them
* 736861 : playbin: Reference count bug
* 736679 : videodecoder: do not leak pool and allocator in error case
* 736969 : queue2: dead lock when buffering
* 709868 : Keep still meaningfull pending events on FLUSH_STOP
GStreamer Plugins Good:
* 719359 : vp8dec: Doesn't handle changes in resolution
* 733607 : v4l2transform: Rank should have been NONE
* 734266 : vp8dec: fails when input format changes
* 735520 : aacparse: skip valid ADTS/LOAS frames
* 735804 : smpte: Creates incomplete raw video caps
* 735833 : matroskademux: parse error at end of file
* 735859 : videomixer: Dynamically changing the FPS leads to an incorrect buffer time
* 736192 : avidemux: some AVI files crash (regression)
* 736266 : wavparse: error in reading adtl chunk
* 736384 : v4l2sink: pool not unreffed after usage
* 736670 : v4l2allocator: O_CLOEXEC needs _GNU_SOURCE
* 736805 : multipartdemux leaks new stream events
* 736807 : rtpbin: pad leaked in error case
* 735660 : v4l2: fix new v4l2 code not working with certain devices (regression)
* 736944 : videoscale: vs_image_scale_4tap_Y offset should use stride to calculate buffer offset
* 737219 : flacparse: When generating headers, leave total_samples at 0 if upstream duration query returns GST_CLOCK_TIME_NONE.
GStreamer Plugins Bad:
* 735861 : dataurisrc: make src thread safe
* 736090 : aiffparse: duplicate else-if condition
* 736390 : tsdemux: plug for a memory leak
* 736426 : mpegpsmux: memory leak with h264/avc stream
* 736474 : vc1parse: malformed sequence layer header and STRUCT_C
* 736490 : tsdemux: fix overflow of packet_length field of PESHeader
* 736729 : glmixer: do not leak pool in error cases
* 736730 : gltestsrc: do not leak pool in error cases
* 736731 : openni2src: do not leak pool
* 736732 : glfilter: do not leak pool in error cases
* 736733 : vdpdecoder: do not leak pool
* 736735 : waylandsink: do not leak buffer pool in error case
* 736750 : vc1parse: fix sequence-layer/frame-layer endianness
* 736871 : codecparsers_vc1: sequence-layer parser is broken due to endianness issue.
* 736919 : hlsdemux: attempt to unlock an already unlocked mutex in gst_hls_demux_change_playlist
* 736951 : vc1parse: initialize sent_codec_tag before using it
GStreamer Plugins Ugly:
* 736060 : asfdemux: add GUID for ASF_Metadata_Library_Object
GStreamer libav Plugins:
* 734661 : avviddec: After draining frames, flush the libav decoder
* 736515 : avviddec: keep draining buffers from libav until libav says so
* 737144 : avauddec: keep draining buffers from libav until libav says so
GStreamer RTSP Server:
* 735570 : Race condition between close() and handle_tunnel() causing crash
* 736017 : Sequence number is not monotonic after PAUSE command
libdvdnav (5.0.1)
* removed assert on unknown VM commands, fixing playback of some DVDs
* fixed a double free in dvdnav_free_dup
* fixed an integer overflow, a data race condition and return inconsistency
libdvdnav (5.0.0)
* Android support
* fixed numerous crashes, assertions and corruptions
* rewrite of the build-system, including silent rules
* clean code, simplify and remove warnings
* fix compilation in C++ applications
* removal of remap .MAP files unused feature
* remove the dvdnavmini library
* fix compilation on OS/2 and Hurd
libdvdnav (4.2.1)
* fixed failed assertion on menu-less DVDs
* fixed playback issues on multi-angle DVDs
* fixed crash when playing a DVD from different region than currently set
in the DVD drive
* fixed segfaults when reading certain DVDs (including "Jack Reacher",
"Ghost Protocol", "Inside Man", "The Dictator" and "Tangled")
libdvdread (5.0.0)
* added support for Android
* fix build support for OS/2
* fix crashes in IFO parsing (Shark Week The Great Bites Collection)
libdvdread (4.9.9)
* major cleanup
* rewritten build system, including removal of configure2 and dvdread-config
* fix numerous crashes
* added QNX support
* updated to support libdvdcss 1.3.0
* improved dlopen support for Win32
* simplify static linking of libdvdcss
libdvdread (4.2.1)
* fix huge memory consumption when reading DVDs: "Up" and "Dark Knight"
* numerous crashes fixed, notably on ARCCOS protected DVDs,
like Transformers 3, Brave, The Express, Sherlock Holmes
and Cars 2,
* fix packed structures with mingw gcc >= 4.7
or whatever) instances if only one of them is playing, like mplayer does.
Patch from Nat Sloss <nat@NetBSD.org>, thank you!
Sent upstream to
https://github.com/mpv-player/mpv/issues/1080
Bump PKGREVISION.
Development
1.0.9
1.0.9b
Work around pkg-config issue for xulrunner 25, 2.23 and seamonkey 2.23 and higher (missing compiler flag)
Work around pkg-config issue for xulrunner 26 (missing compiler flag)
1.0.9a
Updated German translation
Add in code from Issue #184 to see if this helps the Debian folks with running the plugin on older versions
Development
1.0.9
Fix storing of disable fetch cover art preference
Work on fixing fullscreen mode hanging when control menu goes thru show/hide sequence
Prevent window from going fullscreen on startup when embedded
Tracker size adjustments so that it does not look wrong in gecko-mediaplayer
Set audio and subtitle language to English by default if not specified in configuration
better than Zuni by default
Hide debug message
1.0.9b
Fix problem with preferences dialog not having focus when opened
Fix problem with subtitles reappearing after they have been disabled after
pause/play cycle Issue #703
Set window properties to be common for all the created windows
Updated Japanese translation
Updated Hungarian translation
Updated Polish translation
Updated Portuguese translation
1.0.9a
Fix backwards chapter seeking
Use display_name in mpris title when title cannot be pulled from gmtk
Fix problem with DVD images and folders not playing
Consolidate nemo and nautilus plugin code so that it is shared
Fix problem with --fullscreen command line flag
Apply patch from Issue 688 to make icons work in RTL mode
Update Korean translation
Escape the name when obtained from the URI
Only restart if resume position is > 0
Protect for media == null in dbus-interface
Tighten up the display in the nemo/nautilus plugins
Add support for building Nemo plugin
Fix GDK Warning
Fix error in committed media resume preference
Add preference (Interface) Media Resume (Always Ask (default), Always without asking, Never)
Allow "Default Volume" (alsa disabled) to be changed
Set initial volume in gmtk_media_player when passed on command line
Disable screenshot menu when hardware codec are used with xvmc or vdpau
Add ability to specify mplayer binary on command line
Fix problem with screenshot being done twice in mplayer2 GMTK Issue #14
Updated Korean translation
Apply patch to make fullscreen work under tiled window managers
Set pref_volume to stored volume when asound is disabled
make --volume work with and without softvol enabled
cmd line option --volume should only work with softvol enabled
Fix problem with remembered softvol not being loaded Issue #675
rather than trying to consolidate into a single fnmatch. There aren't that
many of them, and it will aid the integration of cwrappers which doesn't
support globs.
GStreamer Plugins Good:
* 727180 : videomixer: Unexpected behaviour when scaling after the mixer
* 733695 : ximagesrc: Use after free
* 733866 : interleave: caps negotiation fails when input caps have non-interleaved layout
* 734435 : rtph263ppay: Unref pad template caps after use
* 734473 : rtpmux: Unref pad template caps after usage
* 734474 : videomixer: Unref allowed caps after usage
* 734475 : imagefreeze: Unref pad template caps after usage
* 734476 : navseek: Unref peer pad after usage
* 734478 : shapewipe: Unref caps and element after usage
* 734764 : videomixer: Avoid double free of videoconvert
GStreamer Plugins Base:
* 733916 : basetextoverlay: Simple pipeline with textoverlay and fakesink fails to negotiate
* 733976 : uridecodebin: Does not set the dec- > source uri when an error occurred with a first uri and we set a new one in READY state
* 734683 : playsinkconvertbin: returns true from accept caps but rejects it later
* 734822 : playsinkconvertbin: only intersect with the filter at the end
avcodec/h264_mb: fix grayscale only decoding with weighted prediction
avformat/mpegts: Use differential score for analyze()
avcodec/mjpegdec: Support AV_PIX_FMT_YUV420P16 with upscale_h
proresenc_kostya: properly account for alpha
avformat/matroskadec: Check avpriv_new_chapter() for failure
proresenc_kostya: report buffer overflow
proresenc_kostya: remove unneeded parameters
avcodec/snow: fix null pointer dereference in cleanup after allocation failure
avcodec/huffyuvdec: fix overread checks
avcodec/get_bits: add BITS_LEFT() for finding the bits left with an opened reader
avcodec/vc1dec: do not crash when flushing without an allocated frame
* Initialize libvlc with appropriate arguments on OS X
* Prevent libvlc 2.2 argument warnings by not using the deprecated
--album-art argument when building against 2.2. This argument will be
removed entirely in a future feature release as its presence only
reflected the libvlc default behavior anyway.
* Ensure playback is terminated when encountering an invalid queued
MediaSource.
* Prevent a crash when when GUIs call setCdTrack on a not-yet-ready
MediaPlayer.
* Prevent assertation failures with Qt 5 by not unlocking mutexes that have
not been previously locked.
* Convert a direct call chain to QApplication::syncX() to a Qt queued call
to prevent cross-thread usage of X11, ultimately causing XIO errors and
crashes.
* Fix CMake 3 compatibility by synchronizing the FindQt4.cmake module from
kdelibs git.
* Prevent possible internal infinite loop call chains when trying to handle
backend construction in simulation mode (i.e. without actual backend
being installed on the system).
* When not building with PHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT, make
sure that the relative Qt paths are set according to whether the build is
meant for Qt4 or 5. Previously this would always install to a path for
qt5.
FFplay is a very simple and portable media player using the FFmpeg
libraries and the SDL library. It is mostly used as a testbed for
the various FFmpeg APIs.
FFmpeg is a complete, cross-platform solution to record, convert
and stream audio and video. It includes libavcodec - the leading
audio/video codec library.
This package contains major version 1.
This library is written for the purpose of playing Blu-ray movies.
It is intended for software that want to support Blu-ray playback
(such as VLC and MPlayer).
Changes between 1.2.13 and 1.3.0:
---------------------------------
* Dropped deprecated, undocumented API:
- the function dvdcss_title()
- the type dvdcss_handle
- the variable dvdcss_interface_2
* Drop support for Windows 98 and Windows NT 4.0.
Windows 98 SE with IE 5.0 and Windows NT 4.0 SP4 with IE 5.0 are required.
* Support for Android
avdevice/pulse_audio_enc: use getter function for AVFrame.channels
MAINTAINERS: update list of releases i maintain
avcodec/avdct: Add avcodec_dct_get_class()
fate: support testing of release branches
tests/fate.sh: If cat *.rep fails try it with a for loop.
g2meet: allow size changes within original sizes
version.sh: Print versions based on the last git tag for release branches
This is GStreamer Libav Plugins 1.4.0
Changes since 1.2:
New API:
• GstMessageType has GST_MESSAGE_EXTENDED added. All types before
that can be used together as a flags type as before, but from
that message onwards the types are just counted incrementally.
This was necessary to be able to add more message types.
In 2.0 GstMessageType will just become an enum and not a flags
type anymore.
• GstDeviceMonitor for device probing, e.g. to list all available
audio or video capture devices. This is the replacement for
GstPropertyProbe from 0.10.
• Events accumulate the running-time offset now when travelling
through pads, as set by the gst_pad_set_offset() function. This
allows to compensate for this in the QOS event for example.
• GstBuffer has a new flag "tag-memory" that is set automatically
when memory is added or removed to a buffer. This allows buffer
pools to detect if they can recycle a buffer or need to reset
it first.
• GstToc has new API to mark GstTocEntries as loops.
• A not-authorized resource error has been defined to notify
applications that accessing the resource has failed because
of missing authorization and to distinguish this case from others.
This change is actually already in 1.2.4.
• GstPad has a new flag "accept-intersect", that will let the default
ACCEPT_CAPS query handler do an intersection instead of subset check.
This is interesting for parser elements that can handle incomplete
caps.
• GstCollectPads has support for flushing and a default handler for
SEEK events now.
• New GstFlowAggregator helper object that simplifies handling of
flow returns in elements with multiple source pads. Additionally
GstPad now always stores the last flow return and provides an
API to retrieve it.
• GstSegment has new API to offset the running time by a specific
value and this is used in GstPad to allow positive and negative
offsets in gst_pad_set_offset() in all situations.
• Support for h265/HEVC and VP8 has been added to the codec utils and codec
parsers library, and was integrated into various elements.
• API for adjusting the TLS validation of RTSP connection has been added.
• The RTSP and SDP library has MIKEY (RFC 3830) support now, and
there is API to distinguish between the different RTSP profiles.
• API to access RTP time information and statistics.
• Support for auxiliary streams was added to rtpbin.
• Support for tiled, raw video formats has been added.
• GstVideoDecoder and GstAudioDecoder have API to help aggregating tag
events and merge custom tags into them consistently.
• GstBufferPool has support for flushing now.
• playbin/playsink has support for application provided audio and video
filters.
• GstDiscoverer has new and simplified API to get details about missing
plugins and information to pass to the plugin installer.
• The GL library was merged from gst-plugins-gl to gst-plugins-bad,
providing a generic infrastructure for handling GL inside GStreamer
pipelines and a plugin with some elements using these, especially
a video sink. Supported platforms currently are Android, Cocoa (OS X),
DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11,
Wayland and EGL platforms.
This replaces eglglessink and also is supposed to replace osxvideosink.
• New GstAggregator base class in gst-plugins-bad. This is supposed to
replace GstCollectPads in the future and fix long-known shortcomings
in its API. Together with the base class some elements are provided
already, like a videomixer (compositor).
Major changes:
• New plugins and elements:
∘ v4l2videodec element for accessing hardware codecs on
platforms that make them accessible via V4L2, e.g.
Samsung Exynos. This comes together with major refactoring
of the existing V4L2 elements and the corresponding
infrastructure.
The v4l2videodec element replaces the mfcdec element.
∘ New downloadbuffer element that replaces the download
buffering feature of queue2. Compared to queue2's code
it is much simpler and only for this single use case.
A noteworthy new feature is that it's downloading gaps
in the already downloaded stream parts when nothing else
is to be downloaded.
This is now used by playbin when download buffering is
enabled.
∘ rtpstreampay and rtpstreamdepay elements for transmitting
RTP packets over a stream API (e.g. TCP) according to
RFC 4571.
∘ rtprtx elements for standard compliant implementation of
retransmissions, integrated into the rtpmanager plugin.
∘ audiomixer element that mixes multiple audio streams together
into a single one while keeping synchronization. This is
planned to become the replacement of the adder element.
∘ OpenNI2 plugin for 3D cameras like the Kinect camera.
∘ OpenEXR plugin for decoding high-dynamic-range EXR images.
∘ curlsshsink and curlsftpsink to write files via SSH/SFTP.
∘ videosignal, ivfparse and sndfile plugins ported from 0.10.
∘ avfvideosrc, vtdec and other elements were ported from 0.10 and
are available on OS X and iOS now.
• Other changes:
∘ gst-libav now uses libav 10.2, and gained support for H265/HEVC.
∘ Support for hardware codecs and special memory types has been
improved with bugfixes and feature additions in various plugins
and base classes.
∘ Various bugfixes and improvements to buffering in queue2 and
multiqueue elements.
∘ dvbsrc supports more delivery mechanisms and other features
now, including DVB S2 and T2 support.
∘ The MPEGTS library has support for many more descriptors.
∘ Major improvements to tsdemux and tsparse, especially time and
seeking related.
∘ souphttpsrc now has support for keep-alive connections,
compression, configurable number of retries and configuration
for SSL certificate validation.
∘ hlsdemux has undergone major refactoring and works more
reliable now and supports more HLS features like trick modes.
Also fragments are pushed downstream while they're downloaded
now instead of waiting for each fragment to finish.
∘ dashdemux and mssdemux are now also pushing fragments downstream
while they're downloaded instead of waiting for each fragment to
finish.
∘ videoflip can automatically flip based on the orientation tag.
∘ openjpeg supports the OpenJPEG2 API.
∘ waylandsink was refactored and should be more useful now. It also
includes a small library which most likely is going to be removed
in the future and will result in extensions to the GstVideoOverlay
interface.
∘ gst-rtsp-server supports SRTP and MIKEY now.
∘ gst-libav encoders are now negotiating any profile/level settings
with downstream via caps.
∘ Lots of fixes for coverity warnings all over the place.
∘ Negotiation related performance improvements.
∘ 800+ fixed bug reports, and many other bug fixes and other
improvements everywhere that had no bug report.
Things to look out for:
• The eglglessink element was removed and replaced by the glimagesink
element.
• The mfcdec element was removed and replaced by v4l2videodec.
• osxvideosink is only available in OS X 10.6 or newer.
• On Android the namespace of the automatically generated Java class
for initialization of GStreamer has changed from com.gstreamer to
org.freedesktop.gstreamer to prevent namespace pollution.
• On iOS you have to update your gst_ios_init.h and gst_ios_init.m in
your projects from the one included in the binaries if you used the
GnuTLS GIO module before. The loading mechanism has slightly changed.
GStreamer is a library that allows the construction of graphs of
media-handling components, ranging from simple Ogg/Vorbis playback to
complex audio (mixing) and video (non-linear editing) processing.
This package contains python bindings for the GStreamer library,
major version 1.
This is GStreamer Ugly Plugins 1.4.0
Changes since 1.2:
New API:
• GstMessageType has GST_MESSAGE_EXTENDED added. All types before
that can be used together as a flags type as before, but from
that message onwards the types are just counted incrementally.
This was necessary to be able to add more message types.
In 2.0 GstMessageType will just become an enum and not a flags
type anymore.
• GstDeviceMonitor for device probing, e.g. to list all available
audio or video capture devices. This is the replacement for
GstPropertyProbe from 0.10.
• Events accumulate the running-time offset now when travelling
through pads, as set by the gst_pad_set_offset() function. This
allows to compensate for this in the QOS event for example.
• GstBuffer has a new flag "tag-memory" that is set automatically
when memory is added or removed to a buffer. This allows buffer
pools to detect if they can recycle a buffer or need to reset
it first.
• GstToc has new API to mark GstTocEntries as loops.
• A not-authorized resource error has been defined to notify
applications that accessing the resource has failed because
of missing authorization and to distinguish this case from others.
This change is actually already in 1.2.4.
• GstPad has a new flag "accept-intersect", that will let the default
ACCEPT_CAPS query handler do an intersection instead of subset check.
This is interesting for parser elements that can handle incomplete
caps.
• GstCollectPads has support for flushing and a default handler for
SEEK events now.
• New GstFlowAggregator helper object that simplifies handling of
flow returns in elements with multiple source pads. Additionally
GstPad now always stores the last flow return and provides an
API to retrieve it.
• GstSegment has new API to offset the running time by a specific
value and this is used in GstPad to allow positive and negative
offsets in gst_pad_set_offset() in all situations.
• Support for h265/HEVC and VP8 has been added to the codec utils and codec
parsers library, and was integrated into various elements.
• API for adjusting the TLS validation of RTSP connection has been added.
• The RTSP and SDP library has MIKEY (RFC 3830) support now, and
there is API to distinguish between the different RTSP profiles.
• API to access RTP time information and statistics.
• Support for auxiliary streams was added to rtpbin.
• Support for tiled, raw video formats has been added.
• GstVideoDecoder and GstAudioDecoder have API to help aggregating tag
events and merge custom tags into them consistently.
• GstBufferPool has support for flushing now.
• playbin/playsink has support for application provided audio and video
filters.
• GstDiscoverer has new and simplified API to get details about missing
plugins and information to pass to the plugin installer.
• The GL library was merged from gst-plugins-gl to gst-plugins-bad,
providing a generic infrastructure for handling GL inside GStreamer
pipelines and a plugin with some elements using these, especially
a video sink. Supported platforms currently are Android, Cocoa (OS X),
DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11,
Wayland and EGL platforms.
This replaces eglglessink and also is supposed to replace osxvideosink.
• New GstAggregator base class in gst-plugins-bad. This is supposed to
replace GstCollectPads in the future and fix long-known shortcomings
in its API. Together with the base class some elements are provided
already, like a videomixer (compositor).
Major changes:
• New plugins and elements:
∘ v4l2videodec element for accessing hardware codecs on
platforms that make them accessible via V4L2, e.g.
Samsung Exynos. This comes together with major refactoring
of the existing V4L2 elements and the corresponding
infrastructure.
The v4l2videodec element replaces the mfcdec element.
∘ New downloadbuffer element that replaces the download
buffering feature of queue2. Compared to queue2's code
it is much simpler and only for this single use case.
A noteworthy new feature is that it's downloading gaps
in the already downloaded stream parts when nothing else
is to be downloaded.
This is now used by playbin when download buffering is
enabled.
∘ rtpstreampay and rtpstreamdepay elements for transmitting
RTP packets over a stream API (e.g. TCP) according to
RFC 4571.
∘ rtprtx elements for standard compliant implementation of
retransmissions, integrated into the rtpmanager plugin.
∘ audiomixer element that mixes multiple audio streams together
into a single one while keeping synchronization. This is
planned to become the replacement of the adder element.
∘ OpenNI2 plugin for 3D cameras like the Kinect camera.
∘ OpenEXR plugin for decoding high-dynamic-range EXR images.
∘ curlsshsink and curlsftpsink to write files via SSH/SFTP.
∘ videosignal, ivfparse and sndfile plugins ported from 0.10.
∘ avfvideosrc, vtdec and other elements were ported from 0.10 and
are available on OS X and iOS now.
• Other changes:
∘ gst-libav now uses libav 10.2, and gained support for H265/HEVC.
∘ Support for hardware codecs and special memory types has been
improved with bugfixes and feature additions in various plugins
and base classes.
∘ Various bugfixes and improvements to buffering in queue2 and
multiqueue elements.
∘ dvbsrc supports more delivery mechanisms and other features
now, including DVB S2 and T2 support.
∘ The MPEGTS library has support for many more descriptors.
∘ Major improvements to tsdemux and tsparse, especially time and
seeking related.
∘ souphttpsrc now has support for keep-alive connections,
compression, configurable number of retries and configuration
for SSL certificate validation.
∘ hlsdemux has undergone major refactoring and works more
reliable now and supports more HLS features like trick modes.
Also fragments are pushed downstream while they're downloaded
now instead of waiting for each fragment to finish.
∘ dashdemux and mssdemux are now also pushing fragments downstream
while they're downloaded instead of waiting for each fragment to
finish.
∘ videoflip can automatically flip based on the orientation tag.
∘ openjpeg supports the OpenJPEG2 API.
∘ waylandsink was refactored and should be more useful now. It also
includes a small library which most likely is going to be removed
in the future and will result in extensions to the GstVideoOverlay
interface.
∘ gst-rtsp-server supports SRTP and MIKEY now.
∘ gst-libav encoders are now negotiating any profile/level settings
with downstream via caps.
∘ Lots of fixes for coverity warnings all over the place.
∘ Negotiation related performance improvements.
∘ 800+ fixed bug reports, and many other bug fixes and other
improvements everywhere that had no bug report.
Things to look out for:
• The eglglessink element was removed and replaced by the glimagesink
element.
• The mfcdec element was removed and replaced by v4l2videodec.
• osxvideosink is only available in OS X 10.6 or newer.
• On Android the namespace of the automatically generated Java class
for initialization of GStreamer has changed from com.gstreamer to
org.freedesktop.gstreamer to prevent namespace pollution.
• On iOS you have to update your gst_ios_init.h and gst_ios_init.m in
your projects from the one included in the binaries if you used the
GnuTLS GIO module before. The loading mechanism has slightly changed.
This is GStreamer Bad Plugins 1.4.0
Changes since 1.2:
New API:
• GstMessageType has GST_MESSAGE_EXTENDED added. All types before
that can be used together as a flags type as before, but from
that message onwards the types are just counted incrementally.
This was necessary to be able to add more message types.
In 2.0 GstMessageType will just become an enum and not a flags
type anymore.
• GstDeviceMonitor for device probing, e.g. to list all available
audio or video capture devices. This is the replacement for
GstPropertyProbe from 0.10.
• Events accumulate the running-time offset now when travelling
through pads, as set by the gst_pad_set_offset() function. This
allows to compensate for this in the QOS event for example.
• GstBuffer has a new flag "tag-memory" that is set automatically
when memory is added or removed to a buffer. This allows buffer
pools to detect if they can recycle a buffer or need to reset
it first.
• GstToc has new API to mark GstTocEntries as loops.
• A not-authorized resource error has been defined to notify
applications that accessing the resource has failed because
of missing authorization and to distinguish this case from others.
This change is actually already in 1.2.4.
• GstPad has a new flag "accept-intersect", that will let the default
ACCEPT_CAPS query handler do an intersection instead of subset check.
This is interesting for parser elements that can handle incomplete
caps.
• GstCollectPads has support for flushing and a default handler for
SEEK events now.
• New GstFlowAggregator helper object that simplifies handling of
flow returns in elements with multiple source pads. Additionally
GstPad now always stores the last flow return and provides an
API to retrieve it.
• GstSegment has new API to offset the running time by a specific
value and this is used in GstPad to allow positive and negative
offsets in gst_pad_set_offset() in all situations.
• Support for h265/HEVC and VP8 has been added to the codec utils and codec
parsers library, and was integrated into various elements.
• API for adjusting the TLS validation of RTSP connection has been added.
• The RTSP and SDP library has MIKEY (RFC 3830) support now, and
there is API to distinguish between the different RTSP profiles.
• API to access RTP time information and statistics.
• Support for auxiliary streams was added to rtpbin.
• Support for tiled, raw video formats has been added.
• GstVideoDecoder and GstAudioDecoder have API to help aggregating tag
events and merge custom tags into them consistently.
• GstBufferPool has support for flushing now.
• playbin/playsink has support for application provided audio and video
filters.
• GstDiscoverer has new and simplified API to get details about missing
plugins and information to pass to the plugin installer.
• The GL library was merged from gst-plugins-gl to gst-plugins-bad,
providing a generic infrastructure for handling GL inside GStreamer
pipelines and a plugin with some elements using these, especially
a video sink. Supported platforms currently are Android, Cocoa (OS X),
DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11,
Wayland and EGL platforms.
This replaces eglglessink and also is supposed to replace osxvideosink.
• New GstAggregator base class in gst-plugins-bad. This is supposed to
replace GstCollectPads in the future and fix long-known shortcomings
in its API. Together with the base class some elements are provided
already, like a videomixer (compositor).
Major changes:
• New plugins and elements:
∘ v4l2videodec element for accessing hardware codecs on
platforms that make them accessible via V4L2, e.g.
Samsung Exynos. This comes together with major refactoring
of the existing V4L2 elements and the corresponding
infrastructure.
The v4l2videodec element replaces the mfcdec element.
∘ New downloadbuffer element that replaces the download
buffering feature of queue2. Compared to queue2's code
it is much simpler and only for this single use case.
A noteworthy new feature is that it's downloading gaps
in the already downloaded stream parts when nothing else
is to be downloaded.
This is now used by playbin when download buffering is
enabled.
∘ rtpstreampay and rtpstreamdepay elements for transmitting
RTP packets over a stream API (e.g. TCP) according to
RFC 4571.
∘ rtprtx elements for standard compliant implementation of
retransmissions, integrated into the rtpmanager plugin.
∘ audiomixer element that mixes multiple audio streams together
into a single one while keeping synchronization. This is
planned to become the replacement of the adder element.
∘ OpenNI2 plugin for 3D cameras like the Kinect camera.
∘ OpenEXR plugin for decoding high-dynamic-range EXR images.
∘ curlsshsink and curlsftpsink to write files via SSH/SFTP.
∘ videosignal, ivfparse and sndfile plugins ported from 0.10.
∘ avfvideosrc, vtdec and other elements were ported from 0.10 and
are available on OS X and iOS now.
• Other changes:
∘ gst-libav now uses libav 10.2, and gained support for H265/HEVC.
∘ Support for hardware codecs and special memory types has been
improved with bugfixes and feature additions in various plugins
and base classes.
∘ Various bugfixes and improvements to buffering in queue2 and
multiqueue elements.
∘ dvbsrc supports more delivery mechanisms and other features
now, including DVB S2 and T2 support.
∘ The MPEGTS library has support for many more descriptors.
∘ Major improvements to tsdemux and tsparse, especially time and
seeking related.
∘ souphttpsrc now has support for keep-alive connections,
compression, configurable number of retries and configuration
for SSL certificate validation.
∘ hlsdemux has undergone major refactoring and works more
reliable now and supports more HLS features like trick modes.
Also fragments are pushed downstream while they're downloaded
now instead of waiting for each fragment to finish.
∘ dashdemux and mssdemux are now also pushing fragments downstream
while they're downloaded instead of waiting for each fragment to
finish.
∘ videoflip can automatically flip based on the orientation tag.
∘ openjpeg supports the OpenJPEG2 API.
∘ waylandsink was refactored and should be more useful now. It also
includes a small library which most likely is going to be removed
in the future and will result in extensions to the GstVideoOverlay
interface.
∘ gst-rtsp-server supports SRTP and MIKEY now.
∘ gst-libav encoders are now negotiating any profile/level settings
with downstream via caps.
∘ Lots of fixes for coverity warnings all over the place.
∘ Negotiation related performance improvements.
∘ 800+ fixed bug reports, and many other bug fixes and other
improvements everywhere that had no bug report.
Things to look out for:
• The eglglessink element was removed and replaced by the glimagesink
element.
• The mfcdec element was removed and replaced by v4l2videodec.
• osxvideosink is only available in OS X 10.6 or newer.
• On Android the namespace of the automatically generated Java class
for initialization of GStreamer has changed from com.gstreamer to
org.freedesktop.gstreamer to prevent namespace pollution.
• On iOS you have to update your gst_ios_init.h and gst_ios_init.m in
your projects from the one included in the binaries if you used the
GnuTLS GIO module before. The loading mechanism has slightly changed.
This is GStreamer Good Plugins 1.4.0
Changes since 1.2:
New API:
• GstMessageType has GST_MESSAGE_EXTENDED added. All types before
that can be used together as a flags type as before, but from
that message onwards the types are just counted incrementally.
This was necessary to be able to add more message types.
In 2.0 GstMessageType will just become an enum and not a flags
type anymore.
• GstDeviceMonitor for device probing, e.g. to list all available
audio or video capture devices. This is the replacement for
GstPropertyProbe from 0.10.
• Events accumulate the running-time offset now when travelling
through pads, as set by the gst_pad_set_offset() function. This
allows to compensate for this in the QOS event for example.
• GstBuffer has a new flag "tag-memory" that is set automatically
when memory is added or removed to a buffer. This allows buffer
pools to detect if they can recycle a buffer or need to reset
it first.
• GstToc has new API to mark GstTocEntries as loops.
• A not-authorized resource error has been defined to notify
applications that accessing the resource has failed because
of missing authorization and to distinguish this case from others.
This change is actually already in 1.2.4.
• GstPad has a new flag "accept-intersect", that will let the default
ACCEPT_CAPS query handler do an intersection instead of subset check.
This is interesting for parser elements that can handle incomplete
caps.
• GstCollectPads has support for flushing and a default handler for
SEEK events now.
• New GstFlowAggregator helper object that simplifies handling of
flow returns in elements with multiple source pads. Additionally
GstPad now always stores the last flow return and provides an
API to retrieve it.
• GstSegment has new API to offset the running time by a specific
value and this is used in GstPad to allow positive and negative
offsets in gst_pad_set_offset() in all situations.
• Support for h265/HEVC and VP8 has been added to the codec utils and codec
parsers library, and was integrated into various elements.
• API for adjusting the TLS validation of RTSP connection has been added.
• The RTSP and SDP library has MIKEY (RFC 3830) support now, and
there is API to distinguish between the different RTSP profiles.
• API to access RTP time information and statistics.
• Support for auxiliary streams was added to rtpbin.
• Support for tiled, raw video formats has been added.
• GstVideoDecoder and GstAudioDecoder have API to help aggregating tag
events and merge custom tags into them consistently.
• GstBufferPool has support for flushing now.
• playbin/playsink has support for application provided audio and video
filters.
• GstDiscoverer has new and simplified API to get details about missing
plugins and information to pass to the plugin installer.
• The GL library was merged from gst-plugins-gl to gst-plugins-bad,
providing a generic infrastructure for handling GL inside GStreamer
pipelines and a plugin with some elements using these, especially
a video sink. Supported platforms currently are Android, Cocoa (OS X),
DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11,
Wayland and EGL platforms.
This replaces eglglessink and also is supposed to replace osxvideosink.
• New GstAggregator base class in gst-plugins-bad. This is supposed to
replace GstCollectPads in the future and fix long-known shortcomings
in its API. Together with the base class some elements are provided
already, like a videomixer (compositor).
Major changes:
• New plugins and elements:
∘ v4l2videodec element for accessing hardware codecs on
platforms that make them accessible via V4L2, e.g.
Samsung Exynos. This comes together with major refactoring
of the existing V4L2 elements and the corresponding
infrastructure.
The v4l2videodec element replaces the mfcdec element.
∘ New downloadbuffer element that replaces the download
buffering feature of queue2. Compared to queue2's code
it is much simpler and only for this single use case.
A noteworthy new feature is that it's downloading gaps
in the already downloaded stream parts when nothing else
is to be downloaded.
This is now used by playbin when download buffering is
enabled.
∘ rtpstreampay and rtpstreamdepay elements for transmitting
RTP packets over a stream API (e.g. TCP) according to
RFC 4571.
∘ rtprtx elements for standard compliant implementation of
retransmissions, integrated into the rtpmanager plugin.
∘ audiomixer element that mixes multiple audio streams together
into a single one while keeping synchronization. This is
planned to become the replacement of the adder element.
∘ OpenNI2 plugin for 3D cameras like the Kinect camera.
∘ OpenEXR plugin for decoding high-dynamic-range EXR images.
∘ curlsshsink and curlsftpsink to write files via SSH/SFTP.
∘ videosignal, ivfparse and sndfile plugins ported from 0.10.
∘ avfvideosrc, vtdec and other elements were ported from 0.10 and
are available on OS X and iOS now.
• Other changes:
∘ gst-libav now uses libav 10.2, and gained support for H265/HEVC.
∘ Support for hardware codecs and special memory types has been
improved with bugfixes and feature additions in various plugins
and base classes.
∘ Various bugfixes and improvements to buffering in queue2 and
multiqueue elements.
∘ dvbsrc supports more delivery mechanisms and other features
now, including DVB S2 and T2 support.
∘ The MPEGTS library has support for many more descriptors.
∘ Major improvements to tsdemux and tsparse, especially time and
seeking related.
∘ souphttpsrc now has support for keep-alive connections,
compression, configurable number of retries and configuration
for SSL certificate validation.
∘ hlsdemux has undergone major refactoring and works more
reliable now and supports more HLS features like trick modes.
Also fragments are pushed downstream while they're downloaded
now instead of waiting for each fragment to finish.
∘ dashdemux and mssdemux are now also pushing fragments downstream
while they're downloaded instead of waiting for each fragment to
finish.
∘ videoflip can automatically flip based on the orientation tag.
∘ openjpeg supports the OpenJPEG2 API.
∘ waylandsink was refactored and should be more useful now. It also
includes a small library which most likely is going to be removed
in the future and will result in extensions to the GstVideoOverlay
interface.
∘ gst-rtsp-server supports SRTP and MIKEY now.
∘ gst-libav encoders are now negotiating any profile/level settings
with downstream via caps.
∘ Lots of fixes for coverity warnings all over the place.
∘ Negotiation related performance improvements.
∘ 800+ fixed bug reports, and many other bug fixes and other
improvements everywhere that had no bug report.
Things to look out for:
• The eglglessink element was removed and replaced by the glimagesink
element.
• The mfcdec element was removed and replaced by v4l2videodec.
• osxvideosink is only available in OS X 10.6 or newer.
• On Android the namespace of the automatically generated Java class
for initialization of GStreamer has changed from com.gstreamer to
org.freedesktop.gstreamer to prevent namespace pollution.
• On iOS you have to update your gst_ios_init.h and gst_ios_init.m in
your projects from the one included in the binaries if you used the
GnuTLS GIO module before. The loading mechanism has slightly changed.
This is GStreamer Base Plugins 1.4.0
Changes since 1.2:
New API:
• GstMessageType has GST_MESSAGE_EXTENDED added. All types before
that can be used together as a flags type as before, but from
that message onwards the types are just counted incrementally.
This was necessary to be able to add more message types.
In 2.0 GstMessageType will just become an enum and not a flags
type anymore.
• GstDeviceMonitor for device probing, e.g. to list all available
audio or video capture devices. This is the replacement for
GstPropertyProbe from 0.10.
• Events accumulate the running-time offset now when travelling
through pads, as set by the gst_pad_set_offset() function. This
allows to compensate for this in the QOS event for example.
• GstBuffer has a new flag "tag-memory" that is set automatically
when memory is added or removed to a buffer. This allows buffer
pools to detect if they can recycle a buffer or need to reset
it first.
• GstToc has new API to mark GstTocEntries as loops.
• A not-authorized resource error has been defined to notify
applications that accessing the resource has failed because
of missing authorization and to distinguish this case from others.
This change is actually already in 1.2.4.
• GstPad has a new flag "accept-intersect", that will let the default
ACCEPT_CAPS query handler do an intersection instead of subset check.
This is interesting for parser elements that can handle incomplete
caps.
• GstCollectPads has support for flushing and a default handler for
SEEK events now.
• New GstFlowAggregator helper object that simplifies handling of
flow returns in elements with multiple source pads. Additionally
GstPad now always stores the last flow return and provides an
API to retrieve it.
• GstSegment has new API to offset the running time by a specific
value and this is used in GstPad to allow positive and negative
offsets in gst_pad_set_offset() in all situations.
• Support for h265/HEVC and VP8 has been added to the codec utils and codec
parsers library, and was integrated into various elements.
• API for adjusting the TLS validation of RTSP connection has been added.
• The RTSP and SDP library has MIKEY (RFC 3830) support now, and
there is API to distinguish between the different RTSP profiles.
• API to access RTP time information and statistics.
• Support for auxiliary streams was added to rtpbin.
• Support for tiled, raw video formats has been added.
• GstVideoDecoder and GstAudioDecoder have API to help aggregating tag
events and merge custom tags into them consistently.
• GstBufferPool has support for flushing now.
• playbin/playsink has support for application provided audio and video
filters.
• GstDiscoverer has new and simplified API to get details about missing
plugins and information to pass to the plugin installer.
• The GL library was merged from gst-plugins-gl to gst-plugins-bad,
providing a generic infrastructure for handling GL inside GStreamer
pipelines and a plugin with some elements using these, especially
a video sink. Supported platforms currently are Android, Cocoa (OS X),
DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11,
Wayland and EGL platforms.
This replaces eglglessink and also is supposed to replace osxvideosink.
• New GstAggregator base class in gst-plugins-bad. This is supposed to
replace GstCollectPads in the future and fix long-known shortcomings
in its API. Together with the base class some elements are provided
already, like a videomixer (compositor).
Major changes:
• New plugins and elements:
∘ v4l2videodec element for accessing hardware codecs on
platforms that make them accessible via V4L2, e.g.
Samsung Exynos. This comes together with major refactoring
of the existing V4L2 elements and the corresponding
infrastructure.
The v4l2videodec element replaces the mfcdec element.
∘ New downloadbuffer element that replaces the download
buffering feature of queue2. Compared to queue2's code
it is much simpler and only for this single use case.
A noteworthy new feature is that it's downloading gaps
in the already downloaded stream parts when nothing else
is to be downloaded.
This is now used by playbin when download buffering is
enabled.
∘ rtpstreampay and rtpstreamdepay elements for transmitting
RTP packets over a stream API (e.g. TCP) according to
RFC 4571.
∘ rtprtx elements for standard compliant implementation of
retransmissions, integrated into the rtpmanager plugin.
∘ audiomixer element that mixes multiple audio streams together
into a single one while keeping synchronization. This is
planned to become the replacement of the adder element.
∘ OpenNI2 plugin for 3D cameras like the Kinect camera.
∘ OpenEXR plugin for decoding high-dynamic-range EXR images.
∘ curlsshsink and curlsftpsink to write files via SSH/SFTP.
∘ videosignal, ivfparse and sndfile plugins ported from 0.10.
∘ avfvideosrc, vtdec and other elements were ported from 0.10 and
are available on OS X and iOS now.
• Other changes:
∘ gst-libav now uses libav 10.2, and gained support for H265/HEVC.
∘ Support for hardware codecs and special memory types has been
improved with bugfixes and feature additions in various plugins
and base classes.
∘ Various bugfixes and improvements to buffering in queue2 and
multiqueue elements.
∘ dvbsrc supports more delivery mechanisms and other features
now, including DVB S2 and T2 support.
∘ The MPEGTS library has support for many more descriptors.
∘ Major improvements to tsdemux and tsparse, especially time and
seeking related.
∘ souphttpsrc now has support for keep-alive connections,
compression, configurable number of retries and configuration
for SSL certificate validation.
∘ hlsdemux has undergone major refactoring and works more
reliable now and supports more HLS features like trick modes.
Also fragments are pushed downstream while they're downloaded
now instead of waiting for each fragment to finish.
∘ dashdemux and mssdemux are now also pushing fragments downstream
while they're downloaded instead of waiting for each fragment to
finish.
∘ videoflip can automatically flip based on the orientation tag.
∘ openjpeg supports the OpenJPEG2 API.
∘ waylandsink was refactored and should be more useful now. It also
includes a small library which most likely is going to be removed
in the future and will result in extensions to the GstVideoOverlay
interface.
∘ gst-rtsp-server supports SRTP and MIKEY now.
∘ gst-libav encoders are now negotiating any profile/level settings
with downstream via caps.
∘ Lots of fixes for coverity warnings all over the place.
∘ Negotiation related performance improvements.
∘ 800+ fixed bug reports, and many other bug fixes and other
improvements everywhere that had no bug report.
Things to look out for:
• The eglglessink element was removed and replaced by the glimagesink
element.
• The mfcdec element was removed and replaced by v4l2videodec.
• osxvideosink is only available in OS X 10.6 or newer.
• On Android the namespace of the automatically generated Java class
for initialization of GStreamer has changed from com.gstreamer to
org.freedesktop.gstreamer to prevent namespace pollution.
• On iOS you have to update your gst_ios_init.h and gst_ios_init.m in
your projects from the one included in the binaries if you used the
GnuTLS GIO module before. The loading mechanism has slightly changed.
This is GStreamer 1.4.0
Changes since 1.2:
New API:
• GstMessageType has GST_MESSAGE_EXTENDED added. All types before
that can be used together as a flags type as before, but from
that message onwards the types are just counted incrementally.
This was necessary to be able to add more message types.
In 2.0 GstMessageType will just become an enum and not a flags
type anymore.
• GstDeviceMonitor for device probing, e.g. to list all available
audio or video capture devices. This is the replacement for
GstPropertyProbe from 0.10.
• Events accumulate the running-time offset now when travelling
through pads, as set by the gst_pad_set_offset() function. This
allows to compensate for this in the QOS event for example.
• GstBuffer has a new flag "tag-memory" that is set automatically
when memory is added or removed to a buffer. This allows buffer
pools to detect if they can recycle a buffer or need to reset
it first.
• GstToc has new API to mark GstTocEntries as loops.
• A not-authorized resource error has been defined to notify
applications that accessing the resource has failed because
of missing authorization and to distinguish this case from others.
This change is actually already in 1.2.4.
• GstPad has a new flag "accept-intersect", that will let the default
ACCEPT_CAPS query handler do an intersection instead of subset check.
This is interesting for parser elements that can handle incomplete
caps.
• GstCollectPads has support for flushing and a default handler for
SEEK events now.
• New GstFlowAggregator helper object that simplifies handling of
flow returns in elements with multiple source pads. Additionally
GstPad now always stores the last flow return and provides an
API to retrieve it.
• GstSegment has new API to offset the running time by a specific
value and this is used in GstPad to allow positive and negative
offsets in gst_pad_set_offset() in all situations.
• Support for h265/HEVC and VP8 has been added to the codec utils and codec
parsers library, and was integrated into various elements.
• API for adjusting the TLS validation of RTSP connection has been added.
• The RTSP and SDP library has MIKEY (RFC 3830) support now, and
there is API to distinguish between the different RTSP profiles.
• API to access RTP time information and statistics.
• Support for auxiliary streams was added to rtpbin.
• Support for tiled, raw video formats has been added.
• GstVideoDecoder and GstAudioDecoder have API to help aggregating tag
events and merge custom tags into them consistently.
• GstBufferPool has support for flushing now.
• playbin/playsink has support for application provided audio and video
filters.
• GstDiscoverer has new and simplified API to get details about missing
plugins and information to pass to the plugin installer.
• The GL library was merged from gst-plugins-gl to gst-plugins-bad,
providing a generic infrastructure for handling GL inside GStreamer
pipelines and a plugin with some elements using these, especially
a video sink. Supported platforms currently are Android, Cocoa (OS X),
DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) and generic X11,
Wayland and EGL platforms.
This replaces eglglessink and also is supposed to replace osxvideosink.
• New GstAggregator base class in gst-plugins-bad. This is supposed to
replace GstCollectPads in the future and fix long-known shortcomings
in its API. Together with the base class some elements are provided
already, like a videomixer (compositor).
Major changes:
• New plugins and elements:
∘ v4l2videodec element for accessing hardware codecs on
platforms that make them accessible via V4L2, e.g.
Samsung Exynos. This comes together with major refactoring
of the existing V4L2 elements and the corresponding
infrastructure.
The v4l2videodec element replaces the mfcdec element.
∘ New downloadbuffer element that replaces the download
buffering feature of queue2. Compared to queue2's code
it is much simpler and only for this single use case.
A noteworthy new feature is that it's downloading gaps
in the already downloaded stream parts when nothing else
is to be downloaded.
This is now used by playbin when download buffering is
enabled.
∘ rtpstreampay and rtpstreamdepay elements for transmitting
RTP packets over a stream API (e.g. TCP) according to
RFC 4571.
∘ rtprtx elements for standard compliant implementation of
retransmissions, integrated into the rtpmanager plugin.
∘ audiomixer element that mixes multiple audio streams together
into a single one while keeping synchronization. This is
planned to become the replacement of the adder element.
∘ OpenNI2 plugin for 3D cameras like the Kinect camera.
∘ OpenEXR plugin for decoding high-dynamic-range EXR images.
∘ curlsshsink and curlsftpsink to write files via SSH/SFTP.
∘ videosignal, ivfparse and sndfile plugins ported from 0.10.
∘ avfvideosrc, vtdec and other elements were ported from 0.10 and
are available on OS X and iOS now.
• Other changes:
∘ gst-libav now uses libav 10.2, and gained support for H265/HEVC.
∘ Support for hardware codecs and special memory types has been
improved with bugfixes and feature additions in various plugins
and base classes.
∘ Various bugfixes and improvements to buffering in queue2 and
multiqueue elements.
∘ dvbsrc supports more delivery mechanisms and other features
now, including DVB S2 and T2 support.
∘ The MPEGTS library has support for many more descriptors.
∘ Major improvements to tsdemux and tsparse, especially time and
seeking related.
∘ souphttpsrc now has support for keep-alive connections,
compression, configurable number of retries and configuration
for SSL certificate validation.
∘ hlsdemux has undergone major refactoring and works more
reliable now and supports more HLS features like trick modes.
Also fragments are pushed downstream while they're downloaded
now instead of waiting for each fragment to finish.
∘ dashdemux and mssdemux are now also pushing fragments downstream
while they're downloaded instead of waiting for each fragment to
finish.
∘ videoflip can automatically flip based on the orientation tag.
∘ openjpeg supports the OpenJPEG2 API.
∘ waylandsink was refactored and should be more useful now. It also
includes a small library which most likely is going to be removed
in the future and will result in extensions to the GstVideoOverlay
interface.
∘ gst-rtsp-server supports SRTP and MIKEY now.
∘ gst-libav encoders are now negotiating any profile/level settings
with downstream via caps.
∘ Lots of fixes for coverity warnings all over the place.
∘ Negotiation related performance improvements.
∘ 800+ fixed bug reports, and many other bug fixes and other
improvements everywhere that had no bug report.
Things to look out for:
• The eglglessink element was removed and replaced by the glimagesink
element.
• The mfcdec element was removed and replaced by v4l2videodec.
• osxvideosink is only available in OS X 10.6 or newer.
• On Android the namespace of the automatically generated Java class
for initialization of GStreamer has changed from com.gstreamer to
org.freedesktop.gstreamer to prevent namespace pollution.
• On iOS you have to update your gst_ios_init.h and gst_ios_init.m in
your projects from the one included in the binaries if you used the
GnuTLS GIO module before. The loading mechanism has slightly changed.
release with all the great features committed during the three-month period
since the release of FFmpeg 2.2.
In this release, there are lots of internal overhauls that make FFmpeg a
more accessible project for new developers. Many important new
optimizations and features like QTKit and AVFoundation input devices are
committed. Contributions done by Libav such as a new native Opus decoder
are also merged.
Because of the increasing difficulty to maintain and lack of maintainers,
we are very sorry to say that we have removed all Blackfin and SPARC
architecture assembly optimizations with the cleanups done. If you are
interested in maintaining optimization for these two architecture, feel
free to contact us and we will restore the code!
Oh, and since this release, this modern-looking release note is provided in
addition to the old-style Changelog file, to make it easier for you to
focus on the most important features in this release.
Enjoy!
* ffmpeg: Use av_stream_get_parser() to avoid ABI issues
* avformat: add av_stream_get_parser() to access avformat AVParser
* avformat/utils: do not wait for packets from discarded streams for genpts
* avfilter/f_ebur128: Use av_malloc_array()
* avcodec/hevc: Use av_malloc(z)_array()
* cmdutils_opencl: Use av_malloc_array()
* avfilter/x86/vf_pullup: fix old typo
* avfilter/vf_pullup: use ptrdiff_t as stride argument for dsp functions
avformat/mpc: attempt to allocate a packet that is not smaller than the data inside it
avcodec/alsdec: Clear MPEG4AudioConfig so that no use of uninitialized memory is possible
avformat/flvenc: Do not allow creating h263/mpeg4 in flv without unofficial format extensions being enabled
avcodec/mss4: Fix () in MKVAL() macro
avcodec/mss34dsp: fix () in SOP* macros
avcodec/mlpdec: fix () in MSB_MASK() macro
avcodec/golomb-test: fix () in EXTEND() macro
avcodec/aac: fix () in IS_CODEBOOK_UNSIGNED macro
avcodec/libvorbisenc: dont add the duration to AV_NOPTS_VALUE
avutil/cpu: force mmx on selection of higher x86 SIMD features
avcodec/diracdec: move mc buffer allocation to per frame
avfilter/graphdump: Fix pointer to local outside scope
more...
avformat/mpc: attempt to allocate a packet that is not smaller than the data inside it
avformat/cavsvideodec: Fix probing when the file extension is avs
cavsdec: fix qp fixed slice handling
avcodec/alsdec: Clear MPEG4AudioConfig so that no use of uninitialized memory is possible
avformat/flvenc: Do not allow creating h263/mpeg4 in flv without unofficial format extensions being enabled.
avcodec/aic: fix quantization table permutation
avutil/lzo: add asserts to be double sure against overflows
avutil/lzo: Fix integer overflow
Show duration for large asf files as written in the file header.