1. 17 Mar, 2019 2 commits
  2. 27 Feb, 2019 1 commit
    • Bastien Nocera's avatar
      ci: Add CI · 0e1b4bda
      Bastien Nocera authored
      This just builds the "what-did-you-plugin" test application, but it's
      good enough to catch the worst failures.
      0e1b4bda
  3. 16 Dec, 2018 1 commit
  4. 07 Dec, 2018 1 commit
  5. 10 Sep, 2018 2 commits
    • Bastien Nocera's avatar
      Merge branch 'wip/muktupavels/warnings' into 'master' · 7de39e76
      Bastien Nocera authored
      Fix build warnings
      
      See merge request !2
      7de39e76
    • Alberts Muktupāvels's avatar
      fix cast-function-type warnings · 4e9205d6
      Alberts Muktupāvels authored
      gvc-mixer-card.c: In function ‘gvc_mixer_card_finalize’:
      gvc-mixer-card.c:571:53: warning: cast between incompatible function types from ‘void (*)(GvcMixerCardProfile *)’ {aka ‘void (*)(struct <anonymous> *)’} to ‘void (*)(void *, void *)’ [-Wcast-function-type]
               g_list_foreach (mixer_card->priv->profiles, (GFunc) free_profile, NULL);
      
      gvc-mixer-stream.c: In function ‘gvc_mixer_stream_finalize’:
      gvc-mixer-stream.c:1044:52: warning: cast between incompatible function types from ‘void (*)(GvcMixerStreamPort *)’ {aka ‘void (*)(struct <anonymous> *)’} to ‘void (*)(void *, void *)’ [-Wcast-function-type]
               g_list_foreach (mixer_stream->priv->ports, (GFunc) free_port, NULL);
      4e9205d6
  6. 08 Sep, 2018 1 commit
  7. 07 Sep, 2018 2 commits
  8. 20 Aug, 2018 1 commit
    • Florian Müllner's avatar
      build: Remove bogus rpath · eeaffe5c
      Florian Müllner authored
      If anything it should be `pkglibdir`, but as it looks like nobody
      lost their volume controls, it's apparently not needed at all.
      
      !1
      eeaffe5c
  9. 30 Jan, 2018 6 commits
  10. 26 Jan, 2018 1 commit
  11. 06 Dec, 2017 2 commits
  12. 05 Oct, 2017 1 commit
  13. 10 Aug, 2017 1 commit
  14. 22 Jul, 2017 1 commit
    • Florian Müllner's avatar
      build: Don't include c_args in dependency · 3093bdb0
      Florian Müllner authored
      The defines are only relevant for compiling libgvc itself, not for
      any consumers of the library. In fact, setting G_LOG_DOMAIN is
      likely to conflict with the log domain defined by the including
      project ...
      3093bdb0
  15. 19 Jul, 2017 1 commit
  16. 29 May, 2017 1 commit
  17. 06 Apr, 2017 2 commits
  18. 17 Apr, 2016 3 commits
    • Bastien Nocera's avatar
      gvc-mixer-control: Really fix double-free when setting headset · 25bf3ed7
      Bastien Nocera authored
      In a28e23d9, we said:
      The callbacks will be called repeatedly, once with data, and later
      on with eol == 0. Make sure to only free it when we get the eol call
      instead of once we've applied the settings.
      
      Whereas the docs say:
      When requesting all of these [instances] at once, the callback will be
      called multiple times, once for each object. When the list has been
      exhausted, the callback will be called without an information structure
      and the eol parameter set to a positive value.
      
      If an error occurs, the callback will be invoked without an information
      structure and eol set to a negative value.
      
      So, in all, we need to free our callback data when eol is positive, or
      negative. So, when it's not 0.
      
      Seems we got lucky in the original commit because the test machine only
      had a single soundcard.
      25bf3ed7
    • Bastien Nocera's avatar
      tests: Add audio device selection question · 8fc9c62a
      Bastien Nocera authored
      So that the test utility mimicks the code in gnome-settings-daemon.
      8fc9c62a
    • Bastien Nocera's avatar
      tests: Add a Makefile for tests · 2a117d60
      Bastien Nocera authored
      And add a test for the audio device selection feature, added in
      GNOME 3.20.
      2a117d60
  19. 22 Feb, 2016 2 commits
    • Bastien Nocera's avatar
      gvc-mixer-control: Fix memory leak on error path · 0a500795
      Bastien Nocera authored
      When setting the headset port, make sure to also free the work data
      if eol is negative, eg. if the call failed.
      0a500795
    • Bastien Nocera's avatar
      gvc-mixer-control: Fix double-free when setting headset · a28e23d9
      Bastien Nocera authored
      The callbacks will be called repeatedly, once with data, and later
      on with eol == 0. Make sure to only free it when we get the eol call
      instead of once we've applied the settings.
      
      Example valgrind output:
      ==31715== Invalid read of size 8
      ==31715==    at 0x24529E09: port_status_data_free (gvc-mixer-control.c:2079)
      ==31715==    by 0x1DB81344: ??? (in /usr/lib64/libpulse.so.0.18.2)
      ==31715==    by 0x1DDF3FE0: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so)
      ==31715==    by 0x1DDF436A: pa_pdispatch_run (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so)
      ==31715==    by 0x1DB7507D: ??? (in /usr/lib64/libpulse.so.0.18.2)
      ==31715==    by 0x1DDF6B5E: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so)
      ==31715==    by 0x1DDF91BA: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so)
      ==31715==    by 0x1DDF9568: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so)
      ==31715==    by 0x1DDF9DF9: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so)
      ==31715==    by 0x1D96202A: ??? (in /usr/lib64/libpulse-mainloop-glib.so.0.0.5)
      ==31715==    by 0x7AA7CF9: g_main_dispatch (gmain.c:3154)
      ==31715==    by 0x7AA7CF9: g_main_context_dispatch (gmain.c:3769)
      ==31715==    by 0x7AA8057: g_main_context_iterate.isra.29 (gmain.c:3840)
      ==31715==  Address 0x2bd83480 is 0 bytes inside a block of size 16 free'd
      ==31715==    at 0x4C2ED6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==31715==    by 0x7AAD2AD: g_free (gmem.c:189)
      ==31715==    by 0x1DB81562: ??? (in /usr/lib64/libpulse.so.0.18.2)
      ==31715==    by 0x1DDF3FE0: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so)
      ==31715==    by 0x1DDF436A: pa_pdispatch_run (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so)
      ==31715==    by 0x1DB7507D: ??? (in /usr/lib64/libpulse.so.0.18.2)
      ==31715==    by 0x1DDF6B5E: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so)
      ==31715==    by 0x1DDF91BA: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so)
      ==31715==    by 0x1DDF9568: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so)
      ==31715==    by 0x1DDF9DF9: ??? (in /usr/lib64/pulseaudio/libpulsecommon-7.1.so)
      ==31715==    by 0x1D96202A: ??? (in /usr/lib64/libpulse-mainloop-glib.so.0.0.5)
      ==31715==    by 0x7AA7CF9: g_main_dispatch (gmain.c:3154)
      ==31715==    by 0x7AA7CF9: g_main_context_dispatch (gmain.c:3769)
      ==31715==  Block was alloc'd at
      ==31715==    at 0x4C2F9C7: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==31715==    by 0x7AAD1F0: g_malloc0 (gmem.c:124)
      ==31715==    by 0x2452A39D: gvc_mixer_control_set_port_status_for_headset (gvc-mixer-control.c:2173)
      ==31715==    by 0x2451BE81: audio_selection_done (gsd-media-keys-manager.c:2489)
      ==31715==    by 0x7550ED3: emit_signal_instance_in_idle_cb (gdbusconnection.c:3701)
      ==31715==    by 0x7AA7CF9: g_main_dispatch (gmain.c:3154)
      ==31715==    by 0x7AA7CF9: g_main_context_dispatch (gmain.c:3769)
      ==31715==    by 0x7AA8057: g_main_context_iterate.isra.29 (gmain.c:3840)
      ==31715==    by 0x7AA8371: g_main_loop_run (gmain.c:4034)
      ==31715==    by 0x5CEA204: gtk_main (gtkmain.c:1246)
      ==31715==    by 0x403804: main (main.c:434)
      a28e23d9
  20. 11 Feb, 2016 1 commit
  21. 17 Jan, 2016 1 commit
    • Bastien Nocera's avatar
      gvc: Add "what did you plug in" support API · f3f6812e
      Bastien Nocera authored
      Add "audio-device-selection-needed" which will be emitted when a
      headphones, headset or microphone is plugged into a jack socket that
      cannot detect which type it was.
      
      Once the user of libgnome-volume-control has asked the user which type
      of device this was, they can call gvc_mixer_control_set_headset_port()
      to switch the ports for that configuration.
      
      Note that gvc_mixer_control_set_headset_port() supports passing the
      card ID, but the detection code only supports a single such device. When
      we find hardware that can support > 1 such device, we can test and
      implement support without breaking the API.
      
      Based on the original code by David Henningsson <david.henningsson@canonical.com>
      for the unity-settings-daemon
      
      https://bugzilla.gnome.org/show_bug.cgi?id=755062
      f3f6812e
  22. 12 Jan, 2016 1 commit
  23. 05 Oct, 2015 1 commit
  24. 15 Sep, 2015 2 commits
  25. 09 Sep, 2015 2 commits