इस प्रोजेक्ट के बारे में

Symphonia एक शुद्ध Rust ऑडियो डिकोडिंग और मीडिया डीमक्सिंग लाइब्रेरी है। यह उन अनुप्रयोगों के लिए डिज़ाइन की गई है जिन्हें C लाइब्रेरी पर निर्भर किए बिना सामान्य मीडिया कंटेनर फॉर्मेट पढ़ने, मेटाडेटा और टैग निकालने, और ऑडियो स्ट्रीम डिकोड करने की आवश्यकता होती है। समर्थित कंटेनर फॉर्मेट में AIFF, CAF, ISO/MP4, MKV/WebM, OGG, और Wave शामिल हैं। समर्थित ऑडियो कोडेक में AAC-LC, ADPCM, ALAC, FLAC, MP1, MP2, MP3, PCM, और Vorbis शामिल हैं। कुछ कोडेक और फॉर्मेट अभी भी प्रगति पर हैं, जैसे Opus, WavPack, और HE-AAC वेरिएंट। परियोजना व्यक्तिगत फॉर्मेट और कोडेक के लिए अलग-अलग क्रेट का उपयोग करती है, और फीचर फ्लैग्स नियंत्रित करते हैं कि कौन से घटक संकलित किए जाएं। डिफ़ॉल्ट रूप से, केवल रॉयल्टी-मुक्त ओपन स्टैंडर्ड कोडेक और फॉर्मेट सक्षम हैं, लेकिन एक `all` फीचर फ्लैग सब कुछ सक्षम कर सकता है। मेटाडेटा और टैगिंग समर्थन में APEv1, APEv2, ID3v1, ID3v2, ISO/MP4, RIFF, और FLAC और OGG में Vorbis कमेंट्स शामिल हैं। लाइब्रेरी ऑडियो डेटा को कुशलता से संचालित करने के लिए बुनियादी ऑडियो प्रिमिटिव भी प्रदान करती है। Symphonia सुरक्षा और शुद्धता पर जोर देती है। यह 100% सुरक्षित Rust में लिखी गई है, डिनायल-ऑफ-सर्विस हमलों को रोकने का लक्ष्य रखती है, और फज़-टेस्टेड है। परियोजना डिबगिंग के लिए उपकरण भी प्रदान करती है: `symphonia-play` मीडिया स्ट्रीम की जांच, डिकोडिंग, सत्यापन, और प्लेबैक के लिए, और `symphonia-check` अन्य डिकोडर के विरुद्ध डिकोड किए गए आउटपुट को सत्यापित करने के लिए। लाइब्रेरी मॉड्यूलर है और तृतीय-पक्ष डीमक्सर और डिकोडर के पंजीकरण की अनुमति देती है। मौजूदा तृतीय-पक्ष एडाप्टर में libfdk-aac के माध्यम से AAC वेरिएंट के लिए `symphonia-adapter-fdk-aac` और libopus के माध्यम से Opus के लिए `symphonia-adapter-libopus` शामिल हैं। Symphonia MPL v2.0 के अंतर्गत लाइसेंस प्राप्त है। 0.6.x रिलीज़ के लिए न्यूनतम समर्थित Rust संस्करण 1.85 है। प्राथमिक लेखक Philip Deljanov हैं, और परियोजना योगदान का स्वागत करती है।