[E 2015 Q&A, Help & Troubleshooting] squid2:
I did some testing, and can confirm that music playback is broken, at least for MP3 files. Headphones are not the issue, sound effects come through fine on speakers and headphones, and music fails to play on both.

[MENTION=3445372]scritch007[/MENTION]

I have music playback working fine on osprey, so it's probably a simple thing to fix. My first guess would be to try adding the mm-dash qcmediaplayer.

Here's a logcat snippet from trying to play audio:

E/ExtMediaPlayer-JNI( 6850): QCMediaPlayer could not be located....
E/MediaPlayer-JNI( 6850): QCMediaPlayer mediaplayer NOT present
D/FFmpegExtractor( 319): FFmpegExtrator, url: android-source:0xb4c2a100, format_name: mp3, format_long_name: MP2/3 (MPEG audio layer 2/3)
D/FFmpegExtractor( 319): suppoted codec(mp3) by official Stagefright
D/FFmpegExtractor( 319): ffmpeg detected media content as 'audio/mpeg' with confidence 0.08
D/ExtendedUtils( 319): extended extractor not needed, return default
E/MediaPlayer( 6850): Should have subtitle controller already set
I/MediaFocusControl( 939): AudioFocus requestAudioFocus() from android.media.AudioManager@3343962fcom.cyanogenmod.eleven.ui.activities.preview.AudioPreviewActivity@c3455c2 req=2flags=0x0
D/NuPlayerDriver( 319): start(0xb4c341c0)
I/GenericSource( 319): start
W/Utils ( 319): bool android::canOffloadStream(const android::sp<android::MetaData>&, bool, const android::sp<android::MetaData>&, bool, audio_stream_type_t) No sample bit depth info in meta data
I/str_params( 319): key: 'SND_CARD_STATUS' value: ''
W/Utils ( 319): bool android::canOffloadStream(const android::sp<android::MetaData>&, bool, const android::sp<android::MetaData>&, bool, audio_stream_type_t) No sample bit depth info in meta data
I/str_params( 319): key: 'SND_CARD_STATUS' value: ''
E/AudioTrack( 319): AudioTrack::set : Exit
D/audio_hw_primary( 319): copl(0xb4cbf640):pause compress driver
D/audio_hw_primary( 319): copl(0xb4cbf640):calling compress flush
D/audio_hw_primary( 319): copl(0xb4cbf640):out of compress flush
I/ActivityManager( 939): Displayed com.cyanogenmod.eleven/.ui.activities.preview.AudioPreviewActivity: +111ms
I/Timeline( 939): Timeline: Activity_windows_visible id: ActivityRecord{2b06d061 u0 com.cyanogenmod.eleven/.ui.activities.preview.AudioPreviewActivity t21} time:1167739
I/Timeline( 6850): Timeline: Activity_idle id: android.os.BinderProxy@19adf710 time:1167743
D/audio_hw_primary( 319): out_set_parameters: enter: usecase(3: compress-offload-playback) kvpairs: delay_samples=0;music_offload_avg_bit_rate=320000;music_offload_sample_rate=48000;padding_samples=0
D/audio_hw_primary( 319): out_set_parameters: enter: usecase(3: compress-offload-playback) kvpairs: routing=2
D/audio_hw_primary( 319): start_output_stream: enter: stream(0xb4cbf640)usecase(3: compress-offload-playback) devices(0x2)
D/audio_hw_primary( 319): select_devices: out_snd_device(2: speaker) in_snd_device(0: )
W/msm8916_platform( 319): Codec backend bitwidth 16, samplerate 48000
D/hardware_info( 319): hw_info_append_hw_type : device_name = speaker
W/audio_hw_utils( 319): audio_extn_utils_update_stream_app_type_cfg: App type could not be selected. Falling back to default
I/audio_hw_primary( 319): select_devices Selected apptype: 69936
E/ACDB-LOADER( 319): Error: ACDB AFE returned = -19
I/audio_hw_utils( 319): audio_extn_utils_send_app_type_cfg app_type 69936, acdb_dev_id 14, sample_rate 48000
D/audio_hw_primary( 319): select_devices: done
E/audio_hw_primary( 319): start_output_stream: cannot set device: Invalid argument
W/offload_visualizer( 319): visualizer_hal_stop_output output not started
D/hardware_info( 319): hw_info_append_hw_type : device_name = speaker
D/audio_hw_primary( 319): out_standby: enter: stream (0xb4cbf640) usecase(3: compress-offload-playback)
D/audio_hw_primary( 319): start_output_stream: enter: stream(0xb4cbf640)usecase(3: compress-offload-playback) devices(0x2)