Changes between Initial Version and Version 1 of Ticket #8772


Ignore:
Timestamp:
01/20/2017 07:31:32 AM (7 years ago)
Author:
Douglas R. Reno
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #8772 – Description

    initial v1  
    11New major version.
     2
     3
     4{{{
     5Ahmed S. Darwish (7):
     6      pstream: Add rationale for pa_cmsg_ancil_data_close_fds()
     7      protocol-native: DRY: Remove pdispatch callbacks declarations
     8      iochannel: Strictly specify PF_UNIX ancillary data boundaries
     9      protocol-native: Don't signal memfd support for 9.0 clients
     10      pacat: Synchronize STDIN and "write stream ready" events
     11      stream: Frame-align divided audio segments
     12      pacat: Write to stream only in frame-sized chunks
     13
     14Aidan Gauland (1):
     15      qpaeq: Don't set font-size on widgets
     16
     17Alexander E. Patrakov (1):
     18      alsa: reread configuration when opening new devices
     19
     20Anton Lundin (1):
     21      raop: Correct spelling of KTH
     22
     23Arun Raghavan (21):
     24      client, protocol-native: Use macros for protocol version/flag access
     25      allow-passthrough: Use pa_module_hook_connect()
     26      i18n: Add module-allow-passthrough to POTFILES.in
     27      pulse: Add a JSON-parsing library
     28      format: Drop dependency on json-c
     29      json: Correctly handle bad strings with missing closing quotes
     30      json: Add overflow checks for integer and float parsing
     31      json: Handle error cases while parsing numbers
     32      json: Error out for objects and arrays that are nested too deep
     33      json: Add a positive test for nested objects
     34      json: Add some more negative test cases
     35      json: Drop refcounting of json objects
     36      device-port: Add mechanism to free implementation data
     37      alsa: Use pa_device_port->impl_free() for freeing port data
     38      modargs: Add a mechanism to append modargs
     39      daemon: Tone down system mode snarkiness
     40      memblockq-test: Rename test to something more relevant
     41      sink-input,source-output: Fix a leak during property change logging
     42      source-output: Fix copy-pasto
     43      shm: Wrap memfd-specific code in relevant ifdef
     44      stream-interaction: Fix a memory leak
     45
     46Balázs Úr (1):
     47      i18n: update Hungarian translation
     48
     49Chris Billington (2):
     50      source: Fixed bug: pa_source_set_port() did not update the latency_offset.
     51      sink, source, device-port: renames to distinguish latency offsets
     52
     53Cédric Valmary (1):
     54      i18n: update Occitan translation
     55
     56Deepak Srivastava (1):
     57      xen: Fixed possible memory leak.
     58
     59Dušan Kazik Kazik (1):
     60      i18n: Update Polish translation
     61
     62Felipe Sateler (1):
     63      launch: make pulseaudio.service properly order and require the socket
     64
     65Fran Dieguez (1):
     66      i18n: add Galician translation
     67
     68Georg Chini (8):
     69      loopback: Save time stamps during latency snapshots
     70      loopback: Improve latency estimation in snapshots
     71      loopback: Improve latency estimation
     72      loopback: Change memblockq length
     73      loopback: Move timer restart and snapshots to timer callback
     74      loopback: Restart timer after 1/3 second
     75      loopback: Adjust rate based on latency difference
     76      loopback: Stop tracking max_request and min_memblockq_length
     77
     78Guillaume Desmottes (1):
     79      allow-passthrough: Add module to allow passthrough streams always go through
     80
     81Jan Alexander Steffens (heftig) (1):
     82      launch: Remove the already implicit After=pulseaudio.socket
     83
     84John Paul Adrian Glaubitz (2):
     85      pulsecore: Fix incorrect architecture mapping on sparc64.
     86      core-util: Use _SC_NPROCESSORS_ONLN instead of _SC_NPROCESSORS_CONF
     87
     88Juha Kuikka (1):
     89      bluetooth: fix race condition in BlueZ5 device disconnection
     90
     91Juho Hämäläinen (1):
     92      pulsecore: Don't allow unreferencing linked object.
     93
     94KimJeongYeon (1):
     95      ladspa-sink: avoid to configure invalid format
     96
     97Marcin Lewandowski (1):
     98      core-util: log error if we hit file descriptors limit
     99
     100Mario Blättermann (1):
     101      i18n: update German translation
     102
     103Moo (1):
     104      i18n: add Lithuanian translation
     105
     106Nils Schneider (1):
     107      pipe-sink: align buffer
     108
     109Pali Rohár (3):
     110      bluetooth: Add support for automatic switch between hsp and a2dp profiles
     111      bluetooth: bluez5: Add profile name to sinks and sources
     112      bluetooth: Add support for automatic switch between hsp and a2dp profiles also for bluez5
     113
     114Peter Meerwald (2):
     115      tests: Include signal.h in core-util-test.c
     116      build: Check version of check library, require >= 0.9.10
     117
     118Peter Meerwald-Stadler (16):
     119      sink-input,source-output: Fix logging, don't overwrite old_value when value == 0
     120      alsa: Check pa_modargs_get_value_boolean() retval for use_ucm
     121      tests: Assert fillrate > 0 in alsa-time-test
     122      stream: Check pa_tagstruct_get_format_info() retval in pa_create_stream_callback()
     123      modules: Check pa_threaded_mainloop_start() return value
     124      tests: Check pa_rtpoll_run() return value
     125      modules: Use pa_assert_se() to check return value of dbus_message_iter_close_container()
     126      Remove newline at end of log messages
     127      bluetooth: Don't free modargs twice
     128      bluetooth: Fix dead code
     129      bluetooth: Reorganize code to avoid Coverity NULL dereference warning
     130      bluetooth: Fix negative array index write
     131      padsp: Fix flush and improve error handling
     132      core: Replace PA_PAGE_SIZE with pa_page_size()
     133      tests: Assert granularity range in stripnul.c
     134      sample: Assert validity of sample_spec
     135
     136Philip Withnall (1):
     137      zeroconf-discover: fix a memory leak
     138
     139Pierre Ossman (3):
     140      memblockq: move minreq handling in to memblockq
     141      tests: add test to verify correct minreq behaviour
     142      memblockq: remove internal "missing" state variable
     143
     144Piotr Drąg (2):
     145      i18n: fix errors and warnings in Belarusian and Korean translations
     146      i18n: update Polish translation
     147
     148Rikard Söderström (1):
     149      daemon-conf: changed 'not' to 'note'
     150
     151Romain Naour (1):
     152      build-sys: C++11 is only required for WebRTC support
     153
     154Sylvain Baubeau (1):
     155      zeroconf: use local icon for shared devices
     156
     157Tanu Kaskinen (41):
     158      pstream: fix revoke callback setting
     159      webrtc: improve comment about mic geometry
     160      alsa, bluetooth: fail if user-requested profile doesn't exist
     161      card: don't allow the CARD_NEW hook to fail
     162      card: move profile selection after pa_card_new()
     163      card: remove pa_card_new_data.active_profile
     164      alsa: set availability for (some) unavailable profiles
     165      launch: explain why .service depends on .socket
     166      bluetooth: wait for all profiles to connect before creating card
     167      card-restore: don't switch profiles when availability changes
     168      bluetooth: remove a redundant assignment
     169      bluetooth: update device's valid flag after parsing properties
     170      bluetooth: unify BlueZ 4 and BlueZ 5 UUID handling
     171      bluetooth: unify BlueZ 4 and BlueZ 5 profile constant names
     172      bluetooth: refactor BlueZ 4 transport state setting
     173      bluetooth: don't create the HSP/HFP profile twice
     174      zeroconf-publish: fix uninitialized variable
     175      zeroconf-publish: unref D-Bus connection
     176      daemon-conf: enable memfd by default
     177      raop: add compatibility with openssl 1.1.0
     178      remove module-xenpv-sink
     179      module: postpone lt_dlclose() until a safe time
     180      rtp: don't use memblocks for non-audio data
     181      don't assume that pa_asyncq_new() always succeeds
     182      bluetooth-policy: do A2DP profile restoring a bit later
     183      suspend-on-idle: use earlier (safer) hooks for stream unlink notifications
     184      sink-input, source-output: set sink/source to NULL before the "unlink post" hook
     185      sink, source: unify stream "attached" flag checking
     186      sink, source: add missing stream "attached" flag handling
     187      sink, source: remove some assumptions about stream "attached" state
     188      refactor stream attaching/detaching
     189      build-sys: add LICENSE.WEBKIT to EXTRA_DIST
     190      Revert "memblockq: remove internal "missing" state variable"
     191      LICENSE: add a clarification
     192      LICENSE: add a note about qpaeq being licensed under AGPL
     193      memblockq: remove pa_memblockq_missing()
     194      memblockq-test: fix incorrect assumption of pa_memblockq_pop_missing() behaviour
     195      build-sys: bump sonames
     196      zeroconf-publish: fix unitialized DBusError
     197      update NEWS
     198      build-sys: add the AGPL license file to tarballs
     199
     200Ulrich Eckhardt (10):
     201      core-util-test: Add boilerplate
     202      core-util-test: Add tests
     203      core-util: Improve pa_replace() behaviour
     204      modargs: Document behaviour on missing arguments
     205      memblockq-test: Utility function to alloc chunks
     206      memblockq-test: Utility function to validate queue invariants
     207      memblockq-test: Some refactoring
     208      memblockq-test: Add a test that checks initial properties
     209      memblockq-test: Add test changing the parameters of a queue
     210      memblockq-test: Add a test for missing data behaviour
     211
     212Viktar Vaŭčkievič (1):
     213      i18n: add Belarusian translation
     214}}}
     215
     216
     217{{{
     218PulseAudio 10.0 release notes
     219Changes at a glance
     220
     221    Automatically switch Bluetooth profile when using VoIP applications
     222    New module for prioritizing passthrough streams (module-allow-passthrough)
     223    Fixed hotplugging support for USB surround sound cards
     224    Separate volumes for Bluetooth A2DP and HSP profiles
     225    memfd-based shared memory mechanism enabled by default
     226    Removed module-xenpv-sink
     227    Dropped dependency to json-c
     228    When using systemd to start PulseAudio, pulseaudio.socket is always started first
     229    Compatibility with OpenSSL 1.1.0
     230    Clarified qpaeq license
     231
     232Notes for end users
     233Automatically switch Bluetooth profile when using VoIP applications
     234
     235Bluetooth headsets typically support both the A2DP profile, which is suitable for music, and the HSP profile, which is suitable for telephony use cases. module-bluetooth-policy will now automatically switch the profile of a Bluetooth headset from A2DP to HSP/HFP when an application creates a recording stream with property media.role=phone (telephony applications should set that property for their streams). When the stream goes away, the profile gets restored back to A2DP. This way the user doesn't have to manually switch the profiles when starting and stopping a call. This behaviour can be disabled by giving argument auto_switch=false to module-bluetooth-policy.
     236New module for prioritizing passthrough streams (module-allow-passthrough)
     237
     238Passthrough streams are streams whose content must go completely unaltered from the application to the sound card, and they are mainly used for playing back compressed audio through an S/PDIF connection. When a passthrough stream is playing to a device, no other streams can play at the same time to the same device, and if there's already something playing when a passthrough stream is created, the passthrough stream creation will normally fail. Now we have a new module, called module-allow-passthrough, which will give higher priority to passthrough streams, so that if there are other streams playing when a passthrough stream is created, those other streams will be moved out of the way to a dummy device.
     239Fixed hotplugging support for USB surround sound cards
     240
     241A long-standing bug that prevented PulseAudio from using any hotplugged USB surround sound cards has been fixed.
     242Separate volumes for Bluetooth A2DP and HSP profiles
     243
     244The Bluetooth sink and source names are now different depending on whether the active profile is A2DP or HSP. This allows PulseAudio to store different volumes for A2DP and HSP. Due to different mechanisms for implementing volume control between the profiles, trying to use the same volume value in PulseAudio doesn't actually result in the same perceived volume, so it's better not to try to use the same volume.
     245
     246As an unfortunate transition effect, volumes saved earlier with an older PulseAudio version won't have effect in the new PulseAudio version, so all Bluetooth devices will have their volume reset to the default value when running the new PulseAudio version for the first time.
     247
     248This only affects BlueZ 5 users. The same change was done already earlier for PulseAudio's BlueZ 4 code.
     249memfd-based shared memory mechanism enabled by default
     250
     251The memfd-based shared memory mechanism that was implemented in 9.0 is now enabled by default. This shouldn't cause any user-visible changes in behaviour, except if you're using the Firejail sandboxing software, which doesn't work with PulseAudio's old shared memory mechanism.
     252
     253If desired, the feature can still be disabled by setting "enable-memfd = no" either in daemon.conf (for disabling it at the server side) or in client.conf (for disabling it at the client side).
     254Removed module-xenpv-sink
     255
     256module-xenpv-sink was removed, because it's probably not used by anyone. If you use it, please let us know.
     257Notes for packagers
     258Dropped dependency to json-c
     259
     260libpulse previously used json-c internally, which forced applications to link to json-c too. That caused crashing in some GLib applications, because json-c and json-glib both use the same name for some functions. To solve this, we implemented the necessary JSON functionality directly in libpulse, so we don't depend on json-c any more.
     261When using systemd to start PulseAudio, pulseaudio.socket is always started first
     262
     263The pulseaudio.service unit now depends on pulseaudio.socket, meaning that before systemd starts PulseAudio, it will always first set up the socket. This is done to avoid confusing behaviour in certain corner cases (see the comments in pulseaudio.service for a more detailed explanation).
     264Compatibility with OpenSSL 1.1.0
     265
     266OpenSSL, which is used by module-raop-sink, broke backwards compatibility in the 1.1.0 release. PulseAudio now supports both 1.1.0 and older versions.
     267Clarified qpaeq license
     268
     269Most of PulseAudio is licensed under LGPL, but the "qpaeq" equalizer GUI is licensed under AGPL. That hasn't previously been mentioned anywhere else than in the qpaeq source code itself. Therefore, distributions that tag their packages with license information have likely used incorrect information. The license of qpaeq hasn't changed, but the use of AGPL is now correctly noted in the top-level LICENSE file.
     270}}}