You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-07 12:30:27 +00:00
Fix OGG audio loop offset pop.
Co-authored-by: MJacred <loesch.benny92@gmx.de> Co-authored-by: Ellen Poe <ellen.h.poe@gmail.com> Co-authored-by: Michael Wörner <mwoerner@semw-software.com>
This commit is contained in:
@@ -159,7 +159,9 @@ bool OggPacketSequencePlayback::next_ogg_packet(ogg_packet **p_packet) const {
|
||||
|
||||
*p_packet = packet;
|
||||
|
||||
packet_cursor++;
|
||||
if (!packet->e_o_s) { // Added this so it doesn't try to go to the next packet if it's the last packet of the file.
|
||||
packet_cursor++;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -216,6 +218,20 @@ bool OggPacketSequencePlayback::seek_page(int64_t p_granule_pos) {
|
||||
return true;
|
||||
}
|
||||
|
||||
int64_t OggPacketSequencePlayback::get_page_number() const {
|
||||
return page_cursor;
|
||||
}
|
||||
|
||||
bool OggPacketSequencePlayback::set_page_number(int64_t p_page_number) {
|
||||
if (p_page_number >= 0 && p_page_number < ogg_packet_sequence->page_data.size()) {
|
||||
page_cursor = p_page_number;
|
||||
packet_cursor = 0;
|
||||
packetno = 0;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
OggPacketSequencePlayback::OggPacketSequencePlayback() {
|
||||
packet = new ogg_packet();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user