Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
The GNOME Audio Story
Arun Raghavan
Who am I?
twitter: @louiswu
irc: Ford_Prefect
PulseAudio
GStreamer
Other misc.
How hard can audio be?
🔉 Read samples, play them out
🎤 Record samples, do stuff
Samples?
Start from the lowest layer
ALSA
Advanced Linux Sound Architecture
Kernel infrastructure
Userspace library
Plugin system
“Restricted” subset
Talk to the hardware
PulseAudio
Sound server
Why do we need one?
Applications just wanna
play or capture
Mixing
Conversion
Volumes
Routing
Filters
Power
Hardware
Simple API
Async API
libcanberra
Event sound library
Phone ring
Button press
New message
GTK+ bindings
Easily attach an event to a widget
Sounds cached if possible
GStreamer
Swiss-army mulitimedia knife
Encode/decode
Containers
Audio and video
Disk, network, …
Everything that Nirbheek
spoke about yesterday
BUT WHAT DO I USE?
ALSA
Practically never
PulseAudio
Working with samples
Fine-grained control
libcanberra
Event sounds
GSound in the future
'nuff said
GStreamer
Encoded audio
Custom pipeline
JACK
What's that?
Pro-audio use cases
Future work
Container support
Filters and effects
UI interactions
Low latency
Easier policy
Compressed audio
Questions?
Thank you!
♥
The GNOME Audio Story
The GNOME Audio Story
The GNOME Audio Story
Upcoming SlideShare
Loading in …5
×

The GNOME Audio Story

533 views

Published on

A talk about the GNOME audio stack, presented at the GNOME Asia Summit 2015

Published in: Software
  • Be the first to comment

  • Be the first to like this

The GNOME Audio Story

  1. 1. The GNOME Audio Story Arun Raghavan
  2. 2. Who am I?
  3. 3. twitter: @louiswu irc: Ford_Prefect
  4. 4. PulseAudio GStreamer Other misc.
  5. 5. How hard can audio be?
  6. 6. 🔉 Read samples, play them out 🎤 Record samples, do stuff
  7. 7. Samples?
  8. 8. Start from the lowest layer
  9. 9. ALSA
  10. 10. Advanced Linux Sound Architecture
  11. 11. Kernel infrastructure Userspace library Plugin system
  12. 12. “Restricted” subset Talk to the hardware
  13. 13. PulseAudio
  14. 14. Sound server Why do we need one?
  15. 15. Applications just wanna play or capture
  16. 16. Mixing Conversion Volumes
  17. 17. Routing Filters
  18. 18. Power Hardware
  19. 19. Simple API Async API
  20. 20. libcanberra
  21. 21. Event sound library
  22. 22. Phone ring Button press New message
  23. 23. GTK+ bindings Easily attach an event to a widget
  24. 24. Sounds cached if possible
  25. 25. GStreamer
  26. 26. Swiss-army mulitimedia knife
  27. 27. Encode/decode Containers
  28. 28. Audio and video Disk, network, …
  29. 29. Everything that Nirbheek spoke about yesterday
  30. 30. BUT WHAT DO I USE?
  31. 31. ALSA
  32. 32. Practically never
  33. 33. PulseAudio
  34. 34. Working with samples Fine-grained control
  35. 35. libcanberra
  36. 36. Event sounds GSound in the future 'nuff said
  37. 37. GStreamer
  38. 38. Encoded audio Custom pipeline
  39. 39. JACK
  40. 40. What's that? Pro-audio use cases
  41. 41. Future work
  42. 42. Container support Filters and effects
  43. 43. UI interactions Low latency
  44. 44. Easier policy Compressed audio
  45. 45. Questions?
  46. 46. Thank you! ♥

×