pkgsrc/multimedia/mplayer-share/patches/patch-libao2_ao_sun.c
wiz f288ae9d3e Update mplayer packages to 1.1, provided by Leonardo Taccari in PR 46566.
Pkgsrc changes:
* Fix some pkglint(1) warnings (no functional changes intended)
* Modified options.mk in order to always enable or disable a
  PKG_SUPPORTED_OPTION (for more information please give a look to
  the second "Note" of options.mk)
* Removed the mplayer-internal-faad PKG_SUPPORTED_OPTION, now faad support is
  only enabled via audio/faad2.
* Changed MASTER_SITES, now MPlayer distfile is fetched directly from its
  mirror.

MPlayer changes:

  1.1: "We gave up on 1.0"

    Decoders:
    * FFmpeg AAC decoder is now preferred over libfaad2 and the internal
      libfaad2 forked copy has been removed in its favor

    Demuxers:
    * experimental support for using binary Quicktime codecs with -demuxer lavf.
    * correct runtime and average bitrate for VBR (variable bitrate) MP3

    Filters:
    * delogo: allow to change the rectangle based on the time.
    * lavfi: libavfilter filter graphs (experimental).

    Other:
    * support adding noise at output resolution with -vo gl:noise-strength=8
    * experimental support for OpenGL ES 1.0 in -vo gl
    * support for PGS (BluRay-compatible), DVB and XSUB subtitles.
    * af_cmdline slave command to change e.g. audio equalizer options at runtime.
    * vo x11: don't hide or show cursor any more if attached to an existing window (-wid)
    * try reconnecting network streams e.g. after network timeouts
    * lots of bug fixes as always (and surely a few new bugs, too :-( )

    GUI: Support for the GUI continues.
    * numerous fixes, improvements and updates
    * UTF-8 support
    * all skin messages available as slave commands (gui <message>)
    * fancy new icon

    Ports:
    * Wine (see DOCS/tech/crosscompile.txt)

    MEncoder:
    * -force-key-frames option to set explicit seek points.

MPlayer (1.0)

  rc4: "Yes We Can"

    GUI: Changes towards removing the GUI
    * The GUI will no longer display any error or warning messages.
    * Special GUI slave commands (gui_*) were removed, along with
      the related key bindings.

    Decoders:
    * YUY2 Lossless Codec (YLC0) via binary DLL
    * Truemotion RT codec (TR20) via binary DLL
    * Nogantech Codec (NTN1 and NTN2) via binary DLL
    * add new FourCCs (m1v1, yuvs, VYUY, Y42B, V422, YUNV, UYNV, UYNY, uyv1,
      2Vu1, P422, HDYC, IJLV, MVJP)
      TwoCCs (0xA106, 0x6c75, 0xAAC0, 0x55005354)
      to existing decoders
    * AMR now handled via OpenCORE decoder
    * updated Windows Media Screen Codec (MSS1, MSS2) via binary DLL
    * CoreAVC H.264 decoder via binary DLL (Windows only)
    * Kega Game video codec (KGV1) via binary DLL
    * SoftLab-NSK Forward MPEG-2 I-frames (SLIF) via binary DLL
    * JPEG 2000 support via OpenJPEG
    * internal liba52 copy removed
    * CineForm HD (CFHD) via binary DLL
    * VP8 en-/decoding through libvpx wrapper and native decoder in FFmpeg
    * support for external libmpeg2 added
    * hardware MPEG decoder priority lowered
    * external libmpg123 support

    Demuxers:
    * Mostly fixed timing issues with some H.264 (PAFF) samples
    * Matroska and Ogg demuxers switched to use libavformat by default.
      Report issues and use -demuxer ogg and -demuxer mkv to work around them.
    * support for TrueHD in Blu-ray streams in libmpdemux
    * more Blu-ray codec support with lavf
    * fix length in ASF/WMV files
    * support ISDB-Tb DVB streams

    Filters:
    * remove vf_yuy2, functionality is replaced by -vf format=yuv2
    * remove vf_rgb2bgr, functionality is replaced by sws and vf_format

    Streaming:
    * Support for unencrypted Blu-ray playback through libbluray.
      Use it through: mplayer br:////path/to/disc

    Drivers:
    * -vo yuv4mpeg:interlaced no longer does its own interlaced RGB->YUV
      conversion. Use -vf scale=::1 to keep the same behavior and report
      if there are any issues with that.
    * X11: Window manager chooses Window position by default.
      Add geometry=50%:50% to your configuration to get the old behavior.
    * -vo md5sum md5 calculation changed so output matches FFmpeg's -f framemd5
    * Support for more formats in OpenGL video output drivers (different YUV
      subsampling, 16 bit per component)
    * Selectable YUV to RGB conversion standard for -vo gl
      (-vo gl:colorspace=...:levelconv=...)
    * -vo gl now tries to use yuv=2 by default if possible
    * -vo gl:stereo=... for experimental stereo (3D) support
    * -vo matrixview finally added
    * add OS/2 KAI audio driver (-ao kai)

    Other:
    * -nosub option for disabling auto-selected subtitles
    * support for displaying subs in the terminal (FIXME)
    * support for subtitles with audio-only files
    * support for right-to-left languages with embedded subtitles
    * support for UTF-16 encoded external subtitles
    * support for 8 channel audio
    * sync dvd:// and dvdnav:// features
    * support for MPEG-4 ASP in VDPAU video output (non-B-frame only)
    * support for live and non-live DVB teletext with demuxer lavf
    * -name, -title and -use-filename-title options for MPlayer
    * support for stream handling via FFmpeg, in particular RTMP and RTSP
      (use e.g. ffmpeg://http://example.com/test)
    * experimental support for external libass, configure with
      --disable-ass-internal
    * better support for 16-bit-per-component formats and formats
      with alpha channel
    * better out-of-the-box support for compiling for ARM, IA64,
      MinGW32 and MinGW-w64, MinGW has ASLR enabled with recent
      enough binutils
    * libdvdcss synced with upstream Subversion snapshot

    MEncoder:
    * add -tsprog for demuxer lavf
2012-06-11 13:41:12 +00:00

54 lines
1.6 KiB
C

$NetBSD: patch-libao2_ao_sun.c,v 1.2 2012/06/11 13:41:13 wiz Exp $
If AUDIO_GETBUFINFO is available, use it whenever possible in preference
to AUDIO_GETINFO. This should reduce playback CPU usage.
--- libao2/ao_sun.c.orig 2011-07-24 23:55:39.000000000 +0000
+++ libao2/ao_sun.c
@@ -40,6 +40,10 @@
#include <stropts.h>
#endif
+#ifndef AUDIO_GETBUFINFO
+#define AUDIO_GETBUFINFO AUDIO_GETINFO
+#endif
+
#include "config.h"
#include "mixer.h"
@@ -162,7 +166,7 @@ static int realtime_samplecounter_availa
goto error;
}
- if (ioctl(fd, AUDIO_GETINFO, &info)) {
+ if (ioctl(fd, AUDIO_GETBUFINFO, &info)) {
perror("rtsc: GETINFO1");
goto error;
}
@@ -183,7 +187,7 @@ static int realtime_samplecounter_availa
if (usec_delay > 200000)
break;
- if (ioctl(fd, AUDIO_GETINFO, &info)) {
+ if (ioctl(fd, AUDIO_GETBUFINFO, &info)) {
perror("rtsc: GETINFO2 failed");
goto error;
}
@@ -645,7 +649,7 @@ static int get_space(void){
}
#endif
- ioctl(audio_fd, AUDIO_GETINFO, &info);
+ ioctl(audio_fd, AUDIO_GETBUFINFO, &info);
#if !defined (__OpenBSD__) && !defined(__NetBSD__)
if (queued_bursts - info.play.eof > 2)
return 0;
@@ -681,7 +685,7 @@ static int play(void* data,int len,int f
// return: delay in seconds between first and last sample in buffer
static float get_delay(void){
audio_info_t info;
- ioctl(audio_fd, AUDIO_GETINFO, &info);
+ ioctl(audio_fd, AUDIO_GETBUFINFO, &info);
#if defined (__OpenBSD__) || defined(__NetBSD__)
return (float) info.play.seek/ (float)byte_per_sec ;
#else