প্রকল্প সম্পর্কে

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 নিরাপত্তা ও সঠিকতার উপর জোর দেয়। এটি ১০০% নিরাপদ 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, এবং প্রকল্পটি অবদানকে স্বাগত জানায়।