Files
Dimitris C. 45178a9afc feature(Ogg): Adds OggVorbis playback support (#122)
* park

* park - working

* Adds support for Ogg Vorbis

* fixes

* fix rateNode issue

* Update README to remove M4A limitation note

Removed limitation note for non-optimized M4A files.

* Update iOS requirement from 13.0 to 15.0

* improvements

* removes debug message

* improves `isSeekable` property

* fix

* Refactors project use pure Package.swift and swift test

* Refactor GitHub Actions workflow for Swift package testing
2025-11-08 20:22:56 +02:00

68 lines
2.1 KiB
Swift

// swift-tools-version:5.10
import PackageDescription
let package = Package(
name: "AudioStreaming",
platforms: [
.iOS(.v15),
.macOS(.v13),
.tvOS(.v16)
],
products: [
.library(
name: "AudioStreaming",
targets: ["AudioCodecs", "AudioStreaming"]
),
],
dependencies: [
.package(url: "https://github.com/sbooth/ogg-binary-xcframework", exact: "0.1.2"),
.package(url: "https://github.com/sbooth/vorbis-binary-xcframework", exact: "0.1.2")
],
targets: [
// C target for audio codec bridges
.target(
name: "AudioCodecs",
dependencies: [
.product(name: "ogg", package: "ogg-binary-xcframework"),
.product(name: "vorbis", package: "vorbis-binary-xcframework")
],
path: "AudioCodecs",
publicHeadersPath: "include",
cSettings: [
.headerSearchPath("."),
.headerSearchPath("include")
],
linkerSettings: [
.linkedFramework("AudioToolbox"),
.linkedFramework("Foundation")
]
),
// Main Swift target
.target(
name: "AudioStreaming",
dependencies: [
"AudioCodecs",
.product(name: "ogg", package: "ogg-binary-xcframework"),
.product(name: "vorbis", package: "vorbis-binary-xcframework")
],
path: "AudioStreaming",
exclude: ["AudioStreaming.h", "Streaming/OggVorbis", "Info.plist"],
swiftSettings: []
),
.testTarget(
name: "AudioStreamingTests",
dependencies: [
"AudioStreaming"
],
path: "AudioStreamingTests",
exclude: ["Info.plist", "Streaming/output"],
resources: [
// Test resources for metadata stream processor tests
.copy("Streaming/Metadata Stream Processor/raw-audio-streams")
]
)
]
)