यह pjsip में पूरा किया गया है। अपनी मशीन के लिए रेपो खींचो:
svn checkout -r 4687 https://svn.pjsip.org/repos/pjproject/trunk
फिर उस वीडियो डेटा एक SurfaceTexture
को सीधे तार से आने वाली renders एक उदाहरण अनुप्रयोग के लिए pjmedia/src/swig
फ़ोल्डर खोलें।
मैं दो सबसे अधिक प्रासंगिक सी स्रोत फ़ाइलें (एक नज़र — पर निश्चित रूप से कर रहे हैं अन्य) अपलोड कर दिया है यहाँ तुम्हारे लिए,:
- android_dev.c
- android_opengl.c
स्वाभाविक रूप से, उन फ़ाइलों आपके लिए बहुत सारे अप्रासंगिक कोड हैं, लेकिन उम्मीद है कि आप जिस स्निपेट को ढूंढ रहे हैं उसे उम्मीद है।
आप पहले के आदेश pjmedia/src/pjmedia-videodev/android/PjCamera*.java
फ़ाइलों को न्यूनतम जावा/सी इंटरफ़ेस यदि आप ऐसा करने के तरीके में अनिश्चित हैं संभाल उत्पन्न करने के लिए निर्देश found here में से कुछ का पालन करना होगा। मैं उनके निर्देशों का पालन करने में — का उपयोग कर एनडीके (वर्क्स डब्ल्यू/10 डी या 10 ई) और ओपनएसएल (1.0.2 ए) — के लिए बिल्कुल वही संस्करणों का उपयोग कर रहा हूं और सफलतापूर्वक वीडियो प्रस्तुत कर सकता हूं और एक कस्टम ऐप बना सकता हूं। यह स्रोत ठीक वही पूरा करता है जो आप खोज रहे हैं यदि आप केवल जेएनआई हुक के माध्यम से अपने एपीआई का उपयोग करने के लिए सी-लेवल वीडियो कैप्चर को संशोधित करते हैं, वैसे ही वे करते हैं।
एपीआई बदलने के लिए जेएनआई हुक का उपयोग करने के उदाहरण के लिए, pjmedia में उनके ऑडियोआईड फ़ोल्डर को देखें।
यदि आप अपनी परियोजना का निर्माण करते हैं, तो openssl 1.0.2a
के निर्माण के लिए नए एनडीके संस्करणों के लिए बहुत नीचे दिए गए निर्देशों का पालन करना सुनिश्चित करें। मानक को निष्पादित करने के रूप में/configure पर पूंजी 'सी' पर ध्यान दें ./configure गलत कॉन्फ़िगरेशन प्रक्रिया लॉन्च कर सकता है। मैं सुझाव देता हूं कि उनके प्रदत्त आदेशों को एक स्क्रिप्ट में कॉपी और चिपकाएं। आप अपने उद्देश्यों के लिए पूरी तरह से openssl छोड़ने में सक्षम हो सकते हैं; एक बार जब मैं openssl समर्थन को एकीकृत करता हूं तो मैं केवल अपने एंड्रॉइड डिवाइस को एसआईपी खातों को पंजीकृत करने में सक्षम था।
क्या आपको फ्रेम डेटा पढ़ने का कोई तरीका मिला? – Alex