Commit Graph

26 Commits

Author SHA1 Message Date
Thomas Guillem 338d4a1f15 adummy: reset variables from stop 2022-04-03 20:31:32 +00:00
Thomas Guillem c0658080de aout: dummy: implement TimeGet
In order to be able to test the master clock. For now, the master clock is only
driven by the audio output with a valid time_get.

This module doesn't have any latency, the first returned delay is 0.

RFC: Maybe it should belong to a test audio output.
2019-09-23 13:30:30 +02:00
Rémi Denis-Courmont 542df0f3ad Use set_callback() where applicable 2019-07-18 18:58:10 +03:00
Thomas Guillem 2049d40876 aout: use a separate drain callback
This callback is not mandatory. If it is NULL, the core will wait for the delay
returned by time_get(). This was already the case for most aout plugins:
PulseAudio, coreaudio, Android, DirectSound, Wasapi, and Jack.
2019-03-19 16:01:53 +01:00
Thomas Guillem f507898b57 adummy: implement stop callback 2019-03-19 15:58:21 +01:00
Steve Lhomme 5363279805 remove the $Id$ in the source code 2019-01-17 12:21:18 +01:00
Steve Lhomme ff56c92a5e rename mtime_t to vlc_tick_t
Keep a copy of vlc_tick_tfor backward compatibility.
2018-06-22 13:19:24 +02:00
Rémi Denis-Courmont 76fb292965 adummy: implement dummy pause 2018-05-05 18:45:52 +03:00
Rémi Denis-Courmont 4878b1a872 aout: always provide time_get 2018-05-05 17:37:32 +03:00
Rémi Denis-Courmont f1b244cd43 aout: pass system play time to play callback 2018-05-04 20:48:15 +03:00
Thomas Guillem 439f579904 aout: dummy: handle pass through
In case of pass through, change the audio format to trigger the spdif audio
converter.

Refs #18655
2017-08-23 16:08:37 +02:00
Thomas Guillem d57fc2bb0a aout: adummy: force bitmap channel type 2017-07-19 18:46:05 +02:00
Thomas Guillem 9d54fab3d5 aout: channel mask can be 0
Audio outputs don't need the channel mask for S/PDIF or HDMI passthrough.
This will be convenient for Dolby Atmos that can have a higher channel count
that can't be mapped.
2016-10-07 12:09:03 +02:00
Rémi Denis-Courmont 024ca98d52 aout: make flush operation mandatory 2012-11-16 18:49:50 +02:00
Jean-Baptiste Kempf fef270581f LGPL
Re-license almost all the playback modules to LGPLv2.1+ with
authorization from their respective contributors (230+)

This includes:
 - access, codec, packetizers, demux
 - audio filters, audio mixers, audio output
 - video filters, video chroma, video output
 - text renderers
 - XML parser
 - ARM NEON and SSE2 optimisations (mostly for chromas and filters)

Some modules are not concerned:
 - BDA and DShow access modules because Manol Manolov is AWOL
 - Real RTSP, because it is derived from Xine
 - x264 and t140 because they are encoders only
 - DLL Loader, because it is derived from MPlayer
 - DTS packetizer, because Jon Lech Johansen is AWOL
 - Shine and WMAfixed, because they are derived from Rockbox
 - Real demuxer, as it is derived from MPlayer and Wang Bo is AWOL
 - MPC demuxer, as Yavor Doganov is AWOL
 - Tivo demuxer, because it is derived from an MPlayer fork
 - Playlist demuxer, (WPL and ZPL parts missing), because suheaven is AWOL
 - iOS audio output and video display, because author refuses the license change
 - Equalizer and compressor, because Ronald Wright is AWOL
 - Mono, Headphone and Dolby, because author refuses the license change
 - hqdn3d and yadif, because they are from MPlayer/libavfilter
 - remoteosd, because it derives from RealVNC code
 - MMX optimisations, because Ollie Lho, from SiS, is AWOL
 - Rotate, because it depends on GPL motion

Nota Bene:
 - Some modules depend on GPL-only libraries, a LGPL module does not mean
   that the resulting binary module will be LGPL.
   Libraries affected would include liba52, libdvdcss, libdvdnav, libdvdread,
   faad2, libdca, libmad, libmpeg2, libpostproc, SRC, sid, zvbi and probably others.
2012-11-13 16:25:56 +01:00
Rémi Denis-Courmont c19df7839c aout: separate time and play callbacks 2012-11-12 23:01:24 +02:00
Rémi Denis-Courmont b1c459e950 aout: add distinct start/stop callbacks (refs #4787, refs #7601)
This would enable the input manager to hold an audio output plugin at
all times. Then it would be possible to keep track of output devices,
volume, policy and (JACK) routing continuously. For this to work,
outputs will need to be patched so that device selection and volume
handling works even when playing back.

Note though that this commit only introduces the change in the
audio_output_t interface; it does not implement the features above.
2012-10-31 20:21:00 +02:00
Rémi Denis-Courmont f626393984 aout: remove pf_ prefix where left (cosmetic) 2012-10-31 17:50:46 +02:00
Rémi Denis-Courmont 6c048d6cc5 adummy: avoid forward declaration 2012-10-31 17:30:13 +02:00
Rémi Denis-Courmont 32aa1b26d6 aout: report drift via parameter rather than callback
The time report callback could only be called from pf_play() so this is
cleaner and less prone to coding mistake.

Also pass the relative drift instead of the absolute play time stamp.
The drift is less subject to scheduling noise, i.e. drift evolves much
slower than current time advances.
2012-07-24 17:41:28 +03:00
Rémi Denis-Courmont 99693981a3 dummy: fix volume callbacks
Amplifying dummy is useless. Also amplifying S/PDIF is not possible.
2012-07-19 20:34:09 +03:00
Rémi Denis-Courmont 003ba60d19 adummy: do not create dummy audio-device (refs #6874) 2012-05-27 19:51:35 +03:00
Rémi Denis-Courmont 6918810baa Replace AOUT_FMT_NON_LINEAR with AOUT_FMT_SPDIF and AOUT_FMT_LINEAR
As things stand, we have a format that is neither S/PDIF nor linear,
so change the macros to remove the confusion.
2011-08-08 18:33:05 +03:00
Rémi Denis-Courmont 297aefb712 aout: move packet FIFO management to plugins that need it 2011-08-04 18:16:10 +03:00
Rémi Denis-Courmont af6b8c3b8a dummy outputs: drop priority to zero 2011-08-04 18:16:10 +03:00
Rémi Denis-Courmont 9d85032d9c Move and split dummy audio output 2011-08-04 18:16:08 +03:00