Commit Graph

4716 Commits

Author SHA1 Message Date
ejurgensen cee740ae51 [misc] Move MIN() macro from raop.c to misc.c 2019-03-18 23:06:08 +01:00
ejurgensen 94dfef6e78 [input] Return quality flag even if read size is zero
First input_read() has bufsize 0, because we don't know quality yet
2019-03-18 23:06:08 +01:00
ejurgensen 0cb3881621 [player/outputs/raop] Get rid of outputs_playback_start() (still WIP)
outputs_playback_start() had the problem that was not consistently invoked: If
for instance local audio playback was running and a Airplay device was then
activated, the raop's playback_start would never be invoked (and vice versa,
of course).

Instead, the player now writes the presentation timestamp every time to the
output, so it doesn't need to keep track of it from the start.
2019-03-18 23:06:08 +01:00
ejurgensen a924a8dd66 [raop] Reorganise code a little 2019-03-18 23:06:08 +01:00
ejurgensen fcc91ecd86 [player/outputs] Handle multiple quality levels + use rtp_common (WIP!)
* Untie Airtunes stuff further from player and non-Airplay outputs
* Change raop.c to use rtp_common.c (step 1)
* Change heartbeat of player to 100 ticks/sec, since we have untied from
  Airtunes 352 samples per packet (which equals 126 ticks/sec at 44100)

Still a lot to be done in the player, since the rtptime's in it don't
are probably broken.
2019-03-18 23:06:08 +01:00
ejurgensen cdd0aa884b [outputs] Add ability to deal with multiple qualities
Output module can now take input data in multiple quality levels, and
can resample to those output modules that would require a certain quality
level, like raop.c would
2019-03-18 23:06:08 +01:00
ejurgensen 7e48887adc [rtp] Add RTP utility module: rtp_common.c rtp_common.h
Expectation is to use this for both Airplay and Chromecast RTP streaming
2019-03-18 23:06:08 +01:00
ejurgensen 76bbfb6d2c [streaming] Adjust httpd_streaming to new transcode interface 2019-03-18 23:06:08 +01:00
ejurgensen 4fe5c47526 [inputs] Change pipe and file_http inputs to use media_quality 2019-03-18 23:06:08 +01:00
ejurgensen 7048a72d86 [spotify] Use media_quality instead of input_quality
and allow more than 2 channels ... probably wouldn't actually work, hard to test
2019-03-18 23:06:08 +01:00
ejurgensen a9085e978d [input] Change input abstraction to use media_quality instead of input_quality 2019-03-18 23:06:08 +01:00
ejurgensen 462d787fab [misc] Add media_quality struct for storing sample rate, bps and channels 2019-03-18 23:06:08 +01:00
ejurgensen ad77a42dbb [xcode] Adapt to allow for new raw PCM input profiles, e.g. 48000/16 2019-03-18 23:06:08 +01:00
ejurgensen 1696fc3384 [input] Adapt input_buffer so it can handle dynamic quality (sample rates etc)
Still WIP, player and outputs cannot handle this yet
2019-03-18 23:06:08 +01:00
ejurgensen 9182597605 [input/xcode] Write to input buffer with the sources native sample rate/format
Still WIP at this point since the player and output can't use the use improved
quality yet, and because rtptimes etc. are likely incorrect
2019-03-18 23:06:08 +01:00
ejurgensen 84e813038b [player] Some additional comments 2019-03-18 23:06:08 +01:00
ejurgensen d850c2e691 [xcode] Add OPUS encoding profile for RTP Chromecasting 2019-03-18 23:06:08 +01:00
ejurgensen 8e474dfd7f Bump to version 26.5 2019-03-17 22:52:41 +01:00
ejurgensen 864bdb8f6f ChangeLog and README for forked-daapd 26.5 2019-03-17 22:52:06 +01:00
ejurgensen c3a7ec5163
Merge pull request #708 from chme/travis
[travis-ci] Build forked-daapd in the latest Ubuntu LTS docker image
2019-03-11 20:07:37 +01:00
chme f3cb20543b [travis-ci] Build forked-daapd in the latest Ubuntu LTS docker image 2019-03-11 17:46:11 +01:00
ejurgensen 7bd12bb317
Merge pull request #700 from whatdoineed2do/systemd-svc-memorymax
[systemd] add MemoryMax to service
2019-02-24 15:07:10 +01:00
whatdoineed2do/Ray 23721fc620 [systemd] add MemoryMax to enforce mem upper limit
to enable after re-installing on existing system:
            systemctl daemon-reload && \
            systemctl restart forked-daapd
2019-02-24 10:20:55 +00:00
Christian Meffert fb98eb68ca
Merge pull request #703 from chme/json_web
Small JSON API fixes + small web interface updates (v0.5.1)
2019-02-24 07:30:47 +01:00
chme 96f5d90849 [htdocs] Rebuild player web interface v0.5.1 2019-02-23 11:02:12 +01:00
chme aa0fd5b0cb [web-src] Update dependencies and increase version to 0.5.1 2019-02-23 11:02:12 +01:00
chme d1f866bd76 [web-src] Add data/media kind to queue item dialog with links to spotify 2019-02-23 11:02:12 +01:00
chme df455ce069 [web-src] Make use of extended queue/item/add endpoint
Should speed up starting playback from the web ui (reduces number of web 
api requests)
2019-02-23 11:02:12 +01:00
chme d931385886 [web-src] Show track title for streams in bottom navbar
If queue item is a radio stream, title contains the radio stream name, 
artist contains the artist of the current streaming song and album 
contains the title of the current streaming song.
2019-02-23 11:02:12 +01:00
chme 4a06b05365 [README] Add new query parameter for queue/items/add endpoint 2019-02-23 11:02:12 +01:00
chme 47e464ee97 [README] Fix wrong data_kind value in track object 2019-02-23 11:02:12 +01:00
chme f85df07308 [jsonapi] Respect order defined in smartpl expression in queue/items/add 2019-02-23 11:02:12 +01:00
chme e078ba8ed0 [jsonapi] Use same order by clause when adding queue items by
expressions as is used in search tracks by expression
2019-02-23 11:02:12 +01:00
chme a3f2551eea [jsonapi] Support starting playback from position in queue/items/add 2019-02-23 09:41:58 +01:00
Christian Meffert 4c2f178aa0
Merge pull request #695 from chme/web_interface_v043
Update player web interface (v0.5.0)
2019-02-21 16:37:59 +01:00
ejurgensen ddb27108ac
Merge pull request #697 from chme/spotify_playlist_uri
Switch to new Spotify web api playlist uris and support adding artist tracks to queue
2019-02-20 11:54:46 +01:00
chme 2e70d39a3a [htdocs] Rebuild player web interface v0.5.0
- Support links to album, artist and genre from queue item modal (#686)
- Improve podcasts views in player web interface (#689)
- Add play stream option in menu (pr #693)
- Add button to open details dialog in artist/album/playlist views (pr
- Fix links to genre page (pr #693)
- Update dependencies
2019-02-20 10:36:51 +01:00
chme 6c546b522c [web-src] Update dependencies and set internal version to 0.5.0 2019-02-20 10:35:35 +01:00
chme 7a30a50bd7 [web-src] Add info button to artist tracks, genre and spotify pages 2019-02-20 10:34:15 +01:00
chme 3bfc8d49ee [web-src] Fix audio context creation in Safari 2019-02-20 10:34:15 +01:00
chme 38611f2a77 [web-src] Fix genre link in queue item dialog 2019-02-20 10:34:15 +01:00
chme 435df3fe8f [spotify] Add support for adding spotify artist tracks to the queue 2019-02-20 10:10:53 +01:00
chme 3d494d5f58 [spotify] Switch to new web api playlist endpoints
The old playlist endpoints containing the user are deprecated and will
eventually be removed
(https://developer.spotify.com/community/news/2019/01/15/update-changes-to-playlist-uris/).
2019-02-20 09:30:02 +01:00
ejurgensen a5674cb403
[docs] Add note about installing avahi-daemon
Closes #696
2019-02-20 08:52:48 +01:00
chme d0ee68b8e5 [web-src] Remove console log 2019-02-18 13:27:39 +01:00
Christian Meffert 09c1cf1563
Merge pull request #693 from chme/web_player
Add option to stream audio from web interface
2019-02-18 13:18:14 +01:00
chme 427bce765f [web-src] Fix missing master volume icon 2019-02-18 13:06:09 +01:00
chme c8f6cdd3d6 [web-src] Add link to mp3 stream in menu 2019-02-18 12:54:43 +01:00
chme 66cd6ca19f [web-src] Support stream playback in chrome/firefox on android 2019-02-18 12:47:09 +01:00
chme 5c5c3e4a47 [web-src] Add links to Spotify artist/album in track details dialog 2019-02-18 11:18:55 +01:00