Skip to content

Commit 702bb8d

Browse files
authored
Merge pull request #815 from freyacodes/dev
v3.7.3 release
2 parents 338497c + 97ff80f commit 702bb8d

File tree

4 files changed

+27
-5
lines changed

4 files changed

+27
-5
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
Each release usually includes various fixes and improvements.
44
The most noteworthy of these, as well as any features and breaking changes, are listed here.
55

6+
## 3.7.3
7+
* Fix breaking change where `/decodetrack` would return a full track instead of the track info
8+
69
## 3.7.2
710
* Fix breaking change where frameStats would be null instead of omitted
811

IMPLEMENTATION.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1169,15 +1169,14 @@ GET /v3/decodetrack?encodedTrack=BASE64
11691169

11701170
Response:
11711171

1172-
[Track Object](#track)
1172+
[Track Object](#track) and [Track Info Object](#track-info) for pre v3.7 compatibility.
11731173

11741174
<details>
11751175
<summary>Example Payload</summary>
11761176

11771177
```yaml
11781178
{
11791179
"encoded": "QAAAjQIAJVJpY2sgQXN0bGV5IC0gTmV2ZXIgR29ubmEgR2l2ZSBZb3UgVXAADlJpY2tBc3RsZXlWRVZPAAAAAAADPCAAC2RRdzR3OVdnWGNRAAEAK2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZFF3NHc5V2dYY1EAB3lvdXR1YmUAAAAAAAAAAA==",
1180-
"track": "...", # Same as encoded, removed in /v4
11811180
"info": {
11821181
"identifier": "dQw4w9WgXcQ",
11831182
"isSeekable": true,
@@ -1188,7 +1187,16 @@ Response:
11881187
"title": "Rick Astley - Never Gonna Give You Up",
11891188
"uri": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
11901189
"sourceName": "youtube"
1191-
}
1190+
},
1191+
"identifier": "dQw4w9WgXcQ", // Same as info.identifier, removed in /v4
1192+
"isSeekable": true, // Same as info.isSeekable, removed in /v4
1193+
"author": "RickAstleyVEVO", // Same as info.author, removed in /v4
1194+
"length": 212000, // Same as info.length, removed in /v4
1195+
"isStream": false, // Same as info.isStream, removed in /v4
1196+
"position": 0, // Same as info.position, removed in /v4
1197+
"title": "Rick Astley - Never Gonna Give You Up", // Same as info.title, removed in /v4
1198+
"uri": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", // Same as info.uri, removed in /v4
1199+
"sourceName": "youtube" // Same as info.sourceName, removed in /v4
11921200
}
11931201
```
11941202

LavalinkServer/src/main/java/lavalink/server/player/AudioLoaderRestHandler.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@ import com.fasterxml.jackson.databind.ObjectMapper
2626
import com.fasterxml.jackson.databind.node.JsonNodeFactory
2727
import com.fasterxml.jackson.databind.node.ObjectNode
2828
import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager
29+
import dev.arbjerg.lavalink.protocol.v3.DecodedTrack
2930
import dev.arbjerg.lavalink.protocol.v3.Track
31+
import dev.arbjerg.lavalink.protocol.v3.TrackInfo
3032
import dev.arbjerg.lavalink.protocol.v3.decodeTrack
3133
import lavalink.server.util.toTrack
3234
import org.slf4j.LoggerFactory
@@ -70,12 +72,13 @@ class AudioLoaderRestHandler(
7072
}
7173

7274
@GetMapping(value = ["/decodetrack", "/v3/decodetrack"])
73-
fun getDecodeTrack(@RequestParam encodedTrack: String?, @RequestParam track: String?): ResponseEntity<Track> {
75+
fun getDecodeTrack(@RequestParam encodedTrack: String?, @RequestParam track: String?): ResponseEntity<DecodedTrack> {
7476
val trackToDecode = encodedTrack ?: track ?: throw ResponseStatusException(
7577
HttpStatus.BAD_REQUEST,
7678
"No track to decode provided"
7779
)
78-
return ResponseEntity.ok(decodeTrack(audioPlayerManager, trackToDecode).toTrack(trackToDecode))
80+
val decodedTrack = decodeTrack(audioPlayerManager, trackToDecode).toTrack(trackToDecode)
81+
return ResponseEntity.ok(DecodedTrack(decodedTrack.encoded, decodedTrack.info, decodedTrack.info))
7982
}
8083

8184
@PostMapping(value = ["/decodetracks", "/v3/decodetracks"])

protocol/src/main/java/dev/arbjerg/lavalink/protocol/v3/player.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package dev.arbjerg.lavalink.protocol.v3
22

3+
import com.fasterxml.jackson.annotation.JsonUnwrapped
34
import com.fasterxml.jackson.annotation.JsonValue
45
import com.fasterxml.jackson.core.JsonParser
56
import com.fasterxml.jackson.databind.DeserializationContext
@@ -21,6 +22,13 @@ data class Player(
2122
val filters: Filters
2223
)
2324

25+
data class DecodedTrack(
26+
val encoded: String,
27+
val info: TrackInfo,
28+
@JsonUnwrapped
29+
val oldInfo: TrackInfo
30+
)
31+
2432
data class Track(
2533
val encoded: String,
2634
val track: String,

0 commit comments

Comments
 (0)