কাস্টমাইজেশন

ট্রান্সফরমারের আচরণ নিয়ন্ত্রণ করতে, আপনি API পৃষ্ঠে বিকল্পগুলি কনফিগার করতে পারেন অথবা ইন্টারফেসের কাস্টম বাস্তবায়ন লিখে এবং সেগুলিকে পাস করে কার্যকারিতার অংশগুলি সম্পূর্ণরূপে প্রতিস্থাপন করতে পারেন। এই পৃষ্ঠায় কিছু উদাহরণ বর্ণনা করা হয়েছে।

কোডেক কনফিগারেশন নিয়ন্ত্রণ করুন

ডিফল্টরূপে, ডিভাইসের হার্ডওয়্যার এনকোডার যদি অনুরোধকৃত আউটপুট রেজোলিউশন গ্রহণ না করে তবে ট্রান্সফরমার একটি সমর্থিত রেজোলিউশনে ফিরে যাবে। উদাহরণস্বরূপ, ট্রান্সফরমার আউটপুট প্রস্থ এবং উচ্চতাকে 2 বা 16 এর গুণিতক হিসাবে সারিবদ্ধ করতে পারে যা প্রায়শই হার্ডওয়্যার এনকোডারগুলির দ্বারা প্রয়োজন হয়। আপনি এই আচরণটি বন্ধ করতে পারেন যাতে ট্রান্সফরমার যদি প্রয়োজনীয় আউটপুট রেজোলিউশন তৈরি করতে না পারে তবে একটি ত্রুটি ফেলে:

কোটলিন

transformerBuilder.setEncoderFactory(
  DefaultEncoderFactory.Builder(context).setEnableFallback(false).build()
)

জাভা

transformerBuilder.setEncoderFactory(
    new DefaultEncoderFactory.Builder(context).setEnableFallback(false).build());

একইভাবে, DefaultEncoderFactory setRequestedVideoEncoderSettings বিকল্পের সাহায্যে কাস্টম এনকোডিং সেটিংস ব্যবহার সমর্থন করে।

কোডেকগুলি কীভাবে সেট আপ করা হয় তার উপর সম্পূর্ণ নিয়ন্ত্রণ পেতে আপনি এনকোডার এবং ডিকোডারগুলির জন্য কারখানাগুলি সম্পূর্ণরূপে প্রতিস্থাপন করতে পারেন।

কাস্টম মাক্সার

আপনি Transformer.setMuxerFactory কল করে মিডিয়া কন্টেইনার লেখার জন্য একটি কাস্টম muxer সেট করতে পারেন। উদাহরণস্বরূপ, যদি আপনি অ্যাপ্লিকেশন স্তরে আপনার নিজস্ব muxer প্রয়োগ করেন, তাহলে আপনি একটি র‍্যাপার লিখতে পারেন যা Muxer ইন্টারফেস প্রয়োগ করে এবং তারপর setMuxerFactory ব্যবহার করে এটি ট্রান্সফরমারে ইনজেক্ট করতে পারেন।