CameraX

CameraX, Jetpack में जोड़ा गया एक नया टूल है. इसकी मदद से, अपने ऐप्लिकेशन में कैमरे की सुविधाएं आसानी से जोड़ी जा सकती हैं. इस लाइब्रेरी में, कई डिवाइसों पर काम करने से जुड़ी समस्याओं को ठीक करने के तरीके और समाधान उपलब्ध हैं. इससे डेवलपर को कई डिवाइसों पर एक जैसा अनुभव मिलता है.

इस टेबल में, androidx.camera ग्रुप के सभी आर्टफ़ैक्ट की सूची दी गई है.

सह-प्रॉडक्ट स्टेबल वर्शन रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
camera-camera2 1.6.2 1.7.0-rc01 - -
camera-core 1.6.2 1.7.0-rc01 - -
camera-compose 1.6.2 1.7.0-rc01 - -
कैमरा-इफ़ेक्ट 1.6.2 1.7.0-rc01 - -
camera-extensions 1.6.2 1.7.0-rc01 - -
camera-feature-combination-query - - - 1.5.0-alpha06
camera-feature-combination-query-play-services - - - 1.5.0-alpha06
camera-lifecycle 1.6.2 1.7.0-rc01 - -
camera-mlkit-vision 1.6.2 1.7.0-rc01 - -
कैमरा-व्यू 1.6.2 1.7.0-rc01 - -
कैमरा-व्यूफ़ाइंडर - - 1.3.0-beta02 1.4.0-alpha07
camera-video 1.6.2 1.7.0-rc01 - -
इस लाइब्रेरी को पिछली बार 21 अक्टूबर, 2026 को अपडेट किया गया था

डिवाइस की जांच

CameraX को हमारी लैब में कई डिवाइसों पर टेस्ट किया गया है. लैब में मौजूद डिवाइसों की सूची देखने के लिए, CameraX लैब में टेस्ट किए गए डिवाइस देखें.

डिपेंडेंसी का एलान करना

CameraX पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

Groovy

dependencies {
  // CameraX core library using the camera2 implementation
  def camerax_version = "1.7.0-rc01"
  // The following line is optional, as the core library is included indirectly by camera-camera2
  implementation "androidx.camera:camera-core:${camerax_version}"
  implementation "androidx.camera:camera-camera2:${camerax_version}"
  // If you want to additionally use the CameraX Lifecycle library
  implementation "androidx.camera:camera-lifecycle:${camerax_version}"
  // If you want to additionally use the CameraX VideoCapture library
  implementation "androidx.camera:camera-video:${camerax_version}"
  // If you want to additionally use the CameraX View class
  implementation "androidx.camera:camera-view:${camerax_version}"
  // If you want to additionally add CameraX ML Kit Vision Integration
  implementation "androidx.camera:camera-mlkit-vision:${camerax_version}"
  // If you want to additionally use the CameraX Extensions library
  implementation "androidx.camera:camera-extensions:${camerax_version}"
}

Kotlin

dependencies {
    // CameraX core library using the camera2 implementation
    val camerax_version = "1.7.0-rc01"
    // The following line is optional, as the core library is included indirectly by camera-camera2
    implementation("androidx.camera:camera-core:${camerax_version}")
    implementation("androidx.camera:camera-camera2:${camerax_version}")
    // If you want to additionally use the CameraX Lifecycle library
    implementation("androidx.camera:camera-lifecycle:${camerax_version}")
    // If you want to additionally use the CameraX VideoCapture library
    implementation("androidx.camera:camera-video:${camerax_version}")
    // If you want to additionally use the CameraX View class
    implementation("androidx.camera:camera-view:${camerax_version}")
    // If you want to additionally add CameraX ML Kit Vision Integration
    implementation("androidx.camera:camera-mlkit-vision:${camerax_version}")
    // If you want to additionally use the CameraX Extensions library
    implementation("androidx.camera:camera-extensions:${camerax_version}")
}

सुझाव/राय दें या शिकायत करें

आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.

नई समस्या दर्ज करने का तरीका

ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.

कैमरा व्यूफ़ाइंडर कंपोज़ वर्शन 1.0

वर्शन 1.0.0-alpha02

12 जून, 2024

androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.

वर्शन 1.0.0-alpha01

14 मई, 2024

androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 रिलीज़ हो गया है. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • नई लाइब्रेरी. इस लाइब्रेरी में, Compose नेटिव Viewfinder कंपोज़ेबल को शामिल किया गया है. इसका इस्तेमाल, CameraX और Camera2 के साथ किया जा सकता है. कंपोज़ेबल व्यूफ़ाइंडर, अलग-अलग आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साथ काम करता है. साथ ही, टच इवेंट को मैनेज करता है.

कैमरा व्यूफ़ाइंडर का वर्शन 1.4

वर्शन 1.4.0-alpha07

12 जून, 2024

androidx.camera:camera-viewfinder:1.4.0-alpha07 और androidx.camera:camera-viewfinder-core:1.4.0-alpha07 रिलीज़ हो गए हैं. वर्शन 1.4.0-alpha07 में ये बदलाव शामिल हैं.

वर्शन 1.4.0-alpha06

14 मई, 2024

androidx.camera:camera-viewfinder:1.4.0-alpha06 और androidx.camera:camera-viewfinder-core:1.4.0-alpha06 रिलीज़ हो गए हैं. वर्शन 1.4.0-alpha06 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • Viewfinder के ImplementationMode Enum का नाम बदलें, ताकि उनके लागू होने के तरीके को बेहतर तरीके से दिखाया जा सके. साथ ही, TransformationInfo.sourceRotation के लिए फ़िक्स्ड कॉन्स्टेंट जोड़ें. (Ic6149)
  • ZoomGestureDetector.ZoomEvent को जोड़ा गया, ताकि ज़ूम जेस्चर की स्थितियों को एनकैप्सुलेट किया जा सके. (I84cdf)

वर्शन 1.7

वर्शन 1.7.0-rc01

21 अक्टूबर, 2026

androidx.camera:camera-*:1.7.0-rc01 रिलीज़ हो गया है. वर्शन 1.7.0-rc01 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • UseCaseCamera2Interop, ImageCaptureCamera2Interop, SessionConfigCamera2Interop, और CameraControlCamera2Interop को इंटरफ़ेस से ऐब्स्ट्रैक्ट क्लास में बदला गया. (If654e)
  • Camera2Interop V2 में मौजूद, साफ़ तौर पर जानकारी न होने की समस्या को ठीक किया गया (I1bbe5)

गड़बड़ियां ठीक की गईं

  • CameraX OpenGL थ्रेड पर नेटिव SIGSEGV क्रैश होने की समस्या को ठीक किया गया. ऐसा तब होता था, जब SurfaceProcessor ने एक इनपुट SurfaceTexture रिलीज़ किया था, जिसका SurfaceRequest पूरा होने से पहले ही गार्बेज-कलेक्ट हो गया था. (I76f73, b/563673593)
  • सरफ़ेस लीक और नेटिव OpenGL क्रैश की समस्या को ठीक किया गया. यह समस्या, गार्बेज कलेक्शन के दौरान तब हो सकती थी, जब इफ़ेक्ट के SurfaceOutput को बंद करने से पहले, CameraEffect के एक्ज़ीक्यूटर या HandlerThread को बंद कर दिया जाता था. (Ifcc19, b/558819242)
  • कम रोशनी में बेहतर फ़ोटो लेने की सुविधा के काम करने के तरीके में सुधार: कम रोशनी में बेहतर फ़ोटो लेने की सुविधा और टॉर्च, अब 'पिछली सेटिंग लागू होगी' नीति का पालन करती हैं. इसके तहत, एक सुविधा को चालू करने पर दूसरी सुविधा अपने-आप बंद हो जाती है. इसके लिए, अनुरोध को अस्वीकार नहीं किया जाता. इसके अलावा, कम रोशनी में बेहतर फ़ोटो लेने की सुविधा चालू होने पर, इमेज कैप्चर करते समय फ़्लैश का इस्तेमाल किया जा सकता है. (Ie583f)
  • androidx.lifecycle:lifecycle-runtime डिपेंडेंसी को 2.10.0 पर अपडेट किया गया. यह वर्शन, एजीपी के 9.5.0-alpha04 या इसके बाद के वर्शन के साथ बंडल किए गए लाइफ़साइकल रनटाइम लिंट की जांच करने के लिए ज़रूरी है. (I99bfd, b/556807521)
  • CameraInfo.getPhysicalCameraInfos() से फ़िज़िकल कैमरों पर CameraSelector पाने और फ़िज़िकल कैमरों से UseCases को बाइंड करने की सुविधा. फ़िज़िकल CameraSelector के साथ CameraInfo के बारे में क्वेरी करने पर, अब लॉजिकल CameraInfo के बजाय फ़िज़िकल CameraInfo दिखता है. (Ibe7f2)
  • OutputOptions.Builder.setLocation Javadoc में साफ़ तौर पर बताया गया है कि वीडियो के मेटाडेटा में सिर्फ़ अक्षांश और देशांतर की जानकारी सेव की जाती है. (I77d3b, b/551348846)
  • ImageAnalysis में मौजूद एक गड़बड़ी को ठीक किया गया. इस गड़बड़ी की वजह से, आउटपुट रोटेशन को डाइनैमिक तौर पर बदलने या इस्तेमाल के उदाहरण को अनबाइंड करने पर, Surface/ImageReader रिसॉर्स लीक हो सकता था. (I25cef)
  • CameraInfo.getIntrinsicZoomRatio() अब नतीजे में मिले अनुपात को दशमलव के बाद दो अंकों तक दिखाता है. (Ibe9a8)
  • कुछ डिवाइसों पर फ़ॉल्स नेगेटिव की गड़बड़ियों को रोकने के लिए, ImageAnalysis में PRIVATE फ़ॉर्मैट के लिए HardwareBuffer.isSupported की जांच में ढील दी गई है. (I347a4, b/545866947)
  • हमने JDK के नए वर्शन पर कंपाइलेशन क्रैश की समस्या को ठीक कर दिया है. यह समस्या तब आती थी, जब CameraX के इंटरनल फ़ील्ड पर, ट्रांज़िटिव तरीके से इंपोर्ट किए गए JSpecify टाइप एनोटेशन को रिज़ॉल्व किया जाता था. (I00bb4, b/543937345)

वर्शन 1.7.0-alpha03

12 अगस्त, 2026

androidx.camera:camera-*:1.7.0-alpha03 रिलीज़ हो गया है. वर्शन 1.7.0-alpha03 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • Camera2Interop कॉन्फ़िगरेशन फ़ैक्ट्री के तरीकों और Kotlin एक्सटेंशन फ़ंक्शन के पक्ष में, लेगसी Camera2Interop एपीआई (Camera2Interop.Extender, Camera2CameraControl, Camera2CameraInfo, और CaptureRequestOptions) को बंद कर दिया गया है. (Ib0845, b/529609261)
  • preview, imageAnalysis, videoCapture, imageCapture, और SessionConfig.Builder के लिए Kotlin DSL camera2Interop एक्सटेंशन ब्लॉक जोड़े गए हैं. साथ ही, CameraControl.applyCamera2InteropAsync एक्सटेंशन फ़ंक्शन भी जोड़ा गया है. (I51af9, b/529609261)
  • Camera2Interop कॉन्फ़िगरेशन फ़ैक्ट्री के नए तरीके (forUseCase, forImageCapture, forSessionConfig, forCameraControl) और उनसे जुड़े setInterop / applyInteropAsync तरीके जोड़े गए हैं. ये तरीके Preview.Builder, ImageCapture.Builder, ImageAnalysis.Builder, VideoCapture.Builder, SessionConfig.Builder, और CameraControl पर जोड़े गए हैं. (I0007b, b/529609261)
  • Camera2Interop में हेल्पर मेथड और Kotlin एक्सटेंशन की मिलती-जुलती प्रॉपर्टी (CameraInfo.cameraId, CameraInfo.cameraCharacteristics, और String.toCameraSelector()) जोड़ी गई हैं. इससे CameraInfo से Camera2 कैमरा आईडी और विशेषताएं हासिल की जा सकती हैं. (I11803, b/529609261)
  • सार्वजनिक एपीआई में Preview.setMirrorMode, Preview.getMirrorMode, और VideoCapture.setMirrorMode को जोड़ा गया. साथ ही, ExperimentalMirrorMode एनोटेशन को हटाया गया. (I4ed60, b/519794349, b/470629643)
  • UseCases बनाने के लिए, Kotlin डीएसएल बिल्डर preview { ... }, imageCapture { ... }, imageAnalysis { ... }, और videoCapture { ... } जोड़े गए. (I91df9, b/530013719)
  • ImagePlane.buffer में बदलाव किया गया, ताकि यह नॉन-नलेबल ByteBuffer बन सके. (I98593)
  • Kotlin डीएसएल में SessionConfig.Builder, HighSpeedVideoSessionConfig.Builder, और ExtensionSessionConfig.Builder पर प्रॉपर्टी गेटर को 'अब काम नहीं करता' के तौर पर मार्क कर दिया गया है, ताकि सिर्फ़ राइट-ओनली प्रॉपर्टी लागू की जा सकें. (I2875b, b/534570559)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसमें OverlayEffect के साथ Preview के इस्तेमाल के कई उदाहरणों को बाइंड करने पर, एक झलक वाली स्ट्रीम डिलीवर नहीं हो पाती थी. (I7a383, b/532577546, b/532924417)
  • उस समस्या को ठीक किया गया है जिसकी वजह से वीडियो रिकॉर्डिंग के दौरान कैमरा स्विच करने पर, Recording.pause() और Recording.resume() की सुविधा काम नहीं करती थी. (I71004, b/532327691, b/367121726)
  • मल्टी-कैमरा डिवाइसों पर, फ़िज़िकल कैमरे की सीमाओं से बाहर ज़ूम करते समय, ज़ीरो-शटर लैग (ज़ेडएसएल) का इस्तेमाल करने पर, एचएएल के क्रैश होने की समस्या को ठीक किया गया. (I1c374, b/527782712, b/514757157)
  • उस समस्या को ठीक किया गया है जिसकी वजह से Samsung Galaxy S25, S26, और Fold 7 डिवाइसों पर एचडीआर वीडियो रिकॉर्डिंग नहीं हो पा रही थी. (Ic0827, b/529618629)

वर्शन 1.7.0-alpha02

1 जुलाई, 2026

androidx.camera:camera-*:1.7.0-alpha02 रिलीज़ हो गया है. वर्शन 1.7.0-alpha02 में ये कमिट शामिल हैं.

एपीआई में बदलाव

  • CameraXViewfinder में अब पिंच करके ज़ूम करने और टैप करके फ़ोकस करने के लिए, पहले से मौजूद जेस्चर की सुविधा काम करती है. साथ ही, इसमें स्क्रीन का फ़्लैश और स्ट्रीम की स्थिति की सुविधा भी जोड़ी गई है. FocusState को अब viewfinder-core में सार्वजनिक कर दिया गया है, ताकि टैप-टू-फ़ोकस के नतीजों को मॉनिटर किया जा सके. (I66a17, b/522549890)
  • isAutoRotationEnabled को SessionConfig.Builder , HighSpeedVideoSessionConfig.Builder, और ExtensionSessionConfig.Builder में जोड़ा गया. साथ ही, इनके लिए Kotlin DSL फ़ैक्ट्री फ़ंक्शन लॉन्च किए गए. इससे डिवाइस के सेंसर के आधार पर, स्क्रीन के घूमने की सही दिशा अपने-आप सेट हो जाती है. (I5b4a3, b/510752515)
  • TransformationInfo में TransformationMode प्रॉपर्टी जोड़ी गई, ताकि ऐप्लिकेशन EMBEDDED मोड में OpenGL पाइपलाइन का इस्तेमाल कर सकें. (Id1de1, b/487826941)
  • CameraInfo में isNightModeIndicatorSupported() और getNightModeIndicator() को जोड़ा गया, ताकि यह तय किया जा सके कि आस-पास की स्थितियां, नाइट मोड की ज़रूरी शर्तों को कब पूरा करती हैं. (Iae47b, b/499389465)
  • जीपीयू पर आधारित ImageAnalysis के साथ काम करने के लिए, ImageAnalysis.OUTPUT_IMAGE_FORMAT_PRIVATE और ImageProxy.getHardwareBuffer() को सार्वजनिक एपीआई के तौर पर एक्सपोज़ किया गया. (I41cb3, b/496022391, b/492934501)
  • ExtensionsManager#getExtensionEnabledCameraSelector अब काम नहीं करता. एक्सटेंशन मोड चालू करने के लिए, कृपया नए ExtensionSessionConfig API का इस्तेमाल करें. (I2b336, b/473715607)
  • एक साथ कई कैमरे इस्तेमाल करने के दौरान, कैमरा फ़्रेम की विज़ुअल स्टाइलिंग के लिए सहायता जोड़ी गई. अब आपके पास इन्हें पसंद के मुताबिक बनाने का विकल्प है:
  • गोल किनारे: फ़्रेम के किनारों को गोल करने के लिए, setRoundedCornerRatio(float) का इस्तेमाल करें. इससे किनारों को 0.0 से 1.0 तक गोल किया जा सकता है.
  • बॉर्डर: एक जैसी मोटाई वाला सजावटी फ़्रेम जोड़ने के लिए, setBorderWidthRatio(float) और setBorderColor(int) का इस्तेमाल करें (I18a07, b/366349205)
  • CompositionSettings को अपडेट किया गया, ताकि z-ऑर्डर की वैल्यू नेगेटिव न हो. साथ ही, ConcurrentCamera.setCompositionSettings में पुष्टि करने की सुविधा जोड़ी गई, ताकि यह पक्का किया जा सके कि इसे मान्य कंपोज़िशन मोड में, सेटिंग की सही संख्या के साथ कॉल किया गया है. (If660d, b/496951658)
  • CameraExtensionsInfo में getNightModeIndicator() और isNightModeIndicatorAvailable() को जोड़ा गया है. इससे ऐप्लिकेशन यह मॉनिटर कर सकते हैं कि कैमरा एक्सटेंशन का इस्तेमाल करते समय, मौजूदा माहौल नाइट मोड की स्थिति में है या नहीं. (I62bb4, b/499389465)
  • VideoCapture में QHD वीडियो क्वालिटी के लिए सहायता जोड़ी गई. (I0ac20, b/501305592)
  • Recorder.Builder.setTargetAudioChannelCount(int) और Recorder.getTargetAudioChannelCount() को जोड़ा गया, ताकि डेवलपर साफ़ तौर पर ऑडियो चैनल की संख्या सेट कर सकें. (I6bee0, b/441895100)
  • Recorder.Builder.setTargetAudioEncodingBitRate(int) को जोड़ा गया, ताकि टारगेट ऑडियो एन्कोडिंग बिटरेट सेट किया जा सके. (I29062, b/241151504)
  • ConcurrentCamera.setCompositionSettings API जोड़ा गया, ताकि लाइफ़साइकल बाउंड होने के बाद, ऐप्लिकेशन मौजूदा कैमरे के कंपोज़िशन को डाइनैमिक तौर पर अपडेट कर सकें. इसके अलावा, CompositionSettings.Builder में एक नया setZOrder एपीआई जोड़ा गया है. इससे, ओवरलैप होने वाली कैमरे की स्ट्रीम को रेंडर करने के क्रम को सटीक तरीके से कंट्रोल किया जा सकता है. (I90528, b/473702287)
  • एन्कोडिंग फ़ॉर्मैट पर ज़्यादा कंट्रोल पाने के लिए, एपीआई लॉन्च किए गए. डेवलपर अब Recorder.getSupportedVideoMimeTypes() और getSupportedAudioMimeTypes() का इस्तेमाल करके, डिवाइस पर काम करने वाले फ़ॉर्मैट खोज सकते हैं. फ़िलहाल, ये एक्सपेरिमेंट के तौर पर उपलब्ध हैं. Recorder.Builder.setVideoMimeType() और setAudioMimeType() का इस्तेमाल करके, पसंदीदा फ़ॉर्मैट को साफ़ तौर पर कॉन्फ़िगर किया जा सकता है. इसके अलावा, Recorder.getVideoCapabilities(CameraInfo, String) की मदद से, चुने गए कोडेक के लिए कैमरे की खास सुविधाओं के बारे में क्वेरी की जा सकती है. जैसे, काम करने वाली क्वालिटी और डाइनैमिक रेंज. (I4620e, b/491319384)
  • CameraController.setAutoRotationEnabled(boolean) को जोड़ा गया, ताकि डिवाइस के अपने-आप घूमने की सुविधा को बंद किया जा सके. (Ia0c03, b/449573627)
  • FocusMeteringAction में AE/AWB लॉकिंग की सुविधा जोड़ी गई. इसके लिए, setLockingMode एपीआई का नया सेट इस्तेमाल किया गया. इससे फ़ोकस को लॉक किए बिना, 3A रीजन को अपडेट किया जा सकता है. साथ ही, फ़ोकस एरिया को अपडेट करते समय, कैमरे को लगातार ऑटोफ़ोकस मोड में रखा जा सकता है. (I6416f, b/481624745)

गड़बड़ियां ठीक की गईं

  • compileSdk 37 के लिए ज़रूरी शर्त हटाएं (If78b4)
  • EMBEDDED मोड में CameraXViewfinder ट्रांसफ़ॉर्मेशन से जुड़ी समस्याएं ठीक की गईं. ऐसा तब हुआ, जब OpenGL पाइपलाइन को CameraX ने चालू किया, ताकि ज़्यादा UseCases या सरफ़ेस प्रोसेसिंग को बाइंड किया जा सके. (I3e637, b/487826941)
  • ExtensionSessionConfig का इस्तेमाल करने के लिए, टेस्ट और गतिविधियों को अपडेट किया गया. अब getExtensionEnabledCameraSelector एपीआई का इस्तेमाल नहीं किया जा सकता. (I765d8, b/473715607)
  • "Cannot access class 'ListenableFuture'" कंपाइलेशन गड़बड़ी को ठीक किया गया. (Ic8cba, b/497571473)
  • Compose compileSdk को एपीआई 37 पर अपडेट किया गया. इसका मतलब है कि Compose का इस्तेमाल करने के लिए, एजीपी का कम से कम 9.2.0 वर्शन होना ज़रूरी है. (Id45cd, b/413674743)

वर्शन 1.7.0-alpha01

11 मार्च, 2026

androidx.camera:camera-*:1.7.0-alpha01 रिलीज़ हो गया है. वर्शन 1.7.0-alpha01 में ये कमिट शामिल हैं.

एपीआई में बदलाव

  • CameraController.setSessionConfig() एपीआई को बिना अनुमति के सार्वजनिक किया गया. इससे, ऐडवांस UseCase कॉन्फ़िगरेशन के लिए कस्टम SessionConfig उपलब्ध कराया जा सकता है. ये कॉन्फ़िगरेशन, CameraController से सीधे तौर पर नहीं दिखाए जाते. SessionConfig के चालू होने पर, CameraController पर कॉन्फ़िगरेशन के अन्य तरीके बंद हो जाते हैं.(I35cf1, b/448525636)

गड़बड़ियां ठीक की गईं

  • लाइब्रेरी को Java 11 टारगेट का इस्तेमाल करने के लिए माइग्रेट करता है. इसका मतलब है कि जनरेट किया गया बाइट कोड, Java 11 (क्लास फ़ाइल वर्शन 55) होगा. साथ ही, लाइब्रेरी का इस्तेमाल करने के लिए, डिशुगरिंग की ज़रूरत पड़ सकती है (If4c2a, b/457821470)
  • ImageAnalysis में मौजूद एक गड़बड़ी को ठीक किया गया है. इसकी वजह से, आउटपुट इमेज को घुमाने की सुविधा चालू होने और शुरुआती रिलेटिव रोटेशन 0 डिग्री होने पर, इमेज सही तरीके से नहीं घूमती थीं. (Id46c2, b/487160584)

कैमरे का वर्शन 1.6

वर्शन 1.6.2

26 अगस्त, 2026

androidx.camera:camera-*:1.6.2 रिलीज़ हो गया है. वर्शन 1.6.2 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • हमने JDK के नए वर्शन पर कंपाइलेशन क्रैश की समस्या को ठीक कर दिया है. यह समस्या तब आती थी, जब CameraX के इंटरनल फ़ील्ड पर, ट्रांज़िटिव तरीके से इंपोर्ट किए गए JSpecify टाइप एनोटेशन को रिज़ॉल्व किया जाता था. (I00bb4, b/543937345)

वर्शन 1.6.1

6 मई, 2026

androidx.camera:camera-*:1.6.1 रिलीज़ हो गया है. वर्शन 1.6.1 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • CameraX 1.6.0 का इस्तेमाल करते समय, कंपाइलेशन से जुड़ी गड़बड़ी "ListenableFuture क्लास को ऐक्सेस नहीं किया जा सकता" को ठीक किया गया. (Ic8cba, b/497571473)

वर्शन 1.6.0

25 मार्च, 2026

androidx.camera:camera-*:1.6.0 रिलीज़ हो गया है. वर्शन 1.6.0 में ये बदलाव शामिल हैं.

1.5.0 के बाद किए गए अहम बदलाव:

1. बेहतर परफ़ॉर्मेंस वाले यूनिफ़ाइड कैमरा स्टैक पर माइग्रेट किया गया

  • CameraX अब CameraPipe का इस्तेमाल करता है. यह वही मॉडर्न और बेहतरीन परफ़ॉर्मेंस वाला स्टैक है जो Pixel कैमरे को बेहतर बनाता है. इस बदलाव से, आर्किटेक्चर की परफ़ॉर्मेंस बेहतर होती है. साथ ही, डेवलपर नेटवर्क के लिए कंप्यूटेशनल फ़ोटोग्राफ़ी की बेहतर सुविधाएं उपलब्ध कराने के लिए, एक स्केलेबल फ़ाउंडेशन मिलता है.

2. Media3 मक्सर इंटिग्रेशन

  • CameraX अब VideoCapture एपीआई में, Media3 मक्सर को डिफ़ॉल्ट रूप से इंटिग्रेट करता है. इस माइग्रेशन के कई फ़ायदे हैं:
    • बेहतर परफ़ॉर्मेंस: वीडियो प्रोसेसिंग और मक्सिंग की सुविधा को बेहतर बनाया गया है.
    • क्रैश होने से बचाव: वीडियो फ़ाइल के खराब होने से बेहतर सुरक्षा मिलती है. इससे यह पक्का होता है कि रिकॉर्डिंग के दौरान ऐप्लिकेशन क्रैश होने पर भी डेटा सुरक्षित रहे.

3. सुविधाओं के ग्रुप को बेहतर बनाना

  • Feature Group एपीआई में अब वीडियो स्टेबलाइज़ेशन और 4K रिकॉर्डिंग की सुविधा काम करती है. GroupableFeatures में VIDEO_STABILIZATION, UHD_RECORDING शामिल है, ताकि ऐप्लिकेशन उन्हें अन्य सुविधाओं के साथ चालू कर सकें. सुविधाओं का ग्रुप चालू होने पर, SessionConfig में CameraEffect और ImageAnalysis का इस्तेमाल किया जा सकता है.

4. SessionConfig API को स्टेबल किया गया

  • SessionConfig को एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई से, सार्वजनिक तौर पर उपलब्ध एपीआई में अपग्रेड कर दिया गया है. इसमें SessionConfig और HighSpeedVideoSessionConfig भी शामिल हैं. CameraX Extensions को अब नए ExtensionSessionConfig एपीआई के साथ लागू किया जा सकता है. एक नया isSessionConfigSupported एपीआई लॉन्च किया गया है. इसकी मदद से, डेवलपर यह पता लगा सकते हैं कि लाइफ़साइकल से बाइंड करने से पहले, डिवाइस पर इस्तेमाल के उदाहरणों और सुविधाओं (जैसे, एचडीआर, स्टेबलाइज़ेशन, खास रिज़ॉल्यूशन, CameraX एक्सटेंशन या स्लो मोशन) का कोई खास कॉम्बिनेशन काम करता है या नहीं.

गड़बड़ियां ठीक की गईं

  • Android 17 (एपीआई 37) या इसके बाद के वर्शन वाले कुछ डिवाइसों पर होने वाली क्रैश की समस्या को ठीक किया गया. जब ये डिवाइस नई डाइनैमिक रेंज प्रोफ़ाइलें (जैसे, STANDARD_SMPTE_2094_50(ID 8192)) दिखाते हैं, जो CameraX के 1.5.1 और इससे पहले के वर्शन के लिए अनजान थीं, तो लाइब्रेरी पहले इन आईडी को सही तरीके से हैंडल नहीं कर पाती थी. इस वजह से, ProcessCameraProvider.bindToLifecycle() के दौरान NullPointerException या IllegalArgumentException की गड़बड़ी होती थी. इस समस्या को ठीक करने से, CameraX को डाइनैमिक रेंज की ऐसी प्रोफ़ाइलों को अनदेखा करने में मदद मिलती है जिनकी पहचान नहीं की जा सकी. इससे ऐप्लिकेशन क्रैश होने से बचता है और आने वाले समय में भी काम करता रहता है. कृपया CameraX डिपेंडेंसी को 1.5.2 या 1.6.0 (या इसके बाद के वर्शन) पर अपडेट करें, ताकि इन नई प्रोफ़ाइलों को दिखाने वाले डिवाइसों पर यह समस्या न आए. ज़्यादा जानकारी के लिए, समस्या 519796838 देखें. (Ibd7b5)
  • फ़ीचर ग्रुप एपीआई अब VideoCapture के साथ PREVIEW_STABILIZATION का इस्तेमाल करने पर, एक जैसे नतीजे देता है. इससे उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, झलक दिखाने वाले इस्तेमाल के उदाहरण के चालू न होने पर, अलग-अलग नतीजे दिखते थे. (Ifed82, b/449913903)
  • उस समस्या को ठीक किया गया है जिसकी वजह से, काम न करने वाली पसंदीदा सुविधाएं गलत तरीके से उपलब्ध कराई गई थीं. अब सुविधाओं को सही तरीके से फ़िल्टर किया जाता है, जब उनके लिए ज़रूरी इस्तेमाल के उदाहरण पूरे नहीं होते. (I38db8, b/449532342)
  • Samsung Galaxy S6 पर वीडियो के नतीजे में आने वाली गड़बड़ी को ठीक किया गया. (I612d9, b/235127608)
  • उस समस्या को ठीक किया गया है जिसमें क्वेरी में मौजूद SessionConfig को पहले से ही अन्य सुविधाओं के साथ कॉन्फ़िगर किए जाने पर, CameraInfo#isFeatureGroupSupported, PREVIEW_STABILIZATION के लिए गलत तरीके से 'सही' वैल्यू दिखा सकता था. (I2c355c, b/437816469)
  • Samsung Z Fold 4 डिवाइस से, YUV फ़ॉर्मैट के आउटपुट साइज़ को हटा दिया गया है. इन आउटपुट साइज़ का इस्तेमाल करने पर, मिली इमेज में डिस्टॉर्शन की समस्या होती है. (I776bf, b/460322307)
  • Samsung A53 पर डिवाइस से जुड़ी एक समस्या को ठीक किया गया है. इसमें, VideoCapture इस्तेमाल के उदाहरण के बाउंड होने पर, टॉर्च चालू करके इमेज कैप्चर करने की सुविधा कभी-कभी काम नहीं करती थी. (I0f183, b/458197367)
  • कुछ डिवाइसों पर, अल्ट्रा-वाइड कैमरे के साथ फ़्लैश का इस्तेमाल करने पर, इमेज अंडरएक्सपोज़्ड हो जाती थीं. इस समस्या को ठीक कर दिया गया है. (Ib7530, b/444590340)
  • ExifInterface डिपेंडेंसी को अपडेट किया गया, ताकि 0xFF पैडिंग वाले JPEG को पार्स करने से जुड़ी समस्या को ठीक किया जा सके. इससे उन डिवाइसों पर इमेज कैप्चर न होने की समस्या हल हो जाती है जहां JPEG एन्कोडर, मार्कर से पहले फ़िल बाइट जोड़ता है. (I0eb49)

वर्शन 1.6.0-rc01

25 फ़रवरी, 2026

androidx.camera:camera-*:1.6.0-rc01 रिलीज़ हो गया है. वर्शन 1.6.0-rc01 में ये बदलाव शामिल हैं.

वर्शन 1.6.0-beta02

11 फ़रवरी, 2026

androidx.camera:camera-*:1.6.0-beta02 रिलीज़ हो गया है. वर्शन 1.6.0-beta02 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ImageCapture OUTPUT_FORMAT_RAW_JPEG इन-मेमोरी कैप्चर IllegalArgumentException से जुड़ी समस्या को ठीक किया गया. (Id4eec, b/479990902)
  • AndroidX Media3 मक्सर पर माइग्रेट किया गया. इससे ये समस्याएं ठीक हो गई हैं: 1: अचानक रुकावट आने या ऐप्लिकेशन बंद होने पर वीडियो खराब होना और 2: प्रॉक्सी फ़ाइल डिस्क्रिप्टर में वीडियो सेव करते समय ऐप्लिकेशन क्रैश होना. (I23b63, b/433649708, b/264812009, b/475750115)

वर्शन 1.6.0-beta01

28 जनवरी, 2026

androidx.camera:camera-*:1.6.0-beta01 रिलीज़ हो गया है. वर्शन 1.6.0-beta01 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • CameraX 1.6.0-alpha में, CameraExtensionsInfo के मौजूदा टाइप से जुड़ी समस्या को ठीक किया गया है. इस समस्या की वजह से, LiveData ऑब्जेक्ट को अपडेट किए गए टाइप का डेटा नहीं मिल पाता था. (I2c7a5)
  • ExifInterface डिपेंडेंसी को अपडेट किया गया, ताकि 0xFF पैडिंग वाले JPEG को पार्स करने से जुड़ी समस्या को ठीक किया जा सके. इससे उन डिवाइसों पर इमेज कैप्चर न होने की समस्या हल हो जाती है जहां JPEG एन्कोडर, मार्कर से पहले फ़िल बाइट जोड़ता है. (I0eb49)

वर्शन 1.6.0-alpha02

17 दिसंबर, 2025

androidx.camera:camera-*:1.6.0-alpha02 रिलीज़ हो गया है. वर्शन 1.6.0-alpha02 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • सेशन कॉन्फ़िगरेशन में वीडियो स्टेबलाइज़ेशन की सुविधा को दिखाने के लिए, ग्रुप की जा सकने वाली सुविधा जोड़ी गई. डेवलपर अब वीडियो स्टेबलाइज़ेशन को ज़रूरी या पसंदीदा सुविधा के तौर पर सेट कर सकते हैं. इसे UHD_RECORDING और PREVIEW_STABILIZATION जैसी अन्य सुविधाओं के साथ ग्रुप किया जा सकता है. (Ic6757, b/419766630)
  • सेशन कॉन्फ़िगरेशन में वीडियो रिकॉर्डिंग की क्वालिटी दिखाने के लिए, ग्रुप की जा सकने वाली सुविधाएं जोड़ी गईं. डेवलपर अब ज़रूरी या पसंदीदा सुविधा के तौर पर, किसी खास क्वालिटी (जैसे, यूएचडी, एफ़एचडी) का अनुरोध कर सकते हैं. इसे एचडीआर और 60 FPS जैसी अन्य सुविधाओं के साथ अलाइन किया जा सकता है. (Ib5cd3, b/437820285)
  • SessionConfig में, CameraEffect और फ़ीचर ग्रुप एपीआई, दोनों को इस्तेमाल करने की सुविधा जोड़ी गई. (I17f18, b/406370934)
  • SessionConfig में, ImageAnalysis और फ़ीचर ग्रुप एपीआई, दोनों को इस्तेमाल करने की सुविधा जोड़ी गई. (I87833, b/406371720)

एपीआई में बदलाव

  • ExtensionSessionConfig.Builder के लिए addUseCase सेटर फ़ंक्शन जोड़ा गया. साथ ही, ExtensionSessionConfig के लिए वे गेटर जोड़े गए जो मौजूद नहीं थे. (I71e07, b/453988621)
  • ExtensionsManager.getInstance एपीआई जोड़ा गया, जो ExtensionsManager.getInstanceAsync का सस्पेंड किया गया वर्शन है (I3a0a9, b/452208792)
  • isFeatureGroupSupported का नाम बदलकर isSessionConfigSupported किया गया और इसे हर तरह के SessionConfig के साथ काम करने लायक बनाया गया. (I21616, b/448781299)
  • ExtensionsManager को Kotlin में बदला गया. (I73091, b/452208792)
  • CameraProvider#getCameraInfo(CameraSelector, SessionConfig) को जोड़ा गया, ताकि CameraInfo को वापस लाया जा सके. ऐसा तब किया गया, जब SessionConfig से कैमरे के चुने जाने पर असर पड़ सकता है. उदाहरण के लिए, ExtensionSessionConfig का इस्तेमाल करते समय. (Ic548c, b/451891648)
  • ExtensionSessionConfig एपीआई को एक्सपोज़ किया गया. ऐप्लिकेशन अब ExtensionSessionConfig बना सकते हैं और इसका इस्तेमाल करके एक्सटेंशन सेशन बना सकते हैं. (I6354c, b/448524373)
  • androidx.camera.video.HighSpeedVideoSessionConfig एपीआई अब एक्सपेरिमेंटल नहीं है. यह अब पूरी तरह से स्टेबल सार्वजनिक एपीआई है. (I492d4, b/447558239)
  • androidx.camera.core.SessionConfig एपीआई अब एक्सपेरिमेंटल नहीं है. यह अब पूरी तरह से स्टेबल सार्वजनिक एपीआई है. (Idc87a, b/447558437)

गड़बड़ियां ठीक की गईं

  • Android 17 या इसके बाद के वर्शन पर, IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object: की वजह से होने वाले क्रैश की समस्या को ठीक किया गया. (Ibd7b5, b/463465353)
  • Samsung Z Fold 4 डिवाइस से, YUV फ़ॉर्मैट के आउटपुट साइज़ को हटा दिया गया है. इन आउटपुट साइज़ का इस्तेमाल करने पर, मिली इमेज में डिस्टॉर्शन की समस्या होती है. (I776bf, b/460322307)
  • Camera2Interop एपीआई की मदद से सेट किए जाने पर, CaptureRequest.FLASH_MODE के लागू न होने की समस्या को ठीक किया गया. (I0004c, b/459608684)
  • Samsung A53 पर डिवाइस से जुड़ी एक समस्या को ठीक किया गया है. इसमें, VideoCapture इस्तेमाल के उदाहरण के बाउंड होने पर, टॉर्च चालू करके इमेज कैप्चर करने की सुविधा कभी-कभी काम नहीं करती थी. (I0f183, b/458197367)
  • कुछ डिवाइसों पर, अल्ट्रा-वाइड कैमरे के साथ फ़्लैश का इस्तेमाल करने पर, इमेज अंडरएक्सपोज़्ड हो जाती थीं. इस समस्या को ठीक कर दिया गया है. (Ib7530, b/444590340)

वर्शन 1.6.0-alpha01

22 अक्टूबर, 2025

androidx.camera:camera-*:1.6.0-alpha01 रिलीज़ हो गया है. वर्शन 1.6.0-alpha01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • CameraX को एक यूनिफ़ाइड और बेहतर परफ़ॉर्मेंस वाले कैमरा स्टैक पर माइग्रेट कर दिया गया है. इसका इस्तेमाल, Pixel कैमरा ऐप्लिकेशन भी करता है. CameraPipe के नाम से जाना जाने वाला यह नया स्टैक, CameraX और Pixel कैमरा की टीमों के साथ मिलकर बनाया गया है. इससे यह पक्का होता है कि सभी सुधार शेयर किए जाएं. इससे CameraX के उपयोगकर्ताओं और Pixel कैमरा ऐप्लिकेशन, दोनों को फ़ायदा मिलता है.

एपीआई में बदलाव

  • कैमरे को डाइनैमिक तरीके से जोड़ने/हटाने की सुविधा के लिए, नए एपीआई जोड़े गए. ज़्यादा जानकारी के लिए, CameraPresenceListener एपीआई देखें. (I41ead, b/427182232, b/419441394)

गड़बड़ियां ठीक की गईं

  • फ़ीचर ग्रुप एपीआई अब VideoCapture के साथ PREVIEW_STABILIZATION का इस्तेमाल करने पर, एक जैसे नतीजे देता है. इससे उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, Preview इस्तेमाल का उदाहरण चालू न होने पर, अलग-अलग नतीजे दिखते थे. (Ifed82, b/449913903)
  • उस समस्या को ठीक किया गया है जिसकी वजह से, काम न करने वाली पसंदीदा सुविधाएं गलत तरीके से उपलब्ध कराई गई थीं. अब सुविधाओं को सही तरीके से फ़िल्टर किया जाता है, जब उनके लिए ज़रूरी इस्तेमाल के उदाहरण पूरे नहीं होते. (I38db8, b/449532342)
  • Samsung Galaxy S6 पर वीडियो के नतीजे में आने वाली गड़बड़ी को ठीक किया गया. (I612d9, b/235127608)
  • उस समस्या को ठीक किया गया है जिसमें क्वेरी में मौजूद SessionConfig को पहले से ही अन्य सुविधाओं के साथ कॉन्फ़िगर किए जाने पर, CameraInfo#isFeatureGroupSupported, PREVIEW_STABILIZATION के लिए गलत तरीके से 'सही' वैल्यू दिखा सकता था. (I2c355c, b/437816469)

कैमरे का वर्शन 1.5

वर्शन 1.5.3

28 जनवरी, 2026

androidx.camera:camera-*:1.5.3 रिलीज़ हो गया है. वर्शन 1.5.3 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ExifInterface डिपेंडेंसी को 1.4.2 पर अपडेट किया गया. इससे इमेज कैप्चर न होने की समस्या ठीक हो जाती है. यह समस्या उन डिवाइसों पर होती है जो मार्कर से पहले अतिरिक्त (और अनुमति वाले) 0xFF बाइट के साथ JPEG बनाते हैं. (I16df4)

संस्‍करण 1.5.2

4 दिसंबर, 2025

androidx.camera:camera-*:1.5.2 रिलीज़ हो गया है. वर्शन 1.5.2 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Android 17 या इसके बाद के वर्शन पर, IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object: की वजह से होने वाले क्रैश की समस्या को ठीक किया गया. (Ic9184)
  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, फ़ीचर ग्रुप एपीआई के नतीजे अलग-अलग आते थे. ऐसा तब होता था, जब PREVIEW_STABILIZATION सुविधा को VideoCapture इस्तेमाल के उदाहरण के साथ जोड़ा जाता था, लेकिन Preview इस्तेमाल के उदाहरण के साथ नहीं. (Ifed82)
  • हमने उस समस्या को ठीक कर दिया है जिसमें पसंदीदा सुविधाओं को फ़िल्टर नहीं किया जा रहा था. ऐसा तब भी हो रहा था, जब उन सुविधाओं के लिए ज़रूरी इस्तेमाल के उदाहरण मौजूद नहीं थे. (I38db8)

संस्‍करण 1.5.1

08 अक्टूबर, 2025

androidx.camera:camera-*:1.5.1 रिलीज़ हो गया है. वर्शन 1.5.1 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक साथ कई कैमरे इस्तेमाल करने वाले कंपोज़िशन मोड में, CameraEffect के साथ काम करता है. यह इफ़ेक्ट, कंपोज़िशन आउटपुट पर लागू होगा. कृपया ध्यान दें कि अगर इफ़ेक्ट को एक साथ कई कैमरे इस्तेमाल करने वाले मोड में सेट किया जाता है, तो VideoCapture में mirrorMode को अनदेखा कर दिया जाएगा. (If3d00, b/425565129)
  • उस समस्या को ठीक किया गया है जिसकी वजह से, एक साथ कई कैमरे इस्तेमाल करने के मोड में, सेकंडरी कैमरे पर mirrorMode सही तरीके से लागू नहीं होता था. (I686cd, b/446430827)
  • एक साथ कई कैमरे इस्तेमाल करने के नॉन-कंपोज़िशन मोड में, Preview, ImageCapture, और VideoCapture को एक साथ बाइंड करने की सुविधा होनी चाहिए. (Ib410a, b/443009871)
  • उस समस्या को ठीक किया गया है जिसकी वजह से, ImageCapture और VideoCapture जैसे UseCases को फिर से बनाने पर, उनके टारगेट रोटेशन की जानकारी मिट जाती थी. अगर डिवाइस को घुमाने के बाद, imageCaptureMode जैसी सेटिंग बदली गई, तो हो सकता है कि इमेज या वीडियो का ओरिएंटेशन गलत हो जाए. (I477c8, b/444734537)
  • हमने उस समस्या को ठीक कर दिया है जिसकी वजह से, झलक में 16:9 रिज़ॉल्यूशन नहीं चुना जा सकता था और VideoCapture में QUALITY_1080P पर रिकॉर्डिंग नहीं की जा सकती थी. यह समस्या तब हुई, जब डिफ़ॉल्ट झलक रिज़ॉल्यूशन कॉन्फ़िगरेशन का इस्तेमाल किया जा रहा था और इंटरनल StreamSharing सुविधा चालू थी. उदाहरण के लिए, जब चार UseCases एक साथ बाउंड किए गए हों. (I493cb, b/440364875)
  • SurfaceProcessor के बंद होने के बाद, इफ़ेक्ट चालू करने पर होने वाले क्रैश की समस्या को ठीक किया गया (I2c450, b/414150174)
  • CameraController में मौजूद एक गड़बड़ी को ठीक किया गया. इसकी वजह से, शुरुआती UseCase के लिए ज़्यादा से ज़्यादा रिज़ॉल्यूशन चुनने पर, IllegalStateException की समस्या आती थी. इससे अन्य UseCase को बाउंड नहीं किया जा सकता था. (Ifb758, b/440374234)
  • Nokia 7 Plus के लिए, YUV_420_888 आउटपुट के ऐसे साइज़ शामिल नहीं किए जाते हैं जिनकी वजह से, गड़बड़ी का कोई मैसेज दिखाए बिना ही साइलेंट फ़ेल की समस्या होती है. (I3af47, b/436524501)
  • उस समस्या को ठीक किया गया है जिसकी वजह से CameraInfo#isFeatureGroupSupported, PREVIEW_STABILIZATION सुविधा के लिए गलत तरीके से 'सही' वैल्यू दिखा सकता था. कभी-कभी ऐसा तब हो सकता है, जब किसी ऐसे SessionConfig से क्वेरी की जा रही हो जिसे पहले से ही अन्य सुविधाओं के साथ कॉन्फ़िगर किया गया हो. (I2c355, b/437816469)
  • पुराने एपीआई लेवल और SurfaceView से जुड़ी समस्याओं वाले डिवाइसों पर, CameraXViewfinder की परफ़ॉर्मेंस को बेहतर बनाया गया है. इसके लिए, ऐसी स्थितियों में डिफ़ॉल्ट रूप से TextureView का इस्तेमाल किया जाता है. यह फ़ॉलबैक तरीका, नया डिफ़ॉल्ट तरीका है. हालांकि, इसे प्रोग्राम के हिसाब से बदला जा सकता है. (Ieb476, b/437496463)
  • PreviewView में मेमोरी लीक की समस्या को ठीक किया गया. इसकी वजह से, इसकी गतिविधि को गार्बेज कलेक्शन से रोका जा सकता था. ऐसा तब होता है, जब पिछली को हैंडल करने से पहले ही कोई नई SurfaceRequest आ जाती है. (I4aa0b,b/443112512)
  • Huawei P smart, Infinix Hot 40i, और Realme C53 पर, हाई-स्पीड/स्लो-मोशन रिकॉर्डिंग की सुविधा काम न करने की समस्या को ठीक किया गया. (40a668e, b/442984200)

वर्शन 1.5.0

10 सितंबर, 2025

androidx.camera:camera-*:1.5.0 रिलीज़ हो गया है. वर्शन 1.5.0 में ये बदलाव शामिल हैं.

1.4.0 के बाद किए गए अहम बदलाव:

  • हाई-स्पीड और स्लो-मोशन रिकॉर्डिंग: कम से कम कोड का इस्तेमाल करके, हाई-स्पीड (120/240 एफ़पीएस) और स्लो-मोशन वीडियो रिकॉर्डिंग को आसानी से इंटिग्रेट करें. ज़्यादा जानकारी के लिए, Recorder#getHighSpeedVideoCapabilities(CameraInfo) और HighSpeedVideoSessionConfig देखें.
  • SessionConfig और FeatureGroup एपीआई: नए SessionConfig एपीआई की मदद से, कैमरा सेशन को कॉन्फ़िगर किया जा सकता है. साथ ही, एक साथ कई सुविधाएं सुरक्षित तरीके से चालू की जा सकती हैं. इनमें एचएलजी (एचडीआर), अल्ट्रा एचडीआर, 60 FPS, और झलक को स्टैबलाइज़ करने की सुविधा शामिल है. प्राथमिकता के हिसाब से, पसंदीदा सुविधाओं का ग्रुप भी सेट किया जा सकता है. इससे CameraX को, सुविधाओं के सबसे सही कॉम्बिनेशन का पता लगाने में मदद मिलती है. ज़्यादा जानकारी के लिए, SessionConfig.Builder#setPreferredFeatureGroup, SessionConfig.Builder#setRequiredFeatureGroup, और CameraInfo#isFeatureGroupSupported(SessionConfig) देखें.
  • डिटरमिनिस्टिक फ़्रेम रेट एपीआई: setTargetFrameRate की पिछली सीमाओं को दूर करने के लिए, CameraInfo.getSupportedFrameRateRanges(sessionConfig) का इस्तेमाल करके क्वेरी करें और SessionConfig.setExpectedFrameRateRange का इस्तेमाल करके, सटीक और काम करने वाले फ़्रेम रेट सेट करें.
  • कैमरा एक्सटेंशन: UltraHDR फ़ॉर्मैट अब एक्सटेंशन के साथ काम करता है. ImageCapture.getImageCaptureCapabilities(cameraInfo).getSupportedOutputFormats() देखें और इसे ImageCapture.Builder.setOutputFormat में चालू करें. एक्सटेंशन चालू होने पर, अब ज़ूम रेशियो और झलक को स्टेबलाइज़ करने की सुविधाएं दिखती हैं.
  • टॉर्च की रोशनी: CameraControl.setTorchStrengthLevel का इस्तेमाल करके, टॉर्च की रोशनी को अडजस्ट करें.
  • कम रोशनी में बेहतर फ़ोटो लेने का मोड: कम रोशनी में बेहतर फ़ोटो लेने का मोड(CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY) चालू करने के लिए, इन एपीआई का इस्तेमाल करें: CameraInfo#isLowLightBoostSupported, CameraInfo#getLowLightBoostState, और CameraControl#enableLowLightBoostAsync देखें.
  • वीडियो कैप्चर: रिकॉर्डिंग के दौरान स्टोरेज कम होने पर, अब VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE ट्रिगर होता है. PendingRecording.withAudioEnabled(boolean initialMuted), ऑडियो रिकॉर्डिंग के लिए शुरुआती म्यूट स्थिति को कंट्रोल करने की अनुमति देता है.
  • इमेज कैप्चर करने की सुविधा: ImageCapture में DNG (RAW) और JPEG + DNG (RAW) फ़ॉर्मैट के लिए सहायता. देखें कि ImageCaptureCapabilities(CameraInfo).getSupportedOutputFormats() में RAW फ़ॉर्मैट में फ़ोटो सेव करने की सुविधा है या नहीं. RAW+DNG कैप्चर के लिए, कई OutputFileOptions के साथ ओवरलोड किए गए takePicture एपीआई का इस्तेमाल करें.
  • इमेज का विश्लेषण: ImageAnalysis में NV21 फ़ॉर्मैट के लिए सहायता. ImageAnalysis.Builder.setOutputImageFormat(OUTPUT_IMAGE_FORMAT_NV21) की मदद से इसे चालू करें.

वर्शन 1.5.0-rc01

13 अगस्त, 2025

androidx.camera:camera-*:1.5.0-rc01 रिलीज़ हो गया है. वर्शन 1.5.0-rc01 में ये कमिट शामिल हैं.

गड़बड़ियां ठीक की गईं

  • डिफ़ॉल्ट minSdk को एपीआई 21 से एपीआई 23 पर ले जाया गया (Ibdfca, b/380448311, b/435705964, b/435705223)
  • कम रोशनी में बेहतर फ़ोटो खींचने की सुविधा के लिए, ऑटो-एक्सपोज़र मोड में 10-बिट आउटपुट की पाबंदी हटा दी गई है. ऐप्लिकेशन अब उन डिवाइसों पर दोनों सुविधाएं एक साथ चालू कर सकते हैं जिन पर ये सुविधाएं काम करती हैं. (I5a638)
  • उस समस्या को ठीक किया गया है जिसकी वजह से UniSoc चिपसेट वाले डिवाइसों से इमेज कैप्चर करते समय, डिवाइस हैंग हो जाते थे. यह समस्या तब हुई, जब VideoCapture, Preview, और ImageCapture का इस्तेमाल एक साथ किया गया और सभी स्ट्रीम का रिज़ॉल्यूशन 1280x720 पर सेट किया गया. (Ia00c4, b/380802479)
  • तेज़ रफ़्तार/धीमी रफ़्तार वाली रिकॉर्डिंग के लिए, तेज़ रफ़्तार वाला फ़्रेम रेट सेट न होने पर, काली स्क्रीन दिखने की समस्या को ठीक किया गया. (cdf0ff2e9)
  • getViewportAspectRatioInt में गड़बड़ी को मैनेज करने और लॉग इन करने की सुविधा को बेहतर बनाया गया (82fca18)

वर्शन 1.5.0-beta02

16 जुलाई, 2025

androidx.camera:camera-*:1.5.0-beta02 रिलीज़ हो गया है. वर्शन 1.5.0-beta02 में ये कमिट शामिल हैं.

एपीआई में बदलाव

  • अच्छी क्वालिटी वाली सुविधाओं के ग्रुप को ज़्यादा सटीक और आसान तरीके से सेट करने या क्वेरी करने के लिए, नए एपीआई जोड़े गए हैं. ऐसा इसलिए किया गया है, क्योंकि हो सकता है कि ये सुविधाएं सभी डिवाइसों पर एक साथ काम न करें. SessionConfig में अब नए एपीआई शामिल हैं. इनकी मदद से, सुविधाओं के किसी ग्रुप को ज़रूरी या पसंदीदा के तौर पर दिखाया जा सकता है. CameraInfo.isFeatureGroupSupported एपीआई की मदद से, SessionConfig को बाइंड करने से पहले यह पता लगाया जा सकता है कि सुविधाओं का कोई ग्रुप काम करता है या नहीं. SessionConfig, सेशन कॉन्फ़िगरेशन बाउंड होने पर, यह जानने के लिए लिसनर सेट करने की सुविधा भी देता है कि कौनसी सुविधाएं चुनी गई हैं. (Ie4d60)
  • नए एपीआई SessoinConfig.Builder.setFrameRateRange(Range<Integer>) और CameraInfo.getSupportedFrameRateRanges(SessionConfig) जोड़े गए हैं. इनकी मदद से, डेवलपर किसी खास SessionConfig के हिसाब से, गारंटी के साथ काम करने वाले फ़्रेम रेट के बारे में क्वेरी कर सकते हैं. इसके बाद, वे SessionConfig पर फ़्रेम रेट लागू कर सकते हैं. (Ieacf7)
  • नया SessionConfig एपीआई लॉन्च किया गया. इसमें इस्तेमाल के उदाहरणों, सेशन पैरामीटर, CameraEffect, ViewPort वगैरह को कॉन्फ़िगर करने के लिए, बेहतर एब्स्ट्रैक्शन शामिल है. SessionConfig को LifecycleOwner से बाइंड करने पर, कैमरा सेशन खुलता है. साथ ही, इस्तेमाल के उदाहरणों और सेशन पैरामीटर का इस्तेमाल करके, इसे कॉन्फ़िगर किया जाता है. इसके बाद, तय किए गए CameraEffect और ViewPort को लागू किया जाता है. किसी नए SessionConfig को उसी LifecycleOwner पर अपडेट करते समय, नए Sessionconfig को बाइंड किया जा सकता है. इसके लिए, पहले अनबाइंड या unbindAll को शुरू करने की ज़रूरत नहीं है. (Iedfc3)
  • हाई-स्पीड/स्लो-मोशन वीडियो रिकॉर्ड करने के लिए, नए एपीआई जोड़े गए. ज़्यादा जानकारी के लिए, HighSpeedVideoSessionConfig एपीआई देखें. (Ia16f3)

गड़बड़ियां ठीक की गईं

  • ImageCaptureCapabilities#getSupportedOutputFormats() एपीआई को ठीक किया गया. यह कुछ ऐसे डिवाइसों में RAW फ़ॉर्मैट को काम करने वाले फ़ॉर्मैट के तौर पर दिखाता था जिनमें असल में RAW फ़ॉर्मैट काम नहीं करता. (Ibcadb)
  • PreviewView का इस्तेमाल करने, CameraEffect को चालू करने या इस्तेमाल के चार उदाहरणों(StreamSharing) को बाइंड करने पर होने वाली मेमोरी लीक की समस्या को ठीक किया गया (I87468)
  • AssertionError की वजह से वीडियो रिकॉर्डिंग क्रैश होने की समस्या को ठीक किया गया: इंटरनल ऑडियो की स्थिति अमान्य है: IDLING. (I38d4b, b/414259796)
  • उस समस्या को ठीक किया गया है जिसमें ऐप्लिकेशन के बाहरी डिसप्ले में चलने और डिवाइस के लैंडस्केप मोड में होने पर, PreviewView में झलक स्ट्रेच हो जाती थी या साइडवेज़ हो जाती थी (Ia917a)
  • उस समस्या को ठीक किया गया है जिसकी वजह से, कैमरे से किसी और डिवाइस पर स्ट्रीम किए गए वीडियो को Preview और VideoCapture के बीच शेयर करने पर, झलक को स्टेबल करने की सेटिंग सही तरीके से लागू नहीं होती थीं.(I5430e)
  • CameraXViewfinder अब Viewfinder में, सरफ़ेस को बदलने की प्रोसेस को सही तरीके से मैनेज करता है. इसमें ऐसी स्थितियां शामिल हैं, जैसे कि जब एपीआई लेवल 28 या इससे पहले के वर्शन पर मौजूद EXTERNAL व्यूफ़ाइंडर, स्क्रीन से हट जाता है या अगर कोई CameraXViewfinder (किसी भी ImplementationMode के साथ) moveableContentOf() का हिस्सा है. ऐसे मामलों में जहां मौजूदा ViewfinderSurfaceSession को चालू नहीं रखा जा सकता, CameraXViewfinder मौजूदा CameraX SurfaceRequest को अमान्य कर देगा. इससे CameraX को नए Surface का इस्तेमाल करने की अनुमति मिल जाएगी. (I79432)
  • Android 10/11 पर आने वाली उस समस्या को ठीक किया गया है जिसमें EXTERNAL CameraXViewfinder, स्ट्रेच किया हुआ या गलत दिख सकता था. ऐसा, ट्रांसफ़ॉर्मेशन ऑपरेशन (जैसे, स्केल या ट्रांसलेट) को बहुत जल्दी लागू करने की वजह से होता था. सिस्टम अब लेआउट फ़ेज़ में इन ट्रांसफ़ॉर्मेशन को लागू करने से पहले, Surface के बनने का इंतज़ार करता है. इससे सही आउटपुट मिलता है. (Icc77c)
  • Composable CameraXViewfinder अब Compose के Pager के साथ सही तरीके से काम करता है. इस बदलाव से यह पक्का होता है कि कंपोज़ेबल को सही तरीके से रीसेट किया जा सकता है. इसके लिए, AndroidView के onReset कॉलबैक को लागू किया जाता है. इससे EMBEDDED और EXTERNAL, दोनों को लागू करने में मदद मिलती है. (I0d9be)
  • लाइफ़साइकल के मालिक से जुड़े लीक की समस्या को ठीक किया गया. यह समस्या तब होती है, जब कैमरा प्रोवाइडर को बंद किए बिना, लाइफ़साइकल के मालिक से इस्तेमाल के उदाहरणों को अनबाइंड किया जाता है.

वर्शन 1.5.0-beta01

7 मई, 2025

androidx.camera:camera-*:1.5.0-beta01 रिलीज़ हो गया है. वर्शन 1.5.0-beta01 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट इस्तेमाल करने के लिए, KGP 2.0.0 या इसके बाद का वर्शन ज़रूरी है (Idb6b5)
  • ContentScale और अलाइनमेंट का इस्तेमाल अब व्यूफ़ाइंडर में किया जा सकता है. इससे, दिखाए गए प्लैटफ़ॉर्म को उसके कंटेनर में स्केल किया जा सकता है और रखा जा सकता है. यह androidx.compose.foundation.Image की तरह ही काम करता है. (Ibcea3)
  • TransformationInfo में अब सभी आर्ग्युमेंट के लिए डिफ़ॉल्ट वैल्यू मौजूद हैं. इससे बिना किसी TransformationInfo के व्यूफ़ाइंडर बनाए जा सकेंगे. ये डिफ़ॉल्ट रूप से, सोर्स रोटेशन 0 पर सेट होंगे. साथ ही, इनमें सोर्स मिररिंग और क्रॉप रेक्ट नहीं होगा. (I2b1b2)
  • LifecycleCameraProvider को जोड़ा गया. यह कैमरा उपलब्ध कराने वाली सेवा है. इसे अलग-अलग कॉन्फ़िगरेशन के साथ इंस्टैंशिएट किया जा सकता है. इससे, पसंद के मुताबिक कॉन्टेक्स्ट के साथ कॉन्फ़िगर करके, वर्चुअल डिवाइस के कैमरे को ऐक्सेस करने जैसी सुविधाएं मिलती हैं. (Ia2992)

गड़बड़ियां ठीक की गईं

  • Samsung SM-E556B डिवाइस पर, ImageAnalysis के साथ TEMPLATE_RECORD का इस्तेमाल करने वाली किसी दूसरी स्ट्रीम का इस्तेमाल करने पर, झलक फ़्रीज़ होने की समस्या को ठीक किया गया. (Ic0e62, b/409478042)
  • Samsung SM-M556B डिवाइस पर, ImageAnalysis के साथ TEMPLATE_RECORD का इस्तेमाल करने वाली किसी दूसरी स्ट्रीम का इस्तेमाल करने पर, झलक फ़्रीज़ होने की समस्या को ठीक किया गया. (Ic1a6a, b/395822788)
  • Android 15 वाले Pixel डिवाइसों पर, ज़ूम करने से जुड़ी कार्रवाइयां करते समय, एक्सटेंशन के नाइट मोड AssertError से जुड़ी समस्या को ठीक किया गया. (I27a5d, b/401460276)
  • CameraController का इस्तेमाल करते समय, एमएल किट ऐनलाइज़र के बाउंडिंग बॉक्स के गलत निर्देशांकों की समस्या को ठीक किया गया. (Iae91b, b/409808510)

वर्शन 1.5.0-alpha06

26 फ़रवरी, 2025

androidx.camera:camera-*:1.5.0-alpha06 रिलीज़ हो गया है. वर्शन 1.5.0-alpha06 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • CameraInfo.getTorchStrengthLevel, CameraInfo.getMaxTorchStrengthLevel, और CameraControl.setTorchStrengthLevel को जोड़ा गया, ताकि टॉर्च की रोशनी को पसंद के मुताबिक सेट किया जा सके (I00878)
  • एक नया एपीआई CameraController#setTapToFocusAutoCancelDuration जोड़ा गया है, ताकि उपयोगकर्ता PreviewView टैप-टू-फ़ोकस इवेंट के लिए, अपने-आप रद्द होने की सुविधा को कंट्रोल कर सकें. डिफ़ॉल्ट रूप से, CameraX पांच सेकंड के बाद फ़ोकस इवेंट रद्द कर देता है.इसका मतलब है कि कैमरे का फ़ोकस रीसेट हो जाता है. यह एपीआई, उस अवधि में बदलाव करने या अपने-आप रद्द होने की सुविधा को पूरी तरह से बंद करने की अनुमति देता है. (Icf59a)
  • FLASH_STATE_READY का नाम बदलकर NOT_FIRED कर दिया गया है. साथ ही, अन्य FlashState कॉन्सटेंट के नाम आसान कर दिए गए हैं, ताकि उन्हें आसानी से पढ़ा जा सके. (I8771d)
  • कम रोशनी में बूस्ट करने की सुविधा देने वाला एपीआई एक्सपोज़ किया गया. Android 15 या इसके बाद के वर्शन वाले डिवाइसों पर, कम रोशनी में बेहतर फ़ोटो लेने की सुविधा उपलब्ध हो सकती है. यह सुविधा, कम रोशनी में झलक, वीडियो या इमेज के विश्लेषण की स्ट्रीम की चमक को अपने-आप अडजस्ट कर सकती है. ऐप्लिकेशन, नए एपीआई का इस्तेमाल करके ये काम कर सकते हैं: 1. यह देखने के लिए कि सुविधा उपलब्ध है या नहीं, CameraInfo#isLowLightBoostSupported का इस्तेमाल करें. 2. अगर डिवाइसों पर यह मोड काम करता है, तो इसे चालू करने के लिए CameraControl#enableLowLightBoostAsync का इस्तेमाल करें. 3. कम रोशनी में बेहतर फ़ोटो लेने की सुविधा की स्थिति पर नज़र रखने के लिए, CameraInfo#getLowLightBoostState का इस्तेमाल करें. (I937ed)
  • कंपैट क्लास जोड़ें, ताकि camera-feature-combination-query में non-camera2 क्वेरी को तेज़ी से प्रोसेस किया जा सके. (Ie97ee)
  • CameraController टैप-टू-फ़ोकस इवेंट के लिए, नया एपीआई getTapToFocusInfoState() अब टैप की गई जगह की जानकारी भी दिखाता है. इसके लिए, वह TapToFocusInfo क्लास का LiveData दिखाता है. वहीं, getTapToFocusState() दिखाने वाला पुराना LiveData<Integer> एपीआई अब काम नहीं करता. इसकी जगह, नए एपीआई का इस्तेमाल किया जा रहा है. (I238d2)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसकी वजह से एक्सटेंशन के साथ झलक को स्टैबलाइज़ करने की सुविधा चालू होने पर, झलक को स्टैबलाइज़ करने की सुविधा लागू नहीं होती थी. (I24ad7)
  • CameraController फ़ोकस स्टेट इवेंट के TAP_TO_FOCUS_NOT_STARTED पर रीसेट न होने की समस्या को ठीक किया गया. ऐसा तब होता है, जब CameraX किसी फ़ोकस इवेंट को अपने-आप रद्द कर देता है. डिफ़ॉल्ट रूप से, ऐसा पांच सेकंड के बाद होता है. (I31954)
  • कई फ़ोटो कैप्चर करने के बाद, ज़ीरो शटर लैग (ज़ेडएसएल) का इस्तेमाल करने पर, झलक फ़्रीज़ होने की समस्या को ठीक किया गया. ऐसा, इमेज के रिसॉर्स रिलीज़ न होने की वजह से होता था. (Ic3c2a)
  • कुछ डिवाइसों पर यूएचडी वीडियो में लाल रंग दिखने की समस्या को ठीक किया गया. ऐसा तब होता था, जब पाइपलाइन में OpenGL शामिल होता था. (Idcedc)

वर्शन 1.5.0-alpha05

15 जनवरी, 2025

androidx.camera:camera-*:1.5.0-alpha05 रिलीज़ हो गया है. वर्शन 1.5.0-alpha05 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • QualitySelector के आधार पर चुनी गई क्वालिटी जानने के लिए, VideoCapture.getSelectedQuality() जोड़ें. (I70508, b/204288986)
  • जब ImageCapture.OnImageCapturedCallback एपीआई की मदद से इमेज कैप्चर की जाती है, तो दिखाए गए ImageProxy पर मौजूद ImageInfo का इस्तेमाल करके, अब यह पता लगाया जा सकता है कि नए ImageInfo.getFlashState() एपीआई की मदद से फ़्लैश का इस्तेमाल किया गया था या नहीं. (Id2c61, b/380527406)
  • ImageAnalysis के लिए, OUTPUT_IMAGE_FORMAT_NV21 आउटपुट फ़ॉर्मैट की सुविधा जोड़ी गई. (I484ab)
  • featurecombinationquery आर्टफ़ैक्ट (I4427f) से एक्सपेरिमेंटल एनोटेशन हटाएं
  • एक्सटेंशन मोड चालू होने पर, एक्सटेंशन की खास विशेषताओं के हिसाब से, CameraControl के लिए अनुमति दी गई ज़ूम रेशियो रेंज में बदलाव करें. (I85af1)

गड़बड़ियां ठीक की गईं

  • Android 15 से जुड़े एपीआई का इस्तेमाल करने के लिए, compileSdk को 35 पर अपग्रेड किया गया. CameraX लाइब्रेरी का इस्तेमाल करने वाले ऐप्लिकेशन को भी अपनी compileSdk कॉन्फ़िगरेशन सेटिंग को अपग्रेड करना होगा. (Ic80cd)
  • यह लाइब्रेरी अब JSpecify nullness annotations का इस्तेमाल करती है. ये टाइप-यूज़ एनोटेशन हैं. Kotlin डेवलपर को सही इस्तेमाल लागू करने के लिए, इस कंपाइलर आर्ग्युमेंट का इस्तेमाल करना चाहिए: -Xjspecify-annotations=strict (यह Kotlin कंपाइलर के वर्शन 2.1.0 से डिफ़ॉल्ट रूप से लागू होता है). (Idc6c6, b/326456246)

वर्शन 1.5.0-alpha04

11 दिसंबर, 2024

androidx.camera:camera-*:1.5.0-alpha04 रिलीज़ हो गया है. वर्शन 1.5.0-alpha04 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • ImageCapture.Builder#setOutputFormat और ImageCaptureCapabilities#getSupportedOutputFormats को स्टेबल एपीआई के तौर पर एक्सपोज़ किया गया (Ieb04a)
  • जब कोई VideoCapture किसी लाइफ़साइकल से जुड़ा हो, तो रिज़ॉल्यूशन की जानकारी पाने के लिए VideoCapture.getResolutionInfo() जोड़ें. (Icb478)
  • PreviewView.getScreenFlash और PreviewView.setScreenFlashOverlayColor को स्टेबल एपीआई के तौर पर एक्सपोज़ किया गया. (I74fee)

गड़बड़ियां ठीक की गईं

  • Vivo 1610 डिवाइस पर, अंधेरे में फ़्लैश के साथ फ़ोटो खींचने के दौरान, फ़ोटो कैप्चर न होने की समस्या को ठीक किया गया. (I366f4)
  • Redmi Note 6 Pro में, इमेज कैप्चर करने के बाद टॉर्च के अचानक बंद होने की समस्या को ठीक किया गया. (I2e0e8, b/377144569)
  • Android 15 वाले Pixel डिवाइसों पर, एक्सटेंशन में नाइट मोड से जुड़ी समस्या को ठीक किया गया है. इस समस्या की वजह से, कैमरे के आस-पास मौजूद किसी ऑब्जेक्ट पर फ़ोकस करने तक, स्टिल इमेज कैप्चर नहीं हो पाती थीं. (I228d4)
  • एक्सटेंशन चालू होने और VideoCapture के एक साथ बाउंड होने पर, स्टिल इमेज कैप्चर करने में आने वाली गड़बड़ी को ठीक किया गया. (I5c745)
  • अगर डिवाइस पर यह सुविधा काम करती है, तो एक्सटेंशन के लिए UltraHDR स्टिल इमेज कैप्चर करने की सुविधा चालू की गई है. (I48300)
  • TCL डिवाइसों पर, CameraEffect को टारगेट करने वाले इमेज कैप्चर के लिए, फ़्लैश कैप्चर की फ़्लैश टाइमिंग से जुड़ी समस्या को ठीक किया गया. (I7698c)

वर्शन 1.5.0-alpha03

30 अक्टूबर, 2024

androidx.camera:camera-*:1.5.0-alpha03 रिलीज़ हो गया है. वर्शन 1.5.0-alpha03 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • RAW और RAW + JPEG ImageCapture के लिए आउटपुट फ़ॉर्मैट एपीआई जोड़ें. डिवाइस की क्षमता की जांच ImageCaptureCapabilities#getSupportedOutputFormats में की जाती है. OUTPUT_FORMAT_RAW का इस्तेमाल, RAW इमेज कैप्चर करने के लिए किया जाता है. यह Adobe DNG फ़ॉर्मैट होता है. वहीं, OUTPUT_FORMAT_RAW_JPEG का इस्तेमाल, RAW और JPEG इमेज को एक साथ कैप्चर करने के लिए किया जाता है. एक साथ इमेज कैप्चर करने के लिए, नए ImageCapture#takePicture एपीआई का इस्तेमाल किया जाता है. इसके लिए, दो OutputFileOptions देने होंगे. पहला, RAW इमेज के लिए और दूसरा, JPEG इमेज के लिए. (Ib0f3d)

गड़बड़ियां ठीक की गईं

  • VideoCapture चालू होने पर, TCL डिवाइसों पर झलक और वीडियो के अंडर-एक्सपोज़र की समस्या को ठीक किया गया. (Id7a64)
  • उस समस्या को ठीक किया गया है जिसमें PreviewView.getMeteringPointFactory के साथ startFocusMetering को शुरू करने पर, सेंसर के सही निर्देशांक नहीं मिलते थे. ऐसा तब होता था, जब कोई इफ़ेक्ट चालू हो या इस्तेमाल के चार उदाहरण बाउंड (स्ट्रीम-शेयरिंग) हों. (I916c5, b/345993685)
  • वीडियो रिकॉर्ड करते समय, स्टोरेज में ज़रूरत के मुताबिक जगह न होने पर, VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE इवेंट ट्रिगर न होने की समस्या को ठीक किया गया. (I35779, b/356399842)

वर्शन 1.5.0-alpha02

2 अक्टूबर, 2024

androidx.camera:camera-*:1.5.0-alpha02 रिलीज़ हो गया है. वर्शन 1.5.0-alpha02 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • डिवाइस पर काम करने वाली कैमरे की सुविधाओं के बारे में क्वेरी करने के लिए नए एपीआई. उदाहरण के लिए, यह देखना कि एचडीआर और 60 एफ़पीएस को एक साथ चालू किया जा सकता है या नहीं. इसमें दो आर्टफ़ैक्ट शामिल हैं: camera-feature-combination-query और camera-feature-combination-query-play-services. यह camera2 के CameraManager#getCameraDeviceSetup#isSessionConfigurationSupported एपीआई के साथ काम करने वाला वर्शन है. इसमें Google Play services से मिला अतिरिक्त डेटा शामिल है.

गड़बड़ियां ठीक की गईं

  • LEGACY लेवल वाले डिवाइसों पर, Preview/VideoCapture टारगेट फ़्रेम रेट से जुड़ी समस्या को ठीक किया गया. setTargetFrameRate या Camera2Interop एपीआई की मदद से सेट किए गए टारगेट फ़्रेम रेट को, AeFpsRangeLegacyQuirk से मिली वैल्यू से हमेशा ओवरराइट कर दिया जाता था. इस समस्या को ठीक करने के बाद, CameraX लाइब्रेरी, setTargetFrameRate या Camera2Interop एपीआई के ज़रिए सेट की गई वैल्यू का पालन करेगी. (Ie2d32)
  • CameraEffect की मदद से इमेज कैप्चर करने के लिए, फ़्लैश/टॉर्च/3A की सुविधाएं जोड़ी गईं. CameraEffect के साथ कैप्चर की गई इमेज में, अब कैप्चर करने से पहले और बाद की प्रोसेसिंग (जैसे, फ़्लैश ट्रिगर, 3A कन्वर्जेंस वगैरह, जहां लागू हो) वैसी ही होनी चाहिए जैसी बिना CameraEffect के कैप्चर की गई इमेज में होती है. (I5ff30)
  • Samsung SM-A057G डिवाइस पर, ImageAnalysis के लिए आउटपुट के उन साइज़ को हटा दिया गया है जिनकी वजह से समस्या आ रही थी. जब ImageAnalysis, 1920x1440 या इससे ज़्यादा रिज़ॉल्यूशन का इस्तेमाल करता है, तो झलक काली दिखने की समस्या आती है. इस समस्या से बचने के लिए, SM-A057G डिवाइस पर ExcludedSupportedSizesQuirk लागू किया गया. (I63dfe, b/365877975)
  • Preview/VideoCapture के टारगेट फ़्रेम रेट से जुड़ी समस्या को ठीक किया गया. यह समस्या तब आती थी, जब Preview और VideoCapture पर स्ट्रीम शेयर करने के लिए, स्ट्रीम शेयर करने का इंटरनल तरीका चालू किया जाता था. (I4fdac)
  • Samsung S10e और S10+ डिवाइसों पर, JPEG इमेज के गलत मेटाडेटा की समस्या को ठीक करने के लिए, वर्कअराउंड को चालू किया गया. इस समस्या को ठीक करने के बाद, CameraX, JPEG इमेज को सेव कर सकता है. इसके अलावा, अगर इन डिवाइसों पर JPEG इमेज के मेटाडेटा में गड़बड़ी होती है, तो ImageProxy.toBitmap() फ़ंक्शन को कॉल करने पर, सही बिटमैप ऑब्जेक्ट दिखाए जा सकते हैं. (Iae493, b/356428987)
  • Samsung A52s के बैक कैमरे के लिए एक्सटेंशन बंद कर दिए गए हैं. इस कैमरे का आईडी 0 है. ऐसा इसलिए किया गया है, क्योंकि एचडीआर इमेज कैप्चर करते समय नेटिव क्रैश हो सकते हैं. साथ ही, बोकेह या चेहरे की फ़ोटो क्वालिटी में सुधार करने वाले मोड के लिए, कैप्चर सेशन कॉन्फ़िगर करने में समस्या आ सकती है. (I03ec9, b/364152642)
  • वीडियो रिकॉर्ड करते समय, स्टोरेज में ज़रूरत के मुताबिक जगह न होने पर, VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE इवेंट ट्रिगर न होने की समस्या को ठीक किया गया. (Ia5b4f, b/356399842)
  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से Oppo A5 (CPH1931) पर, दूसरी बार वीडियो रिकॉर्ड करने की कोशिश करने पर गड़बड़ी होती थी. (I181d6)

वर्शन 1.5.0-alpha01

4 सितंबर, 2024

androidx.camera:camera-*:1.5.0-alpha01 रिलीज़ हो गया है. वर्शन 1.5.0-alpha01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • CameraX Viewfinder Compose Adapter के लिए, एक नया आर्टफ़ैक्ट camera-compose रिलीज़ किया गया है. यह camera-core से CameraX SurfaceRequest की झलक दिखाता है. (I8666e)
  • एक नया कंपोज़ेबल, CameraXViewfinder जोड़ा गया है. यह एक मुहावरेदार कंपोज़ेबल के तौर पर काम करता है. यह कंपोज़ेबल Viewfinder के लिए, CameraX SurfaceRequests को अडैप्ट करता है. (I4770f)

एपीआई में बदलाव

  • एक साथ दो कैमरों से वीडियो कैप्चर करने के लिए, कंपोज़िशन सेटिंग सेट करने के लिए एपीआई उपलब्ध कराना. सेटिंग में, ब्लेंडिंग के लिए ऐल्फ़ा वैल्यू, x, y कोऑर्डिनेट में ऑफ़सेट, कैमरा फ़्रेम डिसप्ले विंडो की चौड़ाई और ऊंचाई का स्केल शामिल होता है. ऑफ़सेट, चौड़ाई, और ऊंचाई को नॉर्मलाइज़ किए गए डिवाइस कोऑर्डिनेट में बताया जाता है. (Ia2b8a)
  • CameraProvider.getCameraInfo को एक फ़ॉर्मल एपीआई के तौर पर एक्सपोज़ किया गया. (I901cd)
  • शुरुआती म्यूट स्टेट को कंट्रोल करने के लिए, एपीआई PendingRecording.withAudioEnabled(boolean initialMuted) जोड़ा गया. (I635c3, b/354829267)

गड़बड़ियां ठीक की गईं

  • उस क्रैश को ठीक किया गया जो bindToLifecycle को नष्ट किए गए LifecycleOwner के साथ शुरू करने पर होता था. (I6e6d8)
  • Motorola Edge 20 Fusion पर VideoCapture के साथ बाइंड करते समय, फ़्रंट कैमरे में ब्लैक स्क्रीन दिखने की समस्या को ठीक किया गया. (I1fe88)
  • PreviewView में ज़ूम जेस्चर का पता लगाने के लिए, कॉन्फ़िगरेशन को ऑप्टिमाइज़ किया गया है, ताकि यह बेहतर तरीके से काम कर सके. (I04ffc)

कैमरे का वर्शन 1.4

वर्शन 1.4.2

26 मार्च, 2025

androidx.camera:camera-*:1.4.2 रिलीज़ हो गया है. वर्शन 1.4.2 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Samsung Galaxy M55 पर, ImageAnalysis के साथ TEMPLATE_RECORD का इस्तेमाल करने वाली किसी दूसरी स्ट्रीम का इस्तेमाल करने पर, झलक फ़्रीज़ होने की समस्या को ठीक किया गया. (Ic1a6a, b/395822788)

वर्शन 1.4.1

11 दिसंबर, 2024

androidx.camera:camera-*:1.4.1 रिलीज़ हो गया है. वर्शन 1.4.1 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Android 15 वाले Pixel डिवाइसों पर, एक्सटेंशन में नाइट मोड से जुड़ी समस्या को ठीक किया गया है. इस समस्या की वजह से, कैमरे के आस-पास मौजूद किसी ऑब्जेक्ट पर फ़ोकस करने तक, स्टिल इमेज कैप्चर नहीं हो पाती थीं. (I228d4)
  • एक्सटेंशन चालू होने और VideoCapture को एक साथ बाउंड करने पर, ImageCapture#takePicture के ठीक से काम न करने की समस्या को ठीक किया गया. (I5c745)

वर्शन 1.4.0

30 अक्टूबर, 2024

androidx.camera:camera-*:1.4.0 रिलीज़ हो गया है. वर्शन 1.4.0 में ये बदलाव शामिल हैं.

1.3.0 के बाद किए गए अहम बदलाव

CameraX 1.4.0 में कई शानदार अपडेट शामिल हैं! यहां इन अपडेट की खास जानकारी दी गई है:

मुख्य सुविधा: 10-बिट एचडीआर:

  • आसानी से शानदार एचडीआर फ़ोटो और वीडियो कैप्चर करें.
  • यह एचएलजी और 10-बिट HEVC एन्कोडिंग के साथ काम करता है.
  • 10-बिट एचडीआर की झलक देखें और डिवाइस की क्षमताओं के बारे में क्वेरी करें.
  • यह सुविधा, UltraHDR इमेज और एचडीआर वीडियो के साथ काम करती है. साथ ही, यह सुविधा अब ज़्यादा से ज़्यादा डिवाइसों पर उपलब्ध है.

अन्य शानदार सुविधाएं:

  • Kotlin एक्सटेंशन: takePicture और awaitInstance सस्पेंड फ़ंक्शन जोड़े गए.
  • रीयल-टाइम इफ़ेक्ट: वॉटरमार्क और ऑब्जेक्ट को हाइलाइट करने जैसे इफ़ेक्ट लागू करें.
  • CameraController API: वीडियो कैप्चर करने के कॉन्फ़िगरेशन के लिए नए कंट्रोल.
  • झलक को स्टैबलाइज़ करना: डिवाइस की क्षमता के बारे में क्वेरी करना और स्टैबलाइज़ेशन की सुविधा चालू करना.
  • वीडियो कैप्चर करने की सुविधा में सुधार: क्वालिटी पर बेहतर कंट्रोल और ज़्यादा रिज़ॉल्यूशन का ऐक्सेस.
  • CameraX एक्सटेंशन इंटिग्रेशन: VideoCapture और नई ImageCapture सुविधाओं के साथ आसान इंटिग्रेशन.
  • Shutter Sound API: इससे, शटर साउंड से जुड़ी क्षेत्रीय ज़रूरी शर्तों को आसानी से देखा जा सकता है.
  • स्क्रीन का फ़्लैश: कम रोशनी में सामने वाले कैमरे से बेहतर फ़ोटो लेने की सुविधा.
  • Camera Extensions Metadata API: ये एपीआई, एक्सटेंशन की क्षमता में बदलाव करने और ExtensionMode#AUTO में मौजूदा एक्सटेंशन मोड की सूचना पाने में मदद करते हैं. गड़बड़ियां ठीक करने से जुड़ी ज़्यादा जानकारी, बीटा और आरसी की सूचनाओं में देखी जा सकती है.

वर्शन 1.4.0-rc04

16 अक्टूबर, 2024

androidx.camera:camera-*:1.4.0-rc04 रिलीज़ हो गया है. वर्शन 1.4.0-rc04 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसमें PreviewView.getMeteringPointFactory के साथ startFocusMetering को शुरू करने पर, सेंसर के सही निर्देशांक नहीं मिलते थे. ऐसा तब होता था, जब कोई इफ़ेक्ट चालू हो या इस्तेमाल के चार उदाहरण बाउंड (स्ट्रीम-शेयरिंग) हों. (I916c5, b/345993685)

वर्शन 1.4.0-rc03

2 अक्टूबर, 2024

androidx.camera:camera-*:1.4.0-rc03 रिलीज़ हो गया है. वर्शन 1.4.0-rc03 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • CameraEffect की मदद से इमेज कैप्चर करने के लिए, फ़्लैश/टॉर्च/3A की सुविधाएं जोड़ी गईं. CameraEffect के साथ कैप्चर की गई इमेज में, अब कैप्चर करने से पहले और बाद की प्रोसेसिंग वैसी ही होनी चाहिए जैसी CameraEffect के बिना कैप्चर की गई इमेज में होती है. जैसे, फ़्लैश ट्रिगर, 3A कन्वर्जेंस वगैरह. (I5ff30)
  • PreviewView में, पिंच-टू-ज़ूम की सुविधा को बेहतर बनाया गया (I04ffc)
  • अल्ट्रा एचडीआर को 10-बिट आउटपुट की सुविधा से अलग करें. ऐसा इसलिए, क्योंकि अल्ट्रा एचडीआर की सुविधा के लिए, अब डिवाइसों में 10-बिट आउटपुट की सुविधा होना ज़रूरी नहीं है. (I96ff2, I0c3b3)

वर्शन 1.4.0-rc02

18 सितंबर, 2024

androidx.camera:camera-*:1.4.0-rc02 रिलीज़ हो गया है. वर्शन 1.4.0-rc02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • उस क्रैश को ठीक किया गया जो bindToLifecycle को नष्ट किए गए LifecycleOwner के साथ शुरू करने पर होता था. (I6e6d8)
  • ScreenFlash#apply के लिए ScreenFlashView में विज़िबिलिटी ऐनिमेशन जोड़ा गया है. इससे उन गड़बड़ियों को भी ठीक किया जा सकता है जो कुछ समय बाद, एसिंक्रोनस तरीके से ब्राइटनेस में बदलाव होने की वजह से होती हैं. (I37cdb)
  • इस सुविधा के साथ काम करने वाले डिवाइसों पर, फ़्रेमवर्क में ज़ूम करने की सेटिंग को बदलकर, ज़ूम करने की सुविधा को बेहतर बनाया गया है.

वर्शन 1.4.0-rc01

7 अगस्त, 2024

androidx.camera:camera-*:1.4.0-rc01 रिलीज़ हो गया है. वर्शन 1.4.0-rc01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • एक्सपेरिमेंट के तौर पर CameraInfo.getCameraInfo को जोड़ा गया है, ताकि कैमरे को इस्तेमाल के उदाहरणों से जोड़े बिना, कैमरे की खास जानकारी दी जा सके. (I550d1)

एपीआई में बदलाव

  • उन मामलों के लिए PreviewView.getScreenFlash और PreviewView.setScreenFlashOverlayColor एपीआई जोड़े गए हैं जिनमें ScreenFlashView को साफ़ तौर पर नहीं जोड़ा गया है. (I43945)

गड़बड़ियां ठीक की गईं

  • कम रोशनी में फ़्लैश चालू करके इमेज कैप्चर करने पर, एक्सपोज़र और कलर टिंट से जुड़ी समस्याएं ठीक की गईं. इसके लिए, VideoCapture के इस्तेमाल के उदाहरण को बाउंड किया गया. (Ic9814)
  • उस समस्या को ठीक किया गया है जिसमें एक्सटेंशन चालू होने पर, takePicture के अनुरोध में रुकावट आने से नतीजा नहीं मिल पाता था. साथ ही, takePicture का अगला अनुरोध काम नहीं करता था. (Iae78f)
  • एक्सटेंशन चालू होने पर होने वाली मेमोरी लीक की समस्या को ठीक किया गया. (Iab276)
  • Pixel 7/8 और Samsung Galaxy S24 सीरीज़ जैसे डिवाइसों पर, CameraX एक्सटेंशन के ठीक से काम न करने की समस्या को ठीक किया गया. यह समस्या, एजीपी को 8.5.1 पर अपग्रेड करने और काट-छांट की सुविधा चालू करने के बाद सामने आई. यह समस्या, रिलीज़ मोड में Camera2OutputConfigImpl कन्वर्ज़न की समस्या की वजह से हुई. (I99598, b/354824993)

वर्शन 1.4.0-beta02

12 जून, 2024

androidx.camera:camera-*:1.4.0-beta02 रिलीज़ हो गया है. वर्शन 1.4.0-beta02 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • VideoCapture की तरह, झलक देखने के लिए setMirrorMode जोड़ें. एपीआई 33 और इसके बाद के वर्शन के लिए, OutputConfiguration.setMirrorMode की मदद से प्रीव्यू स्ट्रीम के लिए, मिरर मोड को चालू और बंद किया जा सकेगा. हालांकि, पुराने एपीआई के लिए यह सुविधा काम नहीं करेगी. (I821f4)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसकी वजह से Samsung Tab A8 पर ऐप्लिकेशन से फ़ोटो नहीं ली जा सकती थीं. ऐसा तब होता था, जब ImageCapture, Preview + VideoCapture + ImageCapture UseCase कॉम्बिनेशन के तहत 1920x1080 को चुनता था. (I5a463, b/336925549)
  • कैमरा स्विच करने के बाद, लगातार रिकॉर्डिंग करने की सुविधा काम न करने की समस्या को ठीक किया गया. (Icb0a1)

वर्शन 1.4.0-beta01

14 मई, 2024

androidx.camera:camera-*:1.4.0-beta01 रिलीज़ हो गया है. वर्शन 1.4.0-beta01 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • ZoomGestureDetector.ZoomEvent को जोड़ा गया, ताकि ज़ूम जेस्चर की स्थितियों को एनकैप्सुलेट किया जा सके. (I84cdf)

गड़बड़ियां ठीक की गईं

  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, स्टिल कैप्चर और टैप-टू-फ़ोकस, बार-बार होने वाले अनुरोध के एफ़पीएस/स्टेबलाइज़ेशन मोड की वैल्यू का इस्तेमाल नहीं करते. इससे कैप्चर सेशन फिर से बन सकता है और कुछ डिवाइसों में इंतज़ार का समय बढ़ सकता है या झलक फ़्रीज़ हो सकती है. (I7dc0b)
  • कुछ डिवाइसों पर CameraEffect चालू होने पर, हाई रिज़ॉल्यूशन न चुन पाने की गड़बड़ी को ठीक किया गया. (उदाहरण के लिए, Samsung A32 5G पर 4000x3000). (Ie3ed3, b/337336152)
  • झलक के साथ फ़ोटो लेते समय क्रैश होने की समस्या को ठीक किया गया. ImageCapture और VideoCapture(UHD), Pixel 4XL API29 पर बाउंड हैं. (I5b288)
  • वर्चुअल डिवाइसों के साथ काम करना: ProcessCameraProvider में पास किया गया कॉन्टेक्स्ट, डिवाइस आईडी को सुरक्षित रखेगा. इससे वर्चुअल डिवाइस के एनवायरमेंट में फ़ंक्शन काम करता रहेगा. (I5ba48)

वर्शन 1.4.0-alpha05

17 अप्रैल, 2024

androidx.camera:camera-*:1.4.0-alpha05 रिलीज़ हो गया है. वर्शन 1.4.0-alpha05 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • ProcessCameraProvider को Kotlin में बदला गया. (I46d4f)
  • ImageCapture.takePicture सस्पेंड फ़ंक्शन जोड़े गए हैं, ताकि इसे Kotlin के तरीके से कॉल किया जा सके. (I920be)

एपीआई में बदलाव

  • ImageCapture में आउटपुट फ़ॉर्मैट एपीआई जोड़ें. साथ ही, डिवाइस की क्षमता के बारे में क्वेरी करने के लिए, ImageCaptureCapabilities में getSupportedOutputFormats तरीका जोड़ें. आउटपुट फ़ॉर्मैट की डिफ़ॉल्ट वैल्यू OUTPUT_FORMAT_JPEG होती है. यह एसडीआर इमेज को JPEG फ़ॉर्मैट में कैप्चर करती है. जब डिवाइस पर अल्ट्रा एचडीआर की सुविधा काम करती है और आउटपुट फ़ॉर्मैट को OUTPUT_FORMAT_JPEG_ULTRA_HDR पर सेट किया जाता है, तो CameraX, JPEG/R इमेज फ़ॉर्मैट का इस्तेमाल करके अल्ट्रा एचडीआर कंप्रेस की गई इमेज कैप्चर करेगा. यह फ़ॉर्मैट, एसडीआर JPEG फ़ॉर्मैट के साथ पुराने सिस्टम के साथ काम करने की सुविधा देता है. साथ ही, इसमें एचडीआर कॉन्टेंट को रेंडर किया जा सकता है. इसका मतलब है कि पुराने ऐप्लिकेशन या डिवाइसों पर, इमेज सामान्य JPEG के तौर पर दिखती हैं. वहीं, इस फ़ॉर्मैट के साथ पूरी तरह काम करने वाले ऐप्लिकेशन और डिवाइसों पर, इमेज एचडीआर के तौर पर दिखती हैं. (I5de50)
  • फ़िज़िकल कैमरे की जानकारी के बारे में क्वेरी करने के लिए, CameraInfo में PhysicalCameraInfo जोड़ें. साथ ही, CameraSelector में फ़िज़िकल कैमरे का आईडी सेट करने/पाने की सुविधा जोड़ें (Ic5b90)
  • CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED को ImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED से बदलें. कॉन्स्टेंट की वैल्यू में कोई बदलाव नहीं होता. इससे सभी कॉन्सटेंट को एक ही जगह पर इकट्ठा किया जा सकता है. (I890bb)
  • नया RetryPolicy एपीआई, डेवलपर को CameraX को शुरू करने के लिए, फिर से कोशिश करने के तरीके को पसंद के मुताबिक बनाने की सुविधा देता है. (I36dd2)
  • टेस्टिंग में मदद करने के लिए, ImageCaptureLatencyEstimate ऑब्जेक्ट बनाने की सुविधा चालू करें (Iaba99)
  • ImageAnalysis#COORDINATE_SYSTEM_SENSOR जोड़ें. इसका इस्तेमाल करने पर, MlKitAnalyzer कैमरा सेंसर के कोऑर्डिनेट सिस्टम में कोऑर्डिनेट दिखाता है. (I3ec61)
  • एक्सटेंशन के मेटाडेटा का एपीआई सार्वजनिक किया गया. नए CameraExtensionsInfo और CameraExtensionsControl इंटरफ़ेस की मदद से, ऐप्लिकेशन एक्सटेंशन की क्षमता की सेटिंग को मॉनिटर और अडजस्ट कर सकते हैं. ऐप्लिकेशन, नए जोड़े गए ExtensionsManager#getCameraExtensionsInfo() या ExtensionsManager#getCameraExtensionsControl() तरीकों से CameraExtensionsInfo या CameraExtensionsControl इंस्टेंस हासिल कर सकते हैं. (I28e1a)
  • ProcessCameraProvider.awaitInstance को जोड़ा गया, जो ProcessCameraProvider.getInstance का निलंबित वर्शन है (Ib22b9)
  • PreviewView#getSensorToViewTransform() एपीआई जोड़ें. मैट्रिक्स, कैमरा सेंसर के कोऑर्डिनेट से PreviewView के कोऑर्डिनेट में होने वाले ट्रांसफ़ॉर्मेशन को दिखाता है. इसका इस्तेमाल, निर्देशांकों को एक UseCase से दूसरे में बदलने के लिए किया जा सकता है. उदाहरण के लिए, ImageAnalysis में पहचाने गए ऑब्जेक्ट के निर्देशांकों को PreviewView ओवरले में बदलना. (I947ab)
  • camera-viewfinder-core एपीआई को ज़्यादा सामान्य बनाएं, ताकि camera-viewfinder और camera-viewfinder-compose इसका इस्तेमाल कर सकें. (I1e295)
  • ViewfinderSurfaceRequest में getSurface फ़ंक्शन जोड़ें. (I781a0)
  • camera-viewfinder में camera-viewfinder-core का इस्तेमाल करें. साथ ही, ViewfinderSurfaceRequest और CameraViewfinder का इस्तेमाल बंद करें. (I6198c)
  • ZoomGestureDetector को जोड़ा गया है. यह पिंच-टू-ज़ूम गतिविधि के लिए, खास तौर पर कॉन्फ़िगर किए गए स्केलिंग जेस्चर को समझता है. (Ifafbf)

गड़बड़ियां ठीक की गईं

  • ऐनलाइज़र की डिफ़ॉल्ट टारगेट रिज़ॉल्यूशन सेटिंग से जुड़ी, ImageAnalysis के रिज़ॉल्यूशन चुनने की समस्या को ठीक किया गया: टारगेट रिज़ॉल्यूशन को गलती से 640x480 पर सेट किया गया था. भले ही, ऐप्लिकेशन ने ऐनलाइज़र की डिफ़ॉल्ट रिज़ॉल्यूशन सेटिंग को अलग से सेट किया हो. अगर ऐप्लिकेशन में यह समस्या (1.3.0 ~ 1.3.2) आती है और वे नए वर्शन पर अपग्रेड नहीं कर सकते, तो ImageAnalysis UseCase के लिए, पसंदीदा रिज़ॉल्यूशन और मैच होने वाले AspectRatioStrategy के साथ सीधे ResolutionSelector सेट करके, इस समस्या को हल किया जा सकता है. (I81f72, b/330091012)
  • एक समस्या को ठीक किया गया है. इसकी वजह से, मौजूदा अनुरोध पूरा न होने पर, सूची में मौजूद takePicture अनुरोध पूरा नहीं हो पाता था. (Ie0801)
  • Vivo X60 और X60 Pro डिवाइसों पर, अमान्य JPEG डेटा की जांच करने की सुविधा लागू करें. इससे इन डिवाइसों पर, इमेज के सामान्य से ज़्यादा बड़े साइज़ की समस्या को ठीक किया जा सकता है. (I82247, b/288828159)
  • Samsung A24 डिवाइसों पर, JPEG इमेज के गलत मेटाडेटा की समस्या को ठीक किया गया. इस समस्या को ठीक करने के बाद, CameraX, JPEG इमेज को सेव कर सकता है. इसके अलावा, Samsung A24 डिवाइसों पर ImageProxy.toBitmap() फ़ंक्शन को कॉल करने पर, सही बिटमैप ऑब्जेक्ट दिखाए जा सकते हैं. (I8d6eb, b/309005680)
  • अगर कैप्चर की गई इमेज 10 एमबी से बड़ी है, तो सभी Samsung डिवाइसों पर अमान्य JPEG डेटा की जांच लागू करें. इससे Samsung डिवाइसों पर, इमेज के असामान्य रूप से बड़े होने की समस्या ठीक हो सकती है. (Ic2a65, b/288828159)
  • CameraX एक्सटेंशन से ImageAnalysis की सुविधा हटा दी गई है. ऐसा इसलिए, क्योंकि कई ओईएम के एक्सटेंशन, ImageAnalysis के साथ ठीक से काम नहीं करते. इससे, अलग-अलग तरह की समस्याएं आ सकती हैं. (I2d926)

वर्शन 1.4.0-alpha04

24 जनवरी, 2024

androidx.camera:camera-*:1.4.0-alpha04 रिलीज़ हो गया है. वर्शन 1.4.0-alpha04 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • नया आर्टफ़ैक्ट: camera-effects: CameraX के आउटपुट पर रीयल टाइम में इफ़ेक्ट लागू करने के लिए एक लाइब्रेरी. इसमें Preview, VideoCapture, और/या ImageCapture शामिल हैं. इस आर्टफ़ैक्ट में, CameraEffect एपीआई के OpenGL इंप्लिमेंटेशन शामिल हैं. ये इंप्लिमेंटेशन, कैमरे के आउटपुट को बेहतर तरीके से मैनेज करते हैं.
  • OverlayEffect: Android के Canvas API की मदद से ओवरले बनाने के लिए. इससे ऐप्लिकेशन को कैमरे के आउटपुट पर वॉटरमार्क लगाने या पहचाने गए ऑब्जेक्ट को हाइलाइट करने की अनुमति मिलती है.
  • DynamicRange झलक दिखाने के लिए एपीआई: अब झलक दिखाने के लिए डाइनैमिक रेंज सेट की जा सकती है. इसके लिए, वीडियो रिकॉर्ड करने की सुविधा का इस्तेमाल करना ज़रूरी नहीं है. इससे सिर्फ़ झलक के लिए, एचडीआर डाइनैमिक रेंज, जैसे कि HLG10 का इस्तेमाल किया जा सकता है. CameraInfo में नए एपीआई भी उपलब्ध हैं. इनकी मदद से, यह क्वेरी की जा सकती है कि हर कैमरा किस डाइनैमिक रेंज के साथ काम करता है.

एपीआई में बदलाव

  • ScreenFlashUiCompleter का नाम बदलकर ScreenFlashListener किया गया और ScreenFlashUiCompleter#getExpirationTimeMillis को ScreenFlash#apply के expirationTimeMillis पैरामीटर में ले जाया गया. (I13944)
  • झलक दिखाने के लिए, डाइनैमिक रेंज सेट करने और हर कैमरे के साथ काम करने वाली डाइनैमिक रेंज के बारे में क्वेरी करने के लिए, नए एपीआई जोड़े गए हैं. इससे, झलक देखने के लिए एचएलजी10 जैसी एचडीआर डाइनैमिक रेंज का इस्तेमाल किया जा सकता है. इसके लिए, अब VideoCapture को एक साथ बाउंड करने की ज़रूरत नहीं है. (If25e3)
  • getMirroring() का नाम बदलकर isMirroring() किया गया (I47063)
  • CameraX में, रीयल-टाइम में स्टिल कैप्चर लेटेंसी का अनुमान लगाने की सुविधा जोड़ी गई. कैमरा एक्सटेंशन, ऐप्लिकेशन को ऐसे एपीआई का इस्तेमाल करने की सुविधा देते हैं जिससे यह अनुमान लगाया जा सकता है कि फ़ोटो कैप्चर करने में कितना समय लगेगा. इस अनुमान में, मौजूदा एनवायरमेंट की स्थितियों और कैमरे की स्थिति को ध्यान में रखा जाता है. इसमें मल्टी-फ़्रेम कैप्चर करने के अनुरोधों को प्रोसेस करने में लगने वाला समय शामिल होता है. साथ ही, ज़रूरत पड़ने पर प्रोसेस किए गए बफ़र को एन्कोड करने में लगने वाला अतिरिक्त समय भी शामिल होता है. (I05c3a)
  • ScreenFlashUiControl का नाम बदलकर ScreenFlash, ScreenFlashUiControl#applyScreenFlashUi का नाम बदलकर ScreenFlash#apply, और ScreenFlashUiControl#clearScreenFlashUi का नाम बदलकर ScreenFlash#clear किया गया. साथ ही, SCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS को सीधे तौर पर दिखाने के बजाय, getScreenFlashUiApplyTimeoutSeconds तरीका जोड़ा गया. (Iccdd0)

गड़बड़ियां ठीक की गईं

  • मेमोरी लीक की समस्या को ठीक किया गया. इसकी वजह से, एक्सटेंशन चालू होने पर गतिविधियां या फ़्रैगमेंट रिलीज़ नहीं हो पाते थे (I14215)
  • उस समस्या को ठीक कर दिया गया है जिसमें ज़ूम रेशियो बढ़ाने पर, getZoomRatio गलत तरीके से कम वैल्यू दिखाता था. (I4aa0d, b/317543616)
  • ImageCapture के अनबाउंड होने या कैमरा बंद होने पर, ImageCapture#ScreenFlash#clear इवेंट तुरंत ट्रिगर होता है. साथ ही, कुछ गड़बड़ियां ठीक की जाती हैं. इन गड़बड़ियों की वजह से, इन स्थितियों में कैप्चर की प्रोसेस ठीक से पूरी नहीं हो पाती और इवेंट कभी ट्रिगर नहीं होता. (If99f9)
  • takePicture अनुरोध पूरा होने से पहले लाइफ़साइकल बंद होने पर, क्रैश होने की समस्या को ठीक किया गया (Idf017, b/306202751)
  • कुछ डिवाइसों पर एक्सटेंशन चालू होने पर, कैमरे की झलक वाली स्क्रीन काली हो जाने की समस्या को ठीक किया गया (I1ffd0)
  • Snapdragon 778G SoC का इस्तेमाल करने वाले डिवाइसों पर, वीडियो रिकॉर्डिंग की गलत अवधि दिखने की समस्या को ठीक किया गया. (If6aa7, b/316057919)

वर्शन 1.4.0-alpha03

13 दिसंबर, 2023

androidx.camera:camera-*:1.4.0-alpha03 रिलीज़ हो गया है. वर्शन 1.4.0-alpha03 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • CameraInfo.mustPlayShutterSound को जोड़ा गया, ताकि यह जानकारी दी जा सके कि क्षेत्र से जुड़ी पाबंदियों के मुताबिक, शटर की आवाज़ सुनाई देनी चाहिए या नहीं. (Ifda84)
  • OnImageCapturedCallback.onCaptureStarted और OnImageSavedCallback.onCaptureStarted को जोड़ा गया, ताकि कैमरा जब किसी फ़्रेम को एक्सपोज़ करना शुरू करे, तो सूचना दी जा सके. हमारा सुझाव है कि इस समय शटर की आवाज़ या शटर ऐनिमेशन चलाएं. (Ic49b3)
  • CameraX में स्क्रीन फ़्लैश की सुविधा जोड़ी गई है, ताकि फ़्रंट कैमरे से इमेज कैप्चर की जा सकें. CameraX, फ़्रेमवर्क-साइड एपीआई को मैनेज करेगा.साथ ही, ज़रूरत के हिसाब से ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) में होने वाले बदलावों के साथ समय को सिंक करेगा. उदाहरण के लिए, ऐप्लिकेशन स्क्रीन के रंग/चमक में बदलाव होने के बाद, एई प्रीकैप्चर ट्रिगर. ऐप्लिकेशन को CameraX को दिए गए ScreenFlashUiControl इंटरफ़ेस में, सिर्फ़ यूज़र इंटरफ़ेस (यूआई) साइड के इंप्लिमेंटेशन जोड़ने होंगे. (I8ae84)
  • CameraX में, यूज़र इंटरफ़ेस (यूआई) की तरफ़ से स्क्रीन फ़्लैश की सुविधा को लागू करने की सुविधा जोड़ी गई. ऐप्लिकेशन, PreviewView या हाल ही में जोड़े गए ScreenFlashView से ImageCapture.ScreenFlashUiControl को लागू कर पाएंगे. इससे स्क्रीन फ़्लैश की मदद से फ़ोटो कैप्चर करते समय, मोनो-कलर ओवरले व्यू जुड़ जाएगा और स्क्रीन की रोशनी बढ़ जाएगी. (I1810e)

एपीआई में बदलाव

  • एक्सटेंशन की नई सुविधाओं(पोस्टव्यू और कैप्चर प्रोसेस की प्रोग्रेस) के साथ काम करता है: ऐप्लिकेशन के लिए ImageCapture#getImageCaptureCapabilities() एपीआई जोड़े गए हैं, ताकि पोस्टव्यू और कैप्चर प्रोसेस की प्रोग्रेस कॉलबैक की सुविधाओं के बारे में क्वेरी की जा सके. ऐप्लिकेशन, ImageCapture.Builder#setPostviewEnabled() का इस्तेमाल करके पोस्टव्यू चालू कर सकते हैं. ImageCapture.Builder#setPostviewResolutionSelector() का इस्तेमाल करके, पोस्टव्यू का साइज़ चुना जा सकता है. takePicture() को शुरू करते समय, onPostviewBitmapAvailable और onCaptureProcessProgressed को OnImageSavedCallback या OnImageCapturedCallback में लागू किया जा सकता है. इससे, पोस्टव्यू और प्रोसेस की प्रोग्रेस की सूचना मिल सकती है. हालांकि, ऐसा तब ही होगा, जब यह सुविधा काम करती हो. (I5cd88)
  • सेंसर से मौजूदा बफ़र में कोऑर्डिनेट ट्रांसफ़ॉर्मेशन का हिसाब लगाने के लिए एपीआई. इसमें एक फ़्लैग होता है, जो यह बताता है कि Surface में कैमरे के ओरिएंटेशन की जानकारी है या नहीं. (I59096)
  • झलक UseCase में PreviewCapabitlity से क्वेरी करने के लिए, एपीआई को एक्सपोज़ करें. (Ie5b6c)
  • VideoCapture के लिए, ज़्यादा क्वालिटी के विकल्प उपलब्ध कराने के लिए एपीआई जोड़े गए. Recorder.Builder#setVideoCapabilitiesSource(int) का इस्तेमाल VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES के साथ करके, Recorder इंस्टेंस बनाया जा सकता है. यह VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE से ज़्यादा क्वालिटी के साथ काम करता है. इसका एक सामान्य उदाहरण यह है कि जब ऐप्लिकेशन, यूएचडी वीडियो रिकॉर्ड करने की कोशिश करता है, लेकिन डिवाइस के CamcorderProfile में यूएचडी सेटिंग शामिल नहीं होती है. भले ही, कोडेक यूएचडी वीडियो रिकॉर्ड करने में सक्षम हो. (Iedbe2, b/263961771)
  • CameraController में ImageAnalysis आउटपुट फ़ॉर्मैट गेटर/सेटर जोड़ें. (I9a96c, b/308240643)

गड़बड़ियां ठीक की गईं

  • कैमरा 1.3.1 से: ProcessCameraProvider#bindToLifecycle() की परफ़ॉर्मेंस को बेहतर बनाया गया. सबसे बड़ा बदलाव, UseCases के लिए सबसे सही साइज़ के कॉम्बिनेशन की पहचान करने की प्रोसेस को ऑप्टिमाइज़ करना है. सबसे अच्छे नतीजे, UseCase के खास कॉम्बिनेशन और टारगेट डिवाइसों के लिए, काम करने वाले आउटपुट साइज़ की संख्या के हिसाब से अलग-अलग होते हैं. (I454f2)
  • एक्सटेंशन चालू होने पर, VideoCapture के इस्तेमाल की अनुमति दें. (I91f32)
  • Samsung A71 और M51 सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ग़ैर-ज़रूरी 0 पैडिंग डेटा होता है. इसकी वजह से, कैप्चर की गई इमेज का फ़ाइल साइज़ बहुत ज़्यादा हो जाता है. कैप्चर की गई इमेज का साइज़ सामान्य इमेज फ़ाइल के साइज़ जैसा हो, इसके लिए पैडिंग डेटा में मौजूद ग़ैर-ज़रूरी 0 हटा दिए जाएंगे. (I01afc, b/288828159)
  • Pixel पर ImageAnalysis की सुविधा बंद करें, ताकि Pixel पर मौजूद उस गड़बड़ी से बचा जा सके जो गलती से ImageAnalysis के साथ काम करने वाले साइज़ दिखाती है. (I7ec31)
  • परफ़ॉर्मेंस की समस्या को ठीक किया गया है जिसमें एक्सटेंशन चालू होने पर, सीपीयू लोड और बिजली की खपत बढ़ जाती थी. (Ibdccb)
  • CameraUseInconsistentTimebaseQuirk में Snapdragon 480 जोड़ा गया. इससे Android 12 पर इस चिपसेट का इस्तेमाल करने वाले डिवाइसों में आने वाली समस्या ठीक हो जाती है. इस समस्या की वजह से, रिकॉर्डिंग में ऑडियो उतने समय के लिए ऑफ़सेट हो जाता है जितने समय के लिए डिवाइस निलंबित स्थिति में रहता है. (I58010)

वर्शन 1.4.0-alpha02

18 अक्टूबर, 2023

androidx.camera:camera-*:1.4.0-alpha02 रिलीज़ हो गया है. वर्शन 1.4.0-alpha02 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • एपीआई का नाम बदलकर setCameraOpenRetryMaxTimeoutInMillisWhileResuming करें और आर्ग्युमेंट का नाम बदलें. (I72370)
  • डिवाइस की क्षमता के बारे में क्वेरी करने और वीडियो/झलक को स्टेबलाइज़ करने की सुविधा चालू करने के लिए, एपीआई जोड़े जा रहे हैं. (I87544)
  • कैमरा खोलने की कोशिश करने के लिए, टाइम आउट की ज़्यादा से ज़्यादा समयसीमा को पसंद के मुताबिक बनाने के लिए एपीआई उपलब्ध कराएं. (I0c642)
  • ProcessCameraProvider.shutdownAsync को सार्वजनिक टेस्टिंग एपीआई के तौर पर रिलीज़ किया गया, ताकि प्रोसेस कैमरा प्रोवाइडर का इस्तेमाल उन टेस्ट सुइट में किया जा सके जिनमें टेस्ट के दौरान CameraX को अलग-अलग तरीकों से शुरू करने की ज़रूरत पड़ सकती है. (I9eca7)
  • वीडियो कैप्चर करने की डाइनैमिक रेंज, फ़्रेम रेट, और मिरर मोड को कॉन्फ़िगर करने के लिए एपीआई जोड़ें. (Ifb8f7)
  • OutputSize को बंद करें और उसकी जगह ResolutionSelector का इस्तेमाल करें. ResolutionSelector, रिज़ॉल्यूशन चुनने का एक बेहतर तरीका है. यह camera-core API के साथ काम करता है. (I93abd, b/286801438)

गड़बड़ियां ठीक की गईं

  • Samsung Galaxy S23 Ultra 5G पर, रियर कैमरे से ImageAnalysis में बोकेह या चेहरे की फ़ोटो क्वालिटी में सुधार करने की सुविधा चालू होने पर, काली स्क्रीन दिखने की समस्या को ठीक किया गया. (I2e8b1)
  • Moto E5 Play पर, झलक और VideoCapture के स्ट्रेच होने की समस्याएं ठीक की गईं. (73dce2)

वर्शन 1.4.0-alpha01

20 सितंबर, 2023

androidx.camera:camera-*:1.4.0-alpha01 रिलीज़ हो गया है. वर्शन 1.4.0-alpha01 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • रिकॉर्डिंग के दौरान ऑडियो एम्प्लिट्यूड की जानकारी ऐक्सेस करने के लिए, नया एपीआई जोड़ा गया. (Id4925)

गड़बड़ियां ठीक की गईं

  • एक्सटेंशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए, यह पक्का करें कि शुरू करने और बंद करने के इवेंट सही क्रम में ट्रिगर हों. (Ib3b8e)
  • कैप्चर सेशन के कॉन्फ़िगरेशन में आने वाली गड़बड़ी को ठीक किया गया. यह गड़बड़ी, इंटरनल तौर पर बार-बार इस्तेमाल होने वाले अतिरिक्त सरफ़ेस को जोड़ने की वजह से, सरफ़ेस के इस्तेमाल किए जा सकने वाले कॉम्बिनेशन की संख्या से ज़्यादा होने पर होती थी. (Id718c)
  • Vivo S16 डिवाइस पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ग़ैर-ज़रूरी 0 पैडिंग डेटा होता है. इस वजह से, कैप्चर की गई इमेज का फ़ाइल साइज़ बड़ा हो जाता है. कैप्चर की गई इमेज का साइज़ सामान्य इमेज फ़ाइल के साइज़ जैसा हो, इसके लिए पैडिंग डेटा में मौजूद ग़ैर-ज़रूरी 0 हटा दिए जाएंगे. (I79505, b/299069235)
  • उस समस्या को ठीक किया गया है जिसकी वजह से कुछ डिवाइसों पर कुछ एक्सटेंशन मोड चालू होने पर, ImageAnalysis को ImageCapture और झलक के साथ बाउंड नहीं किया जा सकता था. जब ऐप्लिकेशन ExtensionsManager#isImageAnalysisSupported() के ज़रिए ImageAnalysis की उपलब्धता के बारे में क्वेरी करेंगे, तब इस समस्या को ठीक करने से सही वैल्यू मिलेगी. (I7d538)
  • बिहेवियर से मैच करने के लिए, JavaDoc को अपडेट करें. #setZoomRatio, #setLinearZoom, और #enableTorch तुरंत पूरा होने के बजाय, कैमरा तैयार होने तक इंतज़ार करते हैं. #takePicture एपीआई की मदद से, ज़्यादा से ज़्यादा एफ़ओवी पाने के तरीके के बारे में भी जानकारी जोड़ी गई है. (I23588)

वर्शन 1.3

वर्शन 1.3.4

12 जून, 2024

androidx.camera:camera-*:1.3.4 रिलीज़ हो गया है. वर्शन 1.3.4 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक कर दिया गया है जिसमें ज़ूम रेशियो बढ़ाने पर, getZoomRatio गलत तरीके से कम वैल्यू दिखाता था. (I4aa0d, b/317543616)
  • स्टिल कैप्चर/टैप-टू-फ़ोकस की समस्या को ठीक किया गया है. यह समस्या, बार-बार होने वाले अनुरोध के एफ़पीएस/स्टेबलाइज़ेशन मोड की वैल्यू का इस्तेमाल न करने की वजह से होती है. इससे कैप्चर सेशन फिर से बन सकता है और कुछ डिवाइसों में इंतज़ार का समय बढ़ सकता है या झलक फ़्रीज़ हो सकती है. (I7dc0b)
  • setTargetFrameRate से FRAME_RATE_RANGE_UNSPECIFIED को कॉल करने पर, फ़्रेम रेट कम वैल्यू पर सेट होने की समस्या को ठीक किया गया. (I78c61)

वर्शन 1.3.3

17 अप्रैल, 2024

androidx.camera:camera-*:1.3.3 रिलीज़ हो गया है. वर्शन 1.3.3 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ऐनलाइज़र की डिफ़ॉल्ट टारगेट रिज़ॉल्यूशन सेटिंग से जुड़ी, ImageAnalysis के रिज़ॉल्यूशन चुनने की समस्या को ठीक किया गया: टारगेट रिज़ॉल्यूशन को गलती से 640x480 पर सेट किया गया था. भले ही, ऐप्लिकेशन ने ऐनलाइज़र की डिफ़ॉल्ट रिज़ॉल्यूशन सेटिंग को अलग से सेट किया हो. अगर ऐप्लिकेशन में यह समस्या (1.3.0 ~ 1.3.2) आती है और उन्हें नए वर्शन पर अपग्रेड नहीं किया जा सकता, तो इस समस्या को हल करने के लिए, सीधे तौर पर ResolutionSelector को पसंदीदा रिज़ॉल्यूशन के साथ सेट करें. साथ ही, AspectRatioStrategy को ImageAnalysis UseCase से मैच करें. (I81f72, b/330091012)

वर्शन 1.3.2

6 मार्च, 2024

androidx.camera:camera-*:1.3.2 रिलीज़ हो गया है. वर्शन 1.3.2 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Samsung A24 डिवाइसों पर JPEG मेटाडेटा से जुड़ी समस्या को ठीक किया गया. CameraX अब इमेज को सटीक तरीके से सेव करता है. साथ ही, ImageProxy.toBitmap() फ़ंक्शन सही बिट मैप ऑब्जेक्ट दिखाता है. (I8d6eb, b/309005680)
  • समस्याओं की वजह से, Redmi Note 9 Pro डिवाइसों पर 9280x6944 रिज़ॉल्यूशन का विकल्प हटा दिया गया है. (Ia23da)

वर्शन 1.3.1

13 दिसंबर, 2023

androidx.camera:camera-*:1.3.1 रिलीज़ हो गया है. वर्शन 1.3.1 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

ProcessCameraProvider#bindToLifecycle() की परफ़ॉर्मेंस को बेहतर बनाया गया. सबसे बड़ा बदलाव, UseCases के लिए सबसे सही साइज़ के कॉम्बिनेशन की पहचान करने की प्रोसेस को ऑप्टिमाइज़ करना है. सबसे अच्छे नतीजे, UseCase के खास कॉम्बिनेशन और टारगेट डिवाइसों के लिए, काम करने वाले आउटपुट साइज़ की संख्या के हिसाब से अलग-अलग होते हैं. (I454f2)

यहां अलग-अलग स्थितियों के लिए, रेफ़रंस के तौर पर कुछ नतीजे दिए गए हैं:

  • चार UseCases: Preview + ImageCapture + ImageAnalysis + VideoCapture

    • Google Pixel 7: करीब 430 मि॰से॰ से 60 मि॰से॰
    • Samsung Galaxy S23 Ultra: करीब 540 मि॰से॰ से 45 मि॰से॰
    • Samsung A53 5G: करीब 115 मि॰से॰ से 70 मि॰से॰
  • तीन UseCases: Preview + ImageCapture + ImageAnalysis

    • Google Pixel 7: करीब 9 मि॰से॰ से 7 मि॰से॰
    • Samsung Galaxy S23 Ultra: करीब 6 मि॰से॰ से 5 मि॰से॰
    • Samsung A53 5G: करीब 32 मि॰से॰ से 12 मि॰से॰
  • CameraUseInconsistentTimebaseQuirk में Snapdragon 480 जोड़ा गया. इससे Android 12 पर इस चिपसेट का इस्तेमाल करने वाले डिवाइसों में आने वाली समस्या ठीक हो जाती है. इस समस्या की वजह से, रिकॉर्डिंग में ऑडियो उतने समय के लिए ऑफ़सेट हो जाता है जितने समय के लिए डिवाइस निलंबित स्थिति में रहता है. (I58010)

वर्शन 1.3.0

18 अक्टूबर, 2023

androidx.camera:camera-*:1.3.0 रिलीज़ हो गया है. वर्शन 1.3.0 में ये बदलाव शामिल हैं.

वर्शन 1.2.0 के बाद किए गए अहम बदलाव

वर्शन 1.3.0-rc02

20 सितंबर, 2023

androidx.camera:camera-*:1.3.0-rc02 रिलीज़ हो गया है. वर्शन 1.3.0-rc02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक्सटेंशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए, यह पक्का करें कि शुरू करने और बंद करने के इवेंट सही क्रम में ट्रिगर हों. इससे एक्सटेंशन मोड या कैमरे स्विच करते समय, झलक वाली स्क्रीन के ब्लैक होने की कुछ समस्याएं ठीक हो गईं. (Iddaac)
  • उस समस्या को ठीक किया गया है जिसकी वजह से कुछ डिवाइसों पर कुछ एक्सटेंशन मोड चालू होने पर, ImageAnalysis को ImageCapture और झलक के साथ बाउंड नहीं किया जा सकता था. जब ऐप्लिकेशन ExtensionsManager#isImageAnalysisSupported() के ज़रिए ImageAnalysis की उपलब्धता के बारे में क्वेरी करेंगे, तब इस समस्या को ठीक करने से सही वैल्यू मिलेगी. (I7d538)
  • Xiaomi Poco X3 NFC पर, रिकॉर्ड किए गए वीडियो का ऑडियो और वीडियो सिंक न होने की समस्या को ठीक किया गया. यह समस्या, मिररिंग मोड चालू होने पर आती थी. (I20b4c)

वर्शन 1.3.0-rc01

23 अगस्त, 2023

androidx.camera:camera-*:1.3.0-rc01 रिलीज़ हो गया है. वर्शन 1.3.0-rc01 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • PendingRecording.asPersistentRecording को जोड़ा गया, ताकि रिकॉर्डिंग लगातार रिकॉर्ड की जा सके. ऐसा तब होता है, जब VideoCapture से जुड़ा रिकॉर्डर फिर से बाउंड हो जाता है. (I517c6)

गड़बड़ियां ठीक की गईं

  • VideoCapture और झलक, दोनों के साथ स्ट्रीम शेयर करने पर होने वाले क्रैश को ठीक किया गया. स्ट्रीम शेयर करने की सुविधा चालू होने पर, लेगसी डिवाइसों पर काली स्क्रीन दिखने की समस्या को भी ठीक किया गया.
  • Samsung S7 (SM-G930T, SM-G930V) सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ग़ैर-ज़रूरी 0 पैडिंग डेटा होता है. इस वजह से, कैप्चर की गई इमेज का फ़ाइल साइज़ बड़ा हो जाता है. कैप्चर की गई इमेज का साइज़ सामान्य इमेज फ़ाइल के साइज़ जैसा हो, इसके लिए पैडिंग डेटा में मौजूद ग़ैर-ज़रूरी 0 हटा दिए जाएंगे. (I407b0, b/288828159)
  • Samsung S22 (SM-S901B, SM-S901B/DS) और S22+ (SM-S906B) सीरीज़ के डिवाइसों पर, बड़ी JPEG इमेज कैप्चर करने से जुड़ी समस्या को ठीक किया गया. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ग़ैर-ज़रूरी 0 पैडिंग डेटा होता है. इस वजह से, S22 SM-S901B/DS डिवाइस पर कैप्चर की गई इमेज का साइज़ करीब 13 एमबी हो जाता है. कैप्चर की गई इमेज का साइज़ सामान्य इमेज फ़ाइल के साइज़ जैसा हो, इसके लिए पैडिंग डेटा में मौजूद ग़ैर-ज़रूरी 0 हटा दिए जाएंगे. (I73be9, b/288828159)
  • Samsung A5, A52, A70, और A72 सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ग़ैर-ज़रूरी 0 पैडिंग डेटा होता है. इसकी वजह से, कैप्चर की गई इमेज का साइज़ बहुत ज़्यादा हो जाता है. जैसे, करीब 32 एमबी या 96 एमबी. कैप्चर की गई इमेज का साइज़ सामान्य इमेज फ़ाइल के साइज़ जैसा हो, इसके लिए पैडिंग डेटा में मौजूद ग़ैर-ज़रूरी 0 हटा दिए जाएंगे. (I97c4d, b/288828159)
  • एक्सटेंशन चालू होने पर फ़ोटो लेते समय होने वाले नेटिव क्रैश को ठीक किया गया (I698f5)

वर्शन 1.3.0-beta02

26 जुलाई, 2023

androidx.camera:camera-*:1.3.0-beta02 रिलीज़ हो गया है. वर्शन 1.3.0-beta02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • कम रोशनी में बेहतर क्वालिटी में फ़ोटो कैप्चर करने के लिए, Pixel 4 और 5 के वैरिएंट में टॉर्च को फ़्लैश के तौर पर इस्तेमाल करें (I56ff5, b/280221967)
  • Samsung A5 (2017) सीरीज़ के डिवाइसों पर, कैप्चर की गई बड़ी JPEG इमेज से जुड़ी समस्या को ठीक किया गया. कैप्चर की गई JPEG इमेज में, JFIF कंप्रेस किए गए डेटा सेगमेंट में ग़ैर-ज़रूरी 0 पैडिंग डेटा होता है. इससे कैप्चर की गई इमेज का फ़ाइल साइज़ करीब 32 एमबी हो जाता है. कैप्चर की गई इमेज का साइज़ सामान्य इमेज फ़ाइल के साइज़ जैसा हो, इसके लिए पैडिंग डेटा में मौजूद ग़ैर-ज़रूरी 0 हटा दिए जाएंगे. (I29837, b/288828159)
  • CaptureFailedRetryQuirk में बताए गए समस्या वाले डिवाइसों में, कैप्चर न होने पर फिर से कोशिश करने की सुविधा ठीक से ट्रिगर न होने की समस्या को ठीक किया गया. (I7b589)

वर्शन 1.3.0-beta01

21 जून, 2023

androidx.camera:camera-*:1.3.0-beta01 रिलीज़ हो गया है. वर्शन 1.3.0-beta01 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • ResolutionSelector.Builder#setHighResolutionEnabledFlag(int) फ़ंक्शन का नाम बदलकर setAllowedResolutionMode किया गया. साथ ही, ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON कॉन्सटेंट का नाम बदलकर PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE किया गया. (If84e8)
  • ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int), और VideoCapture.setTargetRotationDegrees(int) जैसे एपीआई हटाए गए जो अब काम नहीं करते. (Id8e77)
  • DynamicRange क्लास, इमेज की डाइनैमिक रेंज को दिखाती है. इसका इस्तेमाल, VideoCapture से VideoCapture.Builder#setDynamicRange() के आउटपुट के तौर पर हाई डाइनैमिक रेंज फ़ॉर्मैट चुनने के लिए किया जा सकता है. (Ib0377)
  • ExtensionsManager में एक isImageAnalysisSupported एपीआई जोड़ा गया है. इससे ऐप्लिकेशन यह तय कर सकते हैं कि एक्सटेंशन चालू होने पर, झलक और ImageCapture के साथ ImageAnalysis इस्तेमाल का उदाहरण जोड़ा जा सकता है या नहीं. (I1bc63)
  • Recorder से मिली नई VideoCapabilities क्लास का इस्तेमाल, डिवाइस पर वीडियो रिकॉर्डिंग के लिए, डाइनैमिक रेंज और क्वालिटी के बारे में क्वेरी करने के लिए किया जा सकता है. QualitySelector के getSupportedQualities() और isQualitySupported() तरीके अब काम नहीं करेंगे. इसके बजाय, कृपया VideoCapabilities के getSupportedQualities() और isQualitySupported() तरीकों का इस्तेमाल करें. (I04014)
  • CameraController#setVideoCaptureTargetQuality() का नाम बदलकर setVideoCaptureQualitySelector कर दिया गया है. साथ ही, यह QualitySelector आर्ग्युमेंट लेता है. इससे वीडियो क्वालिटी सेटअप करने के लिए ज़्यादा विकल्प मिलते हैं. CameraController#getVideoCaptureTargetQuality() को बदलकर getVideoCaptureQualitySelector कर दिया जाता है. (I520ed)
  • वीडियो की सुविधाओं के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध एनोटेशन को हटा दिया गया है. वीडियो की सुविधाएं अब स्टेबल हैं. (I1a113)

गड़बड़ियां ठीक की गईं

  • कम रोशनी में तेज़ी से और अच्छी इमेज क्वालिटी की इमेज कैप्चर करने के लिए, Samsung SM-A320 मॉडल पर टॉर्च को फ़्लैश के तौर पर इस्तेमाल करें. (I6a022, b/286190938)
  • ImageProxy.toBitmap() के लिए, ImageFormat.JPEG फ़ॉर्मैट का इस्तेमाल करने की सुविधा जोड़ें. अगर JPEG बाइट कलेक्शन को डिकोड नहीं किया जा सकता, तो UnsupportedOperationException दिखेगा. (I81958, b/282057603)

वर्शन 1.3.0-alpha07

24 मई, 2023

androidx.camera:camera-*:1.3.0-alpha07 रिलीज़ हो गया है. वर्शन 1.3.0-alpha07 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • नए VideoCapture.Builder# setTargetFrameRate(Range) एपीआई की मदद से, डिवाइस के डिफ़ॉल्ट फ़्रेम रेट के अलावा, अन्य फ़्रेम रेट पर भी वीडियो रिकॉर्ड किए जा सकते हैं. रिकॉर्डिंग के लिए उपलब्ध फ़्रेम रेट के बारे में, नए CameraInfo#getSupportedFrameRates() एपीआई की मदद से क्वेरी की जा सकती है.

एपीआई में बदलाव

  • ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON कॉन्सटैंट का नाम बदलकर ALLOWED_RESOLUTIONS_NORMAL/SLOW किया गया. साथ ही, बिल्डर setHighResolutionEnabledFlag फ़ंक्शन का नाम बदलकर setAllowedResolutionMode किया गया. (Iae817)
  • CameraInfo#getSupportedFrameRateRanges() अब List के बजाय Set दिखाता है, ताकि यह बेहतर तरीके से दिखाया जा सके कि रेंज क्रम में नहीं हैं. (I02f43)
  • ठीक न हो पाने वाली गड़बड़ियों को मैनेज करने के लिए, CameraEffect में गड़बड़ी की सूचना देने वाला लिसनर जोड़ें (Ice471)
  • बेहतर तरीके से जांच करने के लिए, ResolutionInfo में सार्वजनिक कंस्ट्रक्टर जोड़ें (If6d1c)
  • setTargetRotationDegrees की जगह इस्तेमाल करने के लिए, एपीआई UseCase.snapToSurfaceRotation(int) उपलब्ध कराया गया है. साथ ही, एपीआई ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int), और VideoCapture.setTargetRotationDegrees(int) को बंद कर दिया गया है. (Ia9010)
  • और Preview.Builder#setTargetFrameRate नाम के नए एपीआई जोड़े गए हैं. इनकी मदद से, झलक देखने के लिए टारगेट फ़्रेम रेट सेट किया जा सकता है और उसे वापस पाया जा सकता है (If4f22)Preview#getTargetFrameRate
  • जब गारबेज कलेक्शन की वजह से Recording ऑब्जेक्ट को रोका जाएगा, तब VideoRecordEvent.Finalize अब गड़बड़ी का कोड ERROR_RECORDING_GARBAGE_COLLECTED के साथ पूरा होगा. (Iba974)

गड़बड़ियां ठीक की गईं

  • StreamConfigurationMapCompat में कैश मेमोरी में सेव किए गए आउटपुट साइज़ के शून्य होने पर, NullPointerException को ठीक किया गया. (Idf124, b/282025204)
  • उस समस्या को ठीक किया गया है जिसकी वजह से एक्सटेंशन (Ia903e) में, Preview.setSurfaceProvider(null) झलक को नहीं रोकता था
  • उस समस्या को ठीक किया गया है जिसमें VideoCapture के बाउंड होने पर, कैमरा खोलने के दौरान ConcurrentModificationException दिखता था. (Ic8ac4)

वर्शन 1.3.0-alpha06

19 अप्रैल, 2023

androidx.camera:camera-*:1.3.0-alpha06 रिलीज़ हो गया है. वर्शन 1.3.0-alpha06 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • कॉन्करेंट कैमरा, Android 11 में पेश की गई एक नई सुविधा है. इससे कैमरा डिवाइसों को एक साथ स्ट्रीम किया जा सकता है. उदाहरण के लिए, इससे किसी डिवाइस के सामने और पीछे वाले, दोनों कैमरों को एक साथ इस्तेमाल किया जा सकता है. फ़िलहाल, CameraX सिर्फ़ एक साथ दो कैमरे इस्तेमाल करने की सुविधा देता है. इससे दो कैमरे एक साथ काम कर सकते हैं. हर कैमरे के लिए ज़्यादा से ज़्यादा दो {@link UseCase} बाउंड किए जा सकते हैं. ज़्यादा से ज़्यादा रिज़ॉल्यूशन 720 पिक्सल या 1440 पिक्सल है. ज़्यादा जानकारी के लिए, इस लिंक पर जाएं: CameraManager#getConcurrentCameraIds()
  • पेश है नया ResolutionSelector एपीआई, जिसमें ये सुविधाएं शामिल हैं:
    • ऐप्लिकेशन, अपनी ज़रूरत के हिसाब से सबसे सही रिज़ॉल्यूशन चुनने के लिए, आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) और रिज़ॉल्यूशन की रणनीतियां तय कर सकते हैं.
    • सभी साइज़ और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) पैरामीटर, कैमरा डिवाइस सेंसर के कोऑर्डिनेट में दिखाए जाते हैं.
    • ऐप्लिकेशन, कस्टम रिज़ॉल्यूशन फ़िल्टर लागू कर सकते हैं, ताकि वे अपनी पसंद के क्रम में, काम करने वाले साइज़ को व्यवस्थित कर सकें.
    • ऐप्लिकेशन, हाई रिज़ॉल्यूशन वाली इमेज पाने के लिए, हाई रिज़ॉल्यूशन कैप्चर की सुविधा भी चालू कर सकते हैं. हालांकि, कृपया ध्यान दें कि हाई रिज़ॉल्यूशन का इस्तेमाल करने पर, कैप्चर करने में ज़्यादा समय लग सकता है.
    • VideoCapture मिररिंग एपीआई जोड़े गए. VideoCapture से रिकॉर्ड किए गए वीडियो, डिफ़ॉल्ट रूप से मिरर नहीं होते. हालांकि, डिफ़ॉल्ट रूप से फ़्रंट कैमरे पर, कैमरे की झलक मिरर की जाती है. VideoCapture के मिररिंग एपीआई की मदद से, फ़्रंट कैमरे का इस्तेमाल करते समय, कैमरे की झलक को अलाइन किया जा सकता है. इसके तीन विकल्प हैं: MirrorMode, OFF, ON, और ON_FRONT_ONLY. कैमरे की झलक के साथ अलाइन करने के लिए, हमारा सुझाव है कि आप ON_FRONT_ONLY का इस्तेमाल करें. इसका मतलब है कि रियर कैमरे के लिए मिररिंग की सुविधा चालू नहीं है, लेकिन फ़्रंट कैमरे के लिए चालू है.

एपीआई में बदलाव

  • नया ResolutionSelector एपीआई उपलब्ध कराया गया. ऐप्लिकेशन, आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) और रिज़ॉल्यूशन की रणनीतियों को फ़ॉलबैक नियमों या कस्टम रिज़ॉल्यूशन फ़िल्टर के साथ तय कर सकते हैं, ताकि मनमुताबिक नतीजे मिल सकें. ऐप्लिकेशन, हाई रिज़ॉल्यूशन कैप्चर की सुविधा चालू करने के लिए, फ़्लैग तय कर सकते हैं. इससे CameraX को फ़ोटो या वीडियो लेते समय, ज़्यादा रिज़ॉल्यूशन चुनने की अनुमति मिलेगी. हालांकि, कृपया ध्यान दें कि हाई रिज़ॉल्यूशन का इस्तेमाल करने पर, कैप्चर करने में ज़्यादा समय लग सकता है. (Ibed95)
  • एई एल्गोरिदम के साथ काम करने वाली एफ़पीएस रेंज के बारे में अब CameraInfo#getSupportedFrameRateRanges() से क्वेरी की जा सकती है. (Iaa67f)
  • फ़्रेम रेट के सभी तरीकों के नामों को 'FrameRate' में जोड़ें. VideoCapture#getTargetFrameRate() में javadoc की गड़बड़ी को ठीक किया गया (I83304)
  • लेगसी setTargetAspectRatio और setTargetResolution एपीआई को बंद कर दिया गया है. इसके बजाय, कृपया नए ResolutionSelector एपीआई का इस्तेमाल करें. (I542c3)
  • एक साथ दो कैमरे इस्तेमाल करने के लिए, सार्वजनिक एपीआई जोड़े गए हैं. इनमें ये शामिल हैं:
    1. List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
    2. ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
    3. boolean isConcurrentCameraModeOn() और ConcurrentCameraConfig, SingleCameraConfig और ConcurrentCamera (Iab1c1)
  • ImageProcessor.Response#getOutputImage को NonNull बनाएं (Ib9c60)
  • VideoCapture के मिररिंग एपीआई जोड़े गए. इनमें VideoCapture.Builder.setMirrorMode(int) और VideoCapture.getMirrorMode() शामिल हैं. ये एपीआई उन ऐप्लिकेशन के लिए काम के हैं जिनमें वीडियो रिकॉर्डिंग को सामान्य कैमरा की झलक के मुताबिक होना चाहिए. इसका मतलब है कि रियर कैमरे की झलक को मिरर नहीं किया जाता, लेकिन फ़्रंट कैमरे की झलक को मिरर किया जाता है. (I713b6, b/194634656)
  • VideoCapture.Builder में setTargetFrameRate() एपीआई और VideoCapture में getTargetFramerate() एपीआई जोड़ें (I109d4)
  • SurfaceOutput को Closable का एक्सटेंशन बनाएं और SurfaceOutput.Event के सार्वजनिक कंस्ट्रक्टर को छिपाएं. (I60ea8)
  • प्रोसेस की जा रही रिकॉर्डिंग को डाइनैमिक तरीके से म्यूट या अनम्यूट करने के लिए, Recording.mute को जोड़ा गया. जब प्रोसेस की जा रही रिकॉर्डिंग को साफ़ तौर पर म्यूट किया जाता है, तब RecordingStats में AudioStats.AUDIO_STATE_MUTED शामिल होगा. (Ie17fc)
  • #setEffects() पैरामीटर को नॉन-नल बनाया गया. इफ़ेक्ट हटाने के लिए, #clearEffects() एपीआई जोड़ें. इफ़ेक्ट हटाने के लिए, ऐप्लिकेशन को #clearEffects() को कॉल करना चाहिए. (I4b4d9)
  • कॉपी कंस्ट्रक्टर के लिए बिल्डर लेने के लिए, ViewfinderSurfaceRequest.Builder के लिए दूसरा कंस्ट्रक्टर जोड़ा गया (I621a7)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसमें कैमरा बंद करने पर, Extensions API को शुरू करने वाले ऐप्लिकेशन क्रैश हो सकते थे (Ib27e5)
  • उस समस्या को ठीक किया गया है जिसकी वजह से कुछ डिवाइसों पर, VideoCapture को सामने वाले कैमरे के साथ इस्तेमाल नहीं किया जा सकता था. उदाहरण के लिए, Samsung Galaxy S23 और Xiaomi 2107113SG पर. (Ibec7e, b/270656244)
  • उस समस्या को ठीक किया गया है जिसमें Android 10 या इसके बाद के वर्शन में, बाहरी स्टोरेज के सार्वजनिक फ़ोल्डर में मौजूद फ़ाइल का इस्तेमाल करके फ़ोटो लेने पर, गड़बड़ी होती थी. कृपया ध्यान दें कि Android 10 में, बाहरी स्टोरेज के सार्वजनिक फ़ोल्डर में मौजूद फ़ाइल का इस्तेमाल करके फ़ोटो लेने के लिए, ऐप्लिकेशन टैग में requestLegacyExternalStorage को 'सही' पर सेट करना भी ज़रूरी है. (I11b2c)
  • DefaultSurfaceProcessor में RejectedExecutionException के क्रैश होने की समस्या को ठीक किया गया. क्रैश तब हो सकता है, जब VideoCapture बाउंड हो और गतिविधि रोकी गई हो. (Idb46a, b/273713906)

वर्शन 1.3.0-alpha05

22 मार्च, 2023

androidx.camera:camera-*:1.3.0-alpha05 रिलीज़ हो गया है. वर्शन 1.3.0-alpha05 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • VideoCapture रोटेशन एपीआई जोड़े गए हैं. इनमें VideoCapture.Builder.setTargetRotation(int), VideoCapture.setTargetRotation(int), VideoCapture.setTargetRotationDegrees(int), और VideoCapture.getTargetRotation() शामिल हैं. ये एपीआई, डिवाइस के ओरिएंटेशन को लॉक करने वाले ऐप्लिकेशन के लिए काम के हैं. ImageCapture.setTargetRotationDegrees(int) और ImageAnalysis.setTargetRotationDegrees(int) को भी जोड़ा गया है. (Id3ffe, b/205242781)
  • इफ़ेक्ट के टारगेट के तौर पर, VIDEO_CAPTURE और PREVIEW|VIDEO_CAPTURE को अनुमति दें. VIDEO_CAPTURE को टारगेट करने वाले इफ़ेक्ट, VideoCapture UseCase पर लागू किए जाएंगे; PREVIEW|VIDEO_CAPTURE को टारगेट करने वाले इफ़ेक्ट, झलक और VideoCapture स्ट्रीम में कॉपी करने से पहले, शेयर की गई स्ट्रीम पर लागू किए जाएंगे. (Iee6f3)

गड़बड़ियां ठीक की गईं

  • कैमरा 1.2.2: Pixel (I90aa2) जैसे कुछ डिवाइसों पर ProGuard चालू होने पर, CameraX एक्सटेंशन ठीक से काम नहीं करते थे. इस समस्या को ठीक कर दिया गया है
  • PreviewView की एक गड़बड़ी को ठीक किया गया है. इसमें, अगर ऐप्लिकेशन स्क्रीन ओरिएंटेशन को खुद मैनेज करता है, तो स्क्रीन को घुमाने पर झलक खराब हो सकती है. ऐसा सिर्फ़ कुछ डिवाइसों पर होता है. इसे Pixel 4a, Pixel 5, और Pixel 6a पर फिर से जनरेट किया जा सकता है. (I14340, b/223488673)

वर्शन 1.3.0-alpha04

22 फ़रवरी, 2023

androidx.camera:camera-*:1.3.0-alpha04 रिलीज़ हो गया है. वर्शन 1.3.0-alpha04 में ये बदलाव शामिल हैं.

नई सुविधाएं

एक नई सुविधा, जो पहले काम न करने वाले Surface कॉम्बिनेशन के साथ काम करती है. इसके लिए, एक स्ट्रीम को कई UseCases के साथ शेयर किया जाता है.

  • पहले, कैमरा हार्डवेयर लेवल FULL और उससे कम पर “Preview, VideoCapture, ImageAnalysis” को बाइंड करने या हार्डवेयर लेवल LEGACY पर “Preview, VideoCapture, ImageCapture” को बाइंड करने पर, CameraX IllegalArgumentException दिखाता था.
  • नए तरीके के तहत, बाइंडिंग बिना किसी गड़बड़ी के काम करेंगी. इसके बजाय, CameraX, OpenGL का इस्तेमाल करके शेयर की गई स्ट्रीम को Preview और VideoCapture, दोनों में कॉपी करता है.
  • बफ़र कॉपी की लागत के तौर पर, ऐप्लिकेशन में इंतज़ार का समय और बैटरी की खपत बढ़ सकती है.

एपीआई में बदलाव

  • ImageProxy को Bitmap में बदलने के लिए एपीआई जोड़ें. ImageProxy के लिए, ImageFormat.YUV_420_888 और PixelFormat.RGBA_8888 फ़ॉर्मैट का इस्तेमाल किया जा सकता है. अगर फ़ॉर्मैट अमान्य है, तो IllegalArgumentException दिखेगा. (Ic7110)
  • Kotlin में सस्पेंडिंग फ़ंक्शन का इस्तेमाल करके, व्यूफ़ाइंडर को कॉन्फ़िगर करने के लिए, CoroutineCameraViewfinder जोड़ें. (I657bc)
  • ViewfinderSurfaceRequest के लिए नया सार्वजनिक कंस्ट्रक्टर जोड़ें. इससे उपयोगकर्ता को तब सुविधा मिलती है, जब वह CameraCharacteristics न दे पाए. (Ie6549)

गड़बड़ियां ठीक की गईं

  • कुछ Samsung डिवाइसों पर, ऐप्लिकेशन को बहुत जल्दी-जल्दी रोकने/फिर से शुरू करने पर, एक्सटेंशन क्रैश होने की समस्या को ठीक किया गया (Iaca26)

वर्शन 1.3.0-alpha03

25 जनवरी, 2023

androidx.camera:camera-*:1.3.0-alpha03 रिलीज़ हो गया है. वर्शन 1.3.0-alpha03 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • डिफ़ॉल्ट कैमरे के हिसाब से, व्यू के ऐंगल की जानकारी देने के लिए, CameraInfo.getIntrinsicZoomRatio को जोड़ा गया. (Ib300c)
  • लेंस की दिशा की जानकारी देने के लिए, CameraInfo.getLensFacing को जोड़ा गया. बाहरी कैमरे चुनने के लिए, एक्सपेरिमेंट के तौर पर CameraSelector#LENS_FACING_EXTERNAL को जोड़ा गया. (Icaf3e)
  • CameraController में #setEffect() जोड़ें. इससे कैमरे के आउटपुट में इफ़ेक्ट जोड़े जा सकते हैं. (I1d21f)
  • SurfaceRequest में invalidate() तरीका जोड़ें. सरफ़ेस प्रोवाइडर यह सूचना दे सकता है कि पहले उपलब्ध कराया गया सरफ़ेस अब मान्य नहीं है. (Idc649)
  • ImageProcessor एपीआई जोड़ें. इस इंटरफ़ेस का इस्तेमाल, ImageCapture पाइपलाइन में पोस्ट-प्रोसेसिंग इफ़ेक्ट इंजेक्ट करने के लिए किया जाता है. (I575c6)
  • एपीआई Recorder.Builder.setAspectRatio() जोड़ा गया. इसे QualitySelector के साथ इस्तेमाल करके, वीडियो के ज़्यादा रिज़ॉल्यूशन इस्तेमाल किए जा सकते हैं. (I8a082)
  • टारगेट वीडियो एन्कोडिंग BitRate सेट करने के लिए Recorder.Builder#setTargetVideoEncodingBitRate और टारगेट वीडियो एन्कोडिंग बिटरेट पाने के लिए Recorder#getTargetVideoEncodingBitRate को जोड़ा गया. (I5984d)

गड़बड़ियां ठीक की गईं

  • ImageCapture को ठीक किया गया. यह तब काम नहीं करता था, जब फ़्लैश यूनिट न होने पर भी फ़्लैश मोड चालू रहता था. (I9e8b4, b/263391112)
  • Samsung के Android 12 वाले कुछ डिवाइसों पर, Exif फ़ॉर्मैट में जगह की जानकारी का डेटा सेव करने पर, JPEG इमेज के खराब होने की समस्या को ठीक किया गया. (Ib7086, b/263747161, b/263289024)
  • कैमरा चालू होने से पहले, टॉर्च/ज़ूम सेट करने पर, जैसे कि CameraController#enableTorch को कॉल करने पर, बाकी कार्रवाई को कैश मेमोरी में सेव कर लिया जाता है. साथ ही, कैमरा चालू होने के बाद उसे सबमिट कर दिया जाता है. (I11e92, b/264157663)

वर्शन 1.3.0-alpha02

7 दिसंबर, 2022

androidx.camera:camera-*:1.3.0-alpha02 रिलीज़ हो गया है. वर्शन 1.3.0-alpha02 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • झलक के आउटपुट पर पोस्ट-प्रोसेसिंग इफ़ेक्ट लागू करने के लिए, एक नया एपीआई जोड़ें. (Ic17d5)
  • OutputOptions.getDurationLimit का नाम बदलकर OutputOptions.getDurationLimitMillis और OutputOptions.setDurationLimit का नाम बदलकर OutputOptions.setDurationLimitMillis किया गया. (I91f0c)
  • वीडियो रिकॉर्ड करते समय ऑडियो से जुड़ी सेटिंग को मैनेज करने के लिए, AudioConfig क्लास जोड़ें. @RequiresPermission एनोटेशन को startRecording फ़ंक्शन से AudioConfig पर ले जाया गया है. इससे उन मामलों में अनुमति के लिए बेवजह अनुरोध नहीं करना पड़ता जिनमें ऑडियो की ज़रूरत नहीं होती. (I28755)
  • वीडियो कैप्चर करने वाले नए एपीआई को लागू करने के बाद, Metadata, OnVideoSavedCallback, OutputFileOptions, और OutputFileResults क्लास को हटा दें. अब इनका इस्तेमाल नहीं किया जाता. (I38cd8)
  • नया वीडियो कैप्चर एपीआई लागू करें. getVideoCaptureTargetSize और setVideoCaptureTargetSize तरीकों को क्रमशः getVideoCaptureTargetQuality और setVideoCaptureTargetQuality तरीकों से बदल दिया गया है, क्योंकि setTargetResolution अब काम नहीं करता. (I2a1d5)

गड़बड़ियां ठीक की गईं

  • core.VideoCapture एपीआई को हटाएं, क्योंकि अब इसका इस्तेमाल नहीं किया जा सकता. (I531e0)
  • उस समस्या को ठीक किया गया है जिसमें स्टोरेज की अनुमति के बिना फ़ोटो लेने पर, onError कॉलबैक को कॉल नहीं किया जाता था.(I936db, b/244807669)
  • कैमरा एक्सटेंशन की क्वालिटी और विश्वसनीयता को बेहतर बनाना. Motorola के उन डिवाइसों पर कैमरा एक्सटेंशन बंद कर दिए गए हैं जिनमें Camera Extensions v1.1.0 और इससे पुराना वर्शन इस्तेमाल किया जा रहा है. ऐसा बोकेह मोड, इमेज कैप्चर करने की सुविधा, और झलक फिर से शुरू न होने की समस्याओं की वजह से किया गया है. (Id3ce3)
  • लेगसी डिवाइसों पर ViewPort की मदद से वीडियो को काटने की सुविधा चालू होने पर, नेटिव क्रैश की समस्या को ठीक किया गया. (I16b8a, b/251357665)

वर्शन 1.3.0-alpha01

9 नवंबर, 2022

androidx.camera:camera-*:1.3.0-alpha01 रिलीज़ हो गया है. वर्शन 1.3.0-alpha01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • Camera-viewfinder को आधिकारिक तौर पर पब्लिश कर दिया गया है. Camera-viewfinder, एक बुनियादी व्यूफ़ाइंडर विजेट उपलब्ध कराता है. यह Camera2 के लिए कैमरा फ़ीड दिखा सकता है. उदाहरण के लिए, कृपया सैंपल कोड देखें.

एपीआई में बदलाव

  • वीडियो की अवधि की सीमा सेट करने के लिए, OutputOptions.setDurationLimit को जोड़ा गया. तय की गई अवधि की सीमा से ज़्यादा होने पर, रिकॉर्डिंग अपने-आप पूरी हो जाएगी. (I902a0)
  • वीडियो रिकॉर्डिंग में ऑडियो जोड़ने में गड़बड़ी होने पर दिखने वाला स्टेटस AudioStats.AUDIO_STATE_SOURCE_ERROR. यह मैसेज तब भेजा जाता है, जब ऑडियो सोर्स का सेटअप पूरा नहीं हो पाता या कोई गड़बड़ी होती है. (I37410)

गड़बड़ियां ठीक की गईं

  • कैप्चर करने में समस्या आने पर, कुछ डिवाइसों को फिर से कैप्चर करने की अनुमति देने के लिए, क्वर्क जोड़ें. (Id4795)
  • ViewPager2 पर PreviewView SurfaceView लागू करने से जुड़ी, ब्लैक स्क्रीन की समस्या को ठीक करें. इस समस्या को ठीक करने के लिए, PreviewView अपने SurfaceView का फिर से इस्तेमाल करेगा. ऐसा तब होगा, जब अनुरोध किए गए रिज़ॉल्यूशन में कोई बदलाव नहीं किया जाएगा. (Ib3f27)
  • ViewPort या CameraController एपीआई का इस्तेमाल किए जाने पर, वीडियो को काटने-छांटने की सुविधा (WYSIWYG सुविधा) काम करती हो. (Ifbba8, b/201085351)
  • Huawei P40 lite पर, फ़्रंट कैमरे से वीडियो रिकॉर्ड न हो पाने की समस्या को ठीक किया गया. (I87c57, b/250807400)

वर्शन 1.2

वर्शन 1.2.3

24 मई, 2023

androidx.camera:camera-*:1.2.3 रिलीज़ हो गया है. वर्शन 1.2.3 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसकी वजह से कुछ डिवाइसों पर, VideoCapture को सामने वाले कैमरे के साथ इस्तेमाल नहीं किया जा सकता था. उदाहरण के लिए, Samsung Galaxy S23 और Xiaomi 2107113SG पर. (Ibec7e, b/270656244)

वर्शन 1.2.2

22 मार्च, 2023

androidx.camera:camera-*:1.2.2 रिलीज़ हो गया है. वर्शन 1.2.2 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसकी वजह से, Pixel (I90aa2) जैसे कुछ डिवाइसों पर ProGuard चालू होने पर, CameraX एक्सटेंशन ठीक से काम नहीं करते थे

वर्शन 1.2.1

25 जनवरी, 2023

androidx.camera:camera-*:1.2.1 रिलीज़ हो गया है. वर्शन 1.2.1 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Samsung के Android 12 वाले कुछ डिवाइसों पर, Exif फ़ॉर्मैट में जगह की जानकारी का डेटा सेव करते समय, JPEG इमेज के खराब होने की समस्या को ठीक किया गया. (b/263289024)

वर्शन 1.2.0

7 दिसंबर, 2022

androidx.camera:camera-*:1.2.0 रिलीज़ हो गया है. वर्शन 1.2.0 में ये बदलाव शामिल हैं.

1.1.0 के बाद किए गए अहम बदलाव

  • नई लाइब्रेरी camera-mlkit-vision. CameraX को MLKit की कई सुविधाओं के साथ आसानी से इंटिग्रेट करें. जैसे, बारकोड स्कैन करना, चेहरे की पहचान करना, टेक्स्ट की पहचान करना वगैरह. MLKitAnalyzer को नए एपीआई के तौर पर जोड़ा गया.
  • नया एक्सपेरिमेंटल ज़ीरो-शटर लैग एपीआई. यह इमेज की क्वालिटी को बेहतर बनाए रखते हुए, इंतज़ार के समय को कम करने के लिए कैप्चर पाइपलाइन को ऑप्टिमाइज़ करता है. कैप्चर मोड को CAPTURE_MODE_ZERO_SHUTTER_LAG पर सेट करने पर, शटर बटन पर क्लिक करने और फ़ोटो लेने के बीच लगने वाला समय, अन्य कैप्चर मोड की तुलना में कम हो जाता है. जिन डिवाइसों पर ZERO_SHUTTER_LAG काम नहीं करता उन पर CAPTURE_MODE_MINIMIZE_LATENCY का इस्तेमाल किया जाएगा.
  • android.camera.core.VideoCapture का बहिष्कार करें.
  • setStreamUseCase() को सार्वजनिक Camera2Interop एपीआई के तौर पर जोड़ा गया.
  • setOutputImageRotationEnabled के लिए, एपीआई लेवल की ज़रूरी शर्त जोड़ी गई.
  • ImageAnalysis.Analyzer#getTargetResolutionOverride() का नाम बदलकर ImageAnalysis.Analyzer#getDefaultTargetResolution() किया गया.
  • सेव किए गए वीडियो में जगह की जानकारी का मेटाडेटा सेट करने के लिए, एपीआई जोड़ा गया.
  • VideoCapture और 16:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) वाले झलक के इस्तेमाल के उदाहरणों का इस्तेमाल करते समय, कम फ़्रेमरेट की समस्या को ठीक किया गया
  • हमने ब्लैक प्रिव्यू की समस्या को ठीक कर दिया है. यह समस्या तब होती है, जब कुछ Samsung डिवाइसों पर बोकेह एक्सटेंशन चालू होता है और उपयोगकर्ता कैमरे स्विच करता है.
  • एपीआई लेवल 27 वाले डिवाइसों पर, Samsung J7 Prime (SM-G610M) और J7 (SM-J710MN) Preview/VideoCapture के स्ट्रेच होने की समस्या को ठीक किया गया.
  • Samsung Android T पर, फ़्रंट कैमरे के एएफ़ रीजन को हॉरिज़ॉन्टल तौर पर फ़्लिप करने की सुविधा बंद कर दी गई है. ऐसा इसलिए किया गया है, क्योंकि समस्या ठीक हो गई है

वर्शन 1.2.0-rc01

24 अक्टूबर, 2022

androidx.camera:camera-*:1.2.0-rc01 रिलीज़ हो गया है. वर्शन 1.2.0-rc01 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • OutputConfiguration के लिए, setStreamUseCase एपीआई जोड़ें. उपयोगकर्ता, स्ट्रीम सेशन के लिए स्ट्रीम के इस्तेमाल का उदाहरण तय कर सकता है. इसके लिए, उसे CameraX के इंटरनल लॉजिक को बदलना होगा, ताकि वह अपनी ज़रूरत के हिसाब से स्ट्रीम के इस्तेमाल का उदाहरण चुन सके. (Ib1a95)

गड़बड़ियां ठीक की गईं

  • एपीआई लेवल 27 वाले डिवाइसों पर, Samsung J7 Prime (SM-G610M) और J7 (SM-J710MN) Preview/VideoCapture में स्ट्रेच होने की समस्या को ठीक किया गया. 1920x1080 रिज़ॉल्यूशन की वजह से, Preview/VideoCapture इमेज स्ट्रेच हो जाती हैं. इमेज के स्ट्रेच होने की समस्या से बचने के लिए, झलक या VideoCapture के लिए 1920x1080 रिज़ॉल्यूशन न चुनने का विकल्प जोड़ा गया है. (I0e04e)
  • Huawei के कुछ डिवाइसों पर, 16:9 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साथ VideoCapture और झलक देखने के इस्तेमाल के उदाहरणों का इस्तेमाल करते समय, कम फ़्रेमरेट की समस्या को ठीक किया गया. (If8c88, b/223643510)
  • झलक देखने की सुविधा के लिए SurfaceProvider सेट न होने पर, कैमरा न खुलने की समस्या को ठीक किया गया. इस समस्या को ठीक करने के लिए, अब SurfaceProvider सेट किए बिना झलक को कैमरा कैप्चर सेशन में कॉन्फ़िगर नहीं किया जाएगा. (I99681)

वर्शन 1.2.0-beta02

21 सितंबर, 2022

androidx.camera:camera-*:1.2.0-beta02 रिलीज़ हो गया है. वर्शन 1.2.0-beta02 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • setOutputImageRotationEnabled के लिए, एपीआई लेवल की ज़रूरी शर्त जोड़ी गई (I26e3e, b/240993561)

गड़बड़ियां ठीक की गईं

  • Samsung Android T पर, सामने वाले कैमरे के एएफ़ रीजन को हॉरिज़ॉन्टल तौर पर फ़्लिप करने की सुविधा को बंद कर दिया गया है. ऐसा इसलिए किया गया है, क्योंकि समस्या को ठीक कर दिया गया है. (I05f69)
  • Samsung के कुछ डिवाइसों पर BOKEH एक्सटेंशन चालू होने और उपयोगकर्ता के कैमरा स्विच करने पर, काली स्क्रीन दिखने की समस्या को ठीक किया गया. (If6168)

वर्शन 1.2.0-beta01

24 अगस्त, 2022

androidx.camera:camera-*:1.2.0-beta01 रिलीज़ हो गया है. वर्शन 1.2.0-beta01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • नई लाइब्रेरी camera-mlkit-vision. CameraX को MLKit की कई सुविधाओं के साथ आसानी से इंटिग्रेट करें. जैसे, बारकोड स्कैनिंग, चेहरे की पहचान, टेक्स्ट की पहचान वगैरह. कृपया सैंपल कोड यहां देखें.
  • ज़ीरो-शटर लैग एपीआई की नई सुविधा को एक्सपेरिमेंट के तौर पर उपलब्ध कराया गया है. यह इमेज की क्वालिटी को बेहतर बनाए रखते हुए, इंतज़ार के समय को कम करने के लिए कैप्चर पाइपलाइन को ऑप्टिमाइज़ करता है. जब कैप्चर मोड को CAPTURE_MODE_ZERO_SHUTTER_LAG पर सेट किया जाता है, तो शटर बटन पर क्लिक करने और फ़ोटो लेने के बीच की इंतज़ार की अवधि, अन्य कैप्चर मोड की तुलना में कम होने की उम्मीद होती है. जिन डिवाइसों पर ZERO_SHUTTER_LAG काम नहीं करता है उन पर CAPTURE_MODE_MINIMIZE_LATENCY का इस्तेमाल किया जाएगा.
  • ImageAnalysis.Analyzer और MLKitAnalyzer को आधिकारिक एपीआई के तौर पर उपलब्ध कराया गया.
  • सेव किए गए वीडियो में जगह की जानकारी का मेटाडेटा सेट करने के लिए, एपीआई को एक्सपोज़ किया गया.
  • ImageAnalysis.Analyzer#getTargetResolutionOverride() का नाम बदलकर ImageAnalysis.Analyzer#getDefaultTargetResolution() करें.

गड़बड़ियां ठीक की गईं

  • Alps k61v1_basic_ref इमेज कैप्चर करने से जुड़ी समस्या को ठीक किया गया. एचएएल से कैप्चर की गई JPEG इमेज में गलत Exif मेटाडेटा है. Exif मेटाडेटा में 0xffd9 या 0xffda टैग नहीं है, ताकि ExifInterface एट्रिब्यूट को सही तरीके से पार्स कर सके. इस समस्या को हल करने के लिए, इमेज को YUV फ़ॉर्मैट में कैप्चर किया जाता है. इसके बाद, उन्हें JPEG आउटपुट इमेज में कंप्रेस किया जाता है. (I45abb)

वर्शन 1.2.0-alpha04

27 जुलाई, 2022

androidx.camera:camera-*:1.2.0-alpha04 रिलीज़ हो गया है. वर्शन 1.2.0-alpha04 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • ImageAnalysis.Analyzer#getTargetResolutionOverride() का नाम बदलकर ImageAnalysis.Analyzer#getDefaultTargetResolution() करें. इसके काम करने के तरीके में भी बदलाव किया गया है, ताकि इस तरीके से मिलने वाली वैल्यू को ImageAnalysis#setTargetResolution() की वैल्यू से बदला जा सके. (If1d36)
  • सेव किए गए वीडियो में जगह की जानकारी का मेटाडेटा सेट करने के लिए, एपीआई को एक्सपोज़ किया गया. android.location.Location ऑब्जेक्ट को नए एपीआई androidx.camera.video.OutputOptions.Builder.setLocation(Location) की मदद से सेट किया जा सकता है. (I313a0, b/204197544)

गड़बड़ियां ठीक की गईं

  • अनबाइंड की गई झलक के साथ फ़ोटो लेने से जुड़ी समस्या को ठीक किया गया (Ie70b6, b/235119898)
  • ऑडियो सोर्स उपलब्ध न होने पर, रिकॉर्डिंग करने की कोशिश करने पर Recorder के क्रैश होने की समस्या को ठीक किया गया. (I9f652)

वर्शन 1.2.0-alpha03

29 जून, 2022

androidx.camera:camera-*:1.2.0-alpha03 रिलीज़ हो गया है. वर्शन 1.2.0-alpha03 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • ImageAnalysis.Analyzer और MLKitAnalyzer के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध एनोटेशन को हटाया गया. (I0ff22)

गड़बड़ियां ठीक की गईं

  • ऑटो फ़ोकस के लिए, डिफ़ॉल्ट रूप से 5,000 मि॰से॰ का टाइम आउट जोड़ा गया. अगर FocusMeteringAction को रद्द नहीं किया जाता है और इस दौरान ऑटो फ़ोकस की प्रोसेस पूरी नहीं होती है, तो ऑटो फ़ोकस की प्रोसेस isFocusSuccessful false के साथ पूरी हो जाएगी. (Ibc2e3)
  • अनबाइंड की गई झलक के साथ फ़ोटो लेने से जुड़ी समस्या को ठीक किया गया (I1d3a2, b/235119898)
  • एक्सटेंडर को बेहतर तरीके से लागू करने की सुविधा चालू की गई और CameraX के साथ काम करने वाले एक्सटेंशन-इंटरफ़ेस के वर्शन को 1.2 पर अपडेट किया गया (I92256)

वर्शन 1.2.0-alpha02

1 जून, 2022

androidx.camera:camera-*:1.2.0-alpha02 रिलीज़ हो गया है. वर्शन 1.2.0-alpha02 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • CameraX ज़ीरो-शटर लैग एपीआई को एक्सपेरिमेंट के तौर पर उपलब्ध कराएं.

एपीआई में बदलाव

  • ImageCapture में नया कैप्चर मोड CAPTURE_MODE_ZERO_SHUTTER_LAG जोड़ें. साथ ही, डिवाइस की क्षमता के बारे में क्वेरी करने के लिए, CameraInfo में isZslSupported जोड़ें. CAPTURE_MODE_ZERO_SHUTTER_LAG मोड का मकसद, तुरंत फ़ोटो कैप्चर करने के लिए इंतज़ार का समय कम करना है. इसे रिंग बफ़र के आधार पर लागू किया जाता है. यह कैप्चर किए गए इंटरमीडिएट नतीजों को कैश मेमोरी में सेव करता है, ताकि उपयोगकर्ता के फ़ोटो लेने के लिए बटन दबाने पर, उन्हें बाद में फिर से प्रोसेस किया जा सके. अगर {@link VideoCapture} बाउंड है या फ़्लैश मोड बंद नहीं है या ओईएम एक्सटेंशन चालू है, तो यह मोड अपने-आप बंद हो जाएगा. (I9ae74)
  • ImageAnalysis.getBackgroundExecutor() तरीका जोड़ें (Icc945)

गड़बड़ियां ठीक की गईं

  • ImageCapture takePicture तरीके को ठीक किया गया. इसकी वजह से, रिपोर्ट किए गए डिवाइसों पर टॉर्च बंद हो जाती थी. (Ib5eb5, b/228272227)
  • CONTROL_ZOOM_RATIO_RANGE विशेषता मिलने पर, AssertionError को हैंडल न किए जाने की गड़बड़ी को ठीक किया गया.(/Ia248a, b/231701345)

वर्शन 1.2.0-alpha01

18 मई, 2022

androidx.camera:camera-*:1.2.0-alpha01 रिलीज़ हो गया है. वर्शन 1.2.0-alpha01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • नई लाइब्रेरी camera-mlkit-vision लॉन्च की गई

गड़बड़ियां ठीक की गईं

  • QualitySelector को ठीक किया गया. फ़ॉलबैक रणनीति चालू होने पर, यह यूएचडी वीडियो रिकॉर्ड नहीं कर पाता था. यह समस्या तब होती है, जब VideoCapture को ImageCapture के साथ बाउंड किया जाता है और FULL या इससे ज़्यादा हार्डवेयर लेवल वाले कैमरा डिवाइस पर झलक देखी जाती है. QualitySelector की फ़ॉलबैक रणनीति की वजह से, VideoCapture को गलत तरीके से फ़ुल एचडी रिज़ॉल्यूशन मिलता है. इस इस्तेमाल के उदाहरण के लिए, यूएचडी रिज़ॉल्यूशन का इस्तेमाल किया जा सकता है. इसलिए, इसे अपनाया जाना चाहिए. (I0e788, b/230651237)
  • ImageCapture.takePicture() को NullPointerException ठीक किया गया. (I92366, b/230454568, b/229766155)
  • androidx.camera.video.Recorder (Ia8ce8) के एसिंक पॉज़ के व्यवहार को ठीक किया गया

Camera-Camera2, Camera-Core, Camera-Lifecycle, और Camera-Video का वर्शन 1.1.0

वर्शन 1.1.0

29 जून, 2022

androidx.camera:camera-*:1.1.0 रिलीज़ हो गया है. वर्शन 1.1.0 में ये बदलाव शामिल हैं.

1.0.0 के बाद किए गए अहम बदलाव

  • Landed View, Extension, और Video Capture लाइब्रेरी को उनके पहले आरसी वर्शन के तौर पर लॉन्च किया गया. 1.1.0-beta01 से, सभी CameraX लाइब्रेरी का वर्शन नंबर एक जैसा होगा. इससे डेवलपर को वर्शन को आसानी से ट्रैक करने में मदद मिलेगी. साथ ही, वर्शन के साथ काम करने वाली सुविधाओं की बड़ी मैट्रिक्स की जटिलता कम होगी.
  • नए सार्वजनिक एपीआई और सुविधाएं लॉन्च की गईं. इनमें ये शामिल हैं:
  • वीडियो कैप्चर करने के लिए, आधिकारिक camera-video लाइब्रेरी जोड़ें.
  • YUV से RGB में बदलने और रोटेशन की सुविधा (ImageAnalysis.Builder.setOutputImageRotationEnabled और setOutputImageFormat)
  • मल्टी-विंडो मोड की सुविधा को सपोर्ट करना. इसके लिए, CameraX ऐप्लिकेशन को कैमरे का इस्तेमाल फिर से शुरू करने की अनुमति दी जाती है. ऐसा तब होता है, जब कोई दूसरा ऐप्लिकेशन कैमरे का इस्तेमाल करता है और फिर से फ़ोकस वापस आता है.
  • झलक से जुड़ी कुछ समस्याओं को ठीक करके, यह पक्का किया गया है कि CameraX, फ़ोल्ड किए जा सकने वाले डिवाइसों में ठीक से काम करे.
  • CameraState एपीआई जोड़ा गया है, जिसे CameraInfo के ज़रिए एक्सपोज़ किया जाएगा.
  • उपलब्ध कैमरों के बारे में सीधे जानकारी पाने के लिए, एपीआई ProcessCameraProvider.getAvailableCameraInfos() जोड़ा गया
  • एक्सटेंशन चालू होने पर, ImageCapture#OnImageCapturedCallback के लिए JPEG फ़ॉर्मैट में आउटपुट.
  • CameraInfo में एपीआई isFocusMeteringSupported जोड़ा गया. इससे ऐप्लिकेशन यह जांच कर सकते हैं कि मौजूदा कैमरे पर FocusMeteringAction काम करता है या नहीं.
  • झलक, ImageCapture, और ImageAnalysis के लिए रिज़ॉल्यूशन की जानकारी देने के लिए, getResolutionInfo एपीआई को एक्सपोज़ किया गया.
  • नया एपीआई ImageCapture.Builder#setJpegQuality जोड़ा गया, ताकि फ़ोटो लेते समय आउटपुट JPEG इमेज के कंप्रेस होने की क्वालिटी बदली जा सके.
  • CameraSelector के आधार पर CameraInfos की सूची को फ़िल्टर करने के लिए, सार्वजनिक एपीआई में CameraSelector#filter को जोड़ा गया.
  • कैप्चर करने के अनुरोध के मौजूदा विकल्पों को हटाने के लिए, Camera2CameraControl.clearCaptureRequestOptions को जोड़ा गया.
  • इमेज प्रोसेस करने वाली बाहरी लाइब्रेरी के साथ CameraController का इस्तेमाल करने के लिए, एक्सपेरिमेंट के तौर पर एक एपीआई जोड़ा गया. उदाहरण के लिए, MLKit
  • एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई CameraInfo#getCameraSelector() जोड़ा गया, जो कैमरे के लिए यूनीक CameraSelector दिखाता है
  • एक्सपेरिमेंट के तौर पर उपलब्ध कई एपीआई को, सार्वजनिक तौर पर उपलब्ध एपीआई के तौर पर प्रमोट किया गया
  • एक्सपेरिमेंटल एपीआई के लिए, एनोटेशन @Experimental को @RequiresOptIn से बदल दिया गया है. एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई को कॉल करने के लिए, androidx.annotation.experimental.UseExperimental के बजाय androidx.annotation.OptIn का इस्तेमाल करें. androidx.annotation.experimental.UseExperimental अब काम नहीं करता.
  • एक्सपेरिमेंट के तौर पर उपलब्ध इन एपीआई को आधिकारिक एपीआई के तौर पर प्रमोट किया गया: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(),
  • @ExperimentalCameraFilter एपीआई
  • एक्सपेरिमेंट के तौर पर उपलब्ध एक्सपोज़र कंपंसेशन एपीआई.
  • कैमरा-कोर, कैमरा-लाइफ़साइकल, और कैमरा-वीडियो के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध UseCaseGroup एपीआई को प्रमोट किया गया. व्यूपोर्ट को पसंद के मुताबिक बनाने के लिए, ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection, और ViewPort.Builder#setScaleType को जोड़ा गया.
  • ExperimentalUseCaseGroupLifecycle को फ़ॉर्मल पब्लिक एपीआई के तौर पर प्रमोट किया गया.
  • मौजूदा एपीआई में बदलाव
  • MediaStoreOutputOptions.getCollectionUri के लिए Renamed MediaStoreOutputOptions.getCollection करें.
  • ActiveRecording का नाम बदलकर "रिकॉर्डिंग" कर दिया गया है, ताकि कम शब्दों में जानकारी दी जा सके.
  • QualitySelector क्रिएटर एपीआई को सूची पर आधारित एपीआई में बदला गया

गड़बड़ियां ठीक की गईं

  • एक्सटेंशन मोड चालू होने और ImageCapture#CAPTURE_MODE_MAX_QUALITY मोड सेट होने पर, YuvToJpegProcessor EOFException से जुड़ी समस्या को ठीक किया गया.
  • वीडियो रिकॉर्डिंग बंद होने की वजह से, कोडेक कॉन्फ़िगरेशन को ठीक नहीं किया जा सका
  • एफ़एचडी में रिकॉर्डिंग करते समय, वीडियो की झलक/वीडियो के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के स्ट्रेच होने की समस्या को ठीक किया गया
  • कुछ डिवाइसों पर वीडियो को रोकने और फिर से चलाने के बाद, ऑडियो/वीडियो के सिंक न होने की समस्या को ठीक किया गया
  • उस समस्या को ठीक किया गया है जिसमें कम रोशनी वाली जगह पर फ़्लैश मोड के 'ऑटो' या 'हमेशा चालू' पर सेट होने पर, टैप-टू-फ़ोकस (startFocusAndMetering) के दौरान फ़्लैश ट्रिगर हो जाता था.

वर्शन 1.1.0-rc02

1 जून, 2022

androidx.camera:camera-*:1.1.0-rc02 रिलीज़ हो गया है. वर्शन 1.1.0-rc02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ImageCapture.takePicture() को NullPointerException ठीक किया गया. (I92366, b/230454568, b/229766155)
  • उस गड़बड़ी को ठीक किया गया है जिसमें CONTROL_ZOOM_RATIO_RANGE विशेषता मिलने पर, AssertionError को मैनेज नहीं किया जा रहा था. (Ia248a, b/231701345)

वर्शन 1.1.0-rc01

11 मई, 2022

androidx.camera:camera-*:1.1.0-rc01 रिलीज़ हो गया है. वर्शन 1.1.0-rc01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • camera-video, camera-view, और camera-extension के लिए पहला आरसी वर्शन रिलीज़ करें

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसमें VideoCapture<Recorder> के अनबाउंड होने पर वीडियो कोडेक रिलीज़ नहीं होता था. इस वजह से, VideoCapture<Recorder> के बाद के इस्तेमाल में MediaCodec.CodecException के साथ रिकॉर्डिंग नहीं हो पाती थी. खास तौर पर, एपीआई 21-22 वाले डिवाइसों पर. (Ie7f68)
  • CameraExtensionsActivity की कैप्चर की गई इमेज, ImageCaptureTest में न मिटने की समस्या को ठीक किया गया

वर्शन 1.1.0-beta03

6 अप्रैल, 2022

androidx.camera:camera-*:1.1.0-beta03 रिलीज़ हो गया है. वर्शन 1.1.0-beta03 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • CaptureRequestOptions कंस्ट्रक्टर को प्रतिबंधित किया गया. (I261b6)
  • इमेज प्रोसेस करने वाली बाहरी लाइब्रेरी के साथ CameraController का इस्तेमाल करने के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई जोड़ा गया. उदाहरण के लिए, MLKit (I4ea71)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसकी वजह से, मल्टी-विंडो में डिवाइसों को घुमाने के बाद गतिविधि को रीस्टार्ट न करने पर, PreviewView में झलक साइडवे हो जाती थी. (I1ea36, b/223488673)
  • मल्टी-विंडो से जुड़ी एक समस्या को ठीक किया गया है. इसमें, फ़ोकस वापस ऐप्लिकेशन पर जाने पर कैमरा फिर से चालू नहीं होता. ऐसा तब होता है, जब (1) ज़्यादा प्राथमिकता वाला कोई दूसरा ऐप्लिकेशन, कोई दूसरा कैमरा खोलता है (2) डिवाइस, Samsung Android 12 डिवाइस होता है. (I7e9f2)
  • उन डिवाइसों के लिए समाधान शामिल किया गया है जो फ़्लैश की उपलब्धता की जांच करते समय क्रैश हो जाते हैं. इन डिवाइसों पर टॉर्च की सुविधा उपलब्ध नहीं होगी. (If26a3, b/216667482)
  • AbstractMethodError से जुड़ी उस समस्या को ठीक किया गया जो ऐप्लिकेशन में एक्सटेंशन इस्तेमाल करने और ProGuard चालू करने पर होती थी. (I7cbaf, b/222726805)
  • Motorola razr 5G डिवाइस पर, बोकेह एक्सटेंशन मोड को ज़बरदस्ती बंद करें. इससे झलक वाली स्क्रीन काली हो जाएगी. (I35d49)
  • एपीआई 29 से पहले के वर्शन वाले कुछ Samsung डिवाइसों पर, वीडियो को रोकने और फिर से चलाने के बाद, ऑडियो/वीडियो के सिंक न होने की समस्या को ठीक किया गया. (I64622, b/202798609, b/202798572)
  • Sony G3125 पर वीडियो को रोकने और फिर से चलाने के बाद, ऑडियो/वीडियो के सिंक न होने की समस्या को ठीक किया गया. (I2a1a5, b/202799148)
  • रिकॉर्डर में InvalidConfigException होने पर, क्रैश होने की समस्या को ठीक किया गया. हालांकि, इस तरीके से ऐप्लिकेशन को क्रैश होने से रोका जा सकता है, लेकिन InvalidConfigException की वजह को ठीक नहीं किया जा सकता. अगर Recorder को अब भी कॉन्फ़िगर नहीं किया जा सकता, तो रिकॉर्डिंग शुरू होने पर ऐप्लिकेशन को गड़बड़ी का कॉलबैक मिलेगा. (I89c29, b/213617227)

बाहरी योगदान

  • test-coroutines-lib माइग्रेशन की वजह से, :compose:ui:ui-test api (updateApi) को अपडेट किया गया (I3366d)

वर्शन 1.1.0-beta02

23 फ़रवरी, 2022

androidx.camera:camera-*:1.1.0-beta02 रिलीज़ हो गया है. वर्शन 1.1.0-beta02 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • Camera2Interop की मदद से, फ़िज़िकल कैमरा आईडी तय करने की सुविधा जोड़ी गई. (I5aed8)

गड़बड़ियां ठीक की गईं

  • Oppo Find N (I7d004) पर, स्ट्रेच की गई झलक से जुड़ी समस्या को ठीक किया गया
  • Galaxy J7 Prime में झलक खराब दिखने की समस्या को ठीक किया गया. (I4c500)
  • वीडियो एन्कोडर ढूंढने के लिए, काम करने वाली बिटरेट का इस्तेमाल करें. (d969052)

वर्शन 1.1.0-beta01

26 जनवरी, 2022

androidx.camera:camera-*:1.1.0-beta01 रिलीज़ हो गया है. वर्शन 1.1.0-beta01 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • 1.1.0-beta01 से, सभी CameraX लाइब्रेरी का वर्शन नंबर एक जैसा होगा. इससे डेवलपर को वर्शन ट्रैक करने में आसानी होगी. साथ ही, वर्शन के साथ काम करने वाली सुविधाओं की बड़ी मैट्रिक्स को मैनेज करने में आने वाली समस्याएं कम होंगी.

एपीआई में बदलाव

  • कैप्चर करने के अनुरोध के मौजूदा विकल्पों को हटाने के लिए, Camera2CameraControl.clearCaptureRequestOptions को जोड़ा गया. (Ifa07d)

गड़बड़ियां ठीक की गईं

  • Android O(एपीआई 26) से पहले के वर्शन वाले कुछ डिवाइसों पर वीडियो रिकॉर्ड करते समय, ऐप्लिकेशन क्रैश होने की समस्या को ठीक किया गया. (I88fdf, b/212328261)
  • Samsung डिवाइसों में सामने वाले कैमरे का इस्तेमाल करते समय, cameraControl#startFocusAndMetering() का इस्तेमाल करने पर गलत एएफ़ रीजन की समस्या को ठीक किया गया (Ifbf59, b/210548792)
  • अंधेरे में फ़ोटो खींचने की स्पीड और इमेज क्वालिटी को बेहतर बनाने के लिए, Pixel 3a/Pixel 3a XL पर टॉर्च को फ़्लैश के तौर पर इस्तेमाल करें (Ib12b6, b/211474332)
  • इससे ऐप्लिकेशन, कैमरे का इस्तेमाल फिर से शुरू कर पाते हैं. ऐसा तब होता है, जब मल्टी-विंडो मोड में ज़्यादा प्राथमिकता वाले किसी अन्य ऐप्लिकेशन की वजह से कैमरे का इस्तेमाल रुक जाता है और फ़ोकस वापस ऐप्लिकेशन पर चला जाता है. कृपया ध्यान दें कि फ़्रेमवर्क से जुड़ी किसी समस्या की वजह से, फ़ोकस बदलने और कैमरे को फिर से खोलने के बीच कुछ इंतज़ार करना पड़ सकता है. यह इंतज़ार एक सेकंड से लेकर 10 सेकंड या उससे ज़्यादा का हो सकता है. (I4d092)

वर्शन 1.1.0-alpha12

15 दिसंबर, 2021

androidx.camera:camera-*:1.1.0-alpha12 रिलीज़ हो गया है. वर्शन 1.1.0-alpha12 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • इनर क्लास/इंटरफ़ेस से ग़ैर-ज़रूरी @RequiresApi(21) एनोटेशन हटाए गए. (I8e286, b/204917951)
  • QualitySelector के क्वालिटी कॉन्स्टेंट और फ़ॉलबैक स्ट्रेटजी कॉन्स्टेंट को क्लास ऑब्जेक्ट के तौर पर दिखाने के लिए बदल दिया गया है. उदाहरण के लिए, QualitySelector.QUALITY_HD को बदलकर Quality.HD कर दिया जाता है. साथ ही, QualitySelector.FALLBACK_STRATEGY_LOWER को बदलकर FallbackStrategy.lowerQualityOrHigherThan(Quality) से मिलने वाला इंस्टेंस कर दिया जाता है. QualitySelector बनाने के लिए इस्तेमाल किए जाने वाले एपीआई को, सूची पर आधारित एपीआई में बदल दिया गया है. नया एपीआई QualitySelector.fromOrderedList(List<Quality>), QualitySelector.Procedure से बनाए गए क्रम के बजाय, इनपुट क्वालिटी की सूची के क्रम का रेफ़रंस देगा. QualitySelector.Procedure क्लास को हटा दिया गया है. (I43343)
  • PendingRecording.withEventListener() को हटा दिया गया है. अब इवेंट लिसनर को PendingRecording.start() में पास करना होगा. इवेंट लिसनर की इस ज़रूरी शर्त का मकसद, VideoRecordEvent.Finalize इवेंट में रिपोर्ट की गई एसिंक्रोनस गड़बड़ियों को मैनेज करने के लिए बढ़ावा देना है. (I1e71d)
  • ActiveRecording का नाम बदलकर Recording कर दिया गया है, ताकि कम शब्दों में जानकारी दी जा सके. (I77ceb)

गड़बड़ियां ठीक की गईं

  • Pixel 3a और Pixel 3a XL पर, FLASH_AUTO मोड में ली गई फ़ोटो कम रोशनी में साफ़ न दिखने की समस्या को ठीक किया गया (I13f19, b/205373142)
  • झलक Resolution तय करने के लिए, हमेशा डिसप्ले के सबसे नए साइज़ का इस्तेमाल करें. (I4a694)
  • ऐसे कैमरे फ़िल्टर किए गए जिनमें REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE नहीं है. REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE वाले कैमरों में, कम से कम वे सुविधाएं होती हैं जो हर कैमरा डिवाइस में काम करती हैं. REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE के बिना मौजूद कैमरा, खास फ़ंक्शन के लिए हो सकता है. इसमें स्टैंडर्ड कलर आउटपुट की सुविधा नहीं होती. CameraX, इन कैमरों के लिए Preview, ImageCapture, ImageAnalysis या VideoCapture के इस्तेमाल के उदाहरणों के साथ काम नहीं कर सकता. इसलिए, गलत इस्तेमाल से बचने के लिए, उन कैमरों को फ़िल्टर कर देना चाहिए. (Ib8cda)
  • नतीजों का सेट खाली होने पर, CameraSelector#filter अब IllegalArgumentException नहीं दिखाता. (I27804)
  • ओईएम की ओर से तय की गई प्रोफ़ाइलों के आधार पर, एन्कोडर की सेटिंग चुनने के लिए, अब बेहतर ह्यूरिस्टिक का इस्तेमाल किया जाता है. (Iaeef0)
  • Pixel 1 पर यूएचडी वीडियो रिकॉर्डिंग शुरू करने के बाद, फ़िक्स्ड झलक में इंटरलेस की गई रंगीन लाइनें दिखेंगी. (I833c6, b/205340278)

वर्शन 1.1.0-alpha11

17 नवंबर, 2021

androidx.camera:camera-*:1.1.0-alpha11 रिलीज़ हो गया है. वर्शन 1.1.0-alpha11 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • CameraSelector के आधार पर CameraInfos की सूची को फ़िल्टर करने के लिए, सार्वजनिक एपीआई में CameraSelector#filter जोड़ा गया. (I105d0)
  • ImageAnalysis कॉन्फ़िगरेशन के लिए, setOutputImageRotationEnabled API जोड़ा गया. उपयोगकर्ता, YUV/RGB इमेज बफ़र के लिए रोटेशन की सुविधा चालू कर सकता है. रोटेशन डिग्री, सेंसर रोटेशन और टारगेट रोटेशन के आधार पर कैलकुलेट किया गया रिलेटिव रोटेशन है. इससे इमेज को सामने रखा जाता है.

  • ImageAnalysis कॉन्फ़िगरेशन के लिए, setOutputImageRotationEnabled API जोड़ा गया. उपयोगकर्ता, YUV/RGB इमेज बफ़र के लिए रोटेशन की सुविधा चालू कर सकता है. रोटेशन डिग्री, सेंसर रोटेशन और टारगेट रोटेशन के आधार पर कैलकुलेट किया गया रिलेटिव रोटेशन है. इससे इमेज को सामने रखा जाता है.

    ImageInfo में getSensorToBufferTransformMatrix एपीआई जोड़ें. दिखाया गया मैट्रिक्स, सेंसर कोऑर्डिनेट से बफ़र कोऑर्डिनेट की मैपिंग है. इसका मतलब है कि यह CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE से (0, 0, image.getWidth, image.getHeight) की वैल्यू है. मैट्रिक्स का इस्तेमाल, एक {UseCase} से दूसरे {UseCase} में निर्देशांकों को मैप करने के लिए किया जा सकता है. उदाहरण के लिए, ImageAnalysis की मदद से पहचाने गए चेहरे के कोऑर्डिनेट को झलक के साथ मैप करना. (I9ff1e)

  • एक नया एपीआई ImageCapture.Builder#setJpegQuality जोड़ा गया है. इससे फ़ोटो लेते समय, आउटपुट JPEG इमेज की कंप्रेस की गई क्वालिटी को बदला जा सकता है. (I8dcf4)

  • MediaStoreOutputOptions.getCollection का नाम बदलकर MediaStoreOutputOptions.getCollectionUri किया गया. (I16639)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसकी वजह से कम रोशनी में, फ़्लैश मोड के 'ऑटो' या 'हमेशा चालू' पर सेट होने के बावजूद, टैप-टू-फ़ोकस (startFocusAndMetering) के दौरान फ़्लैश ट्रिगर हो जाता था. (Id4c11)
  • MINIMIZE_LATENCY मोड में, Pixel 2 XL / Pixel 3 XL पर एचडीआर+ की सुविधा बंद कर दी गई है, ताकि इंतज़ार का समय कम किया जा सके. (Ib6270, b/203505523)

बाहरी योगदान

वर्शन 1.1.0-alpha10

13 अक्टूबर, 2021

androidx.camera:camera-*:1.1.0-alpha10 रिलीज़ हो गया है. वर्शन 1.1.0-alpha10 में ये बदलाव शामिल हैं.

नई सुविधाएं

एपीआई में बदलाव

  • सभी CameraX क्लास में @RequiresApi(21) एनोटेशन जोड़ा गया और AndroidManifest.xml से minSdkVersion को हटा दिया गया. इससे, कैमरा-कोर को उन ऐप्लिकेशन में आसानी से इंटिग्रेट किया जा सकेगा जिनमें minSdkVersion 21 से कम है. हालांकि, ये ऐप्लिकेशन कुछ शर्तों के साथ ऐसे कोड पाथ इस्तेमाल करना चाहते हैं जो एपीआई 21 और इसके बाद के वर्शन पर निर्भर करते हैं. अगर किसी ऐप्लिकेशन में minSdkVersion 21 या इसके बाद का वर्शन है, तो इस बदलाव के लिए कुछ करने की ज़रूरत नहीं है. (Ie7f2e, b/200599470)

गड़बड़ियां ठीक की गईं

  • InitializationException को थ्रो करें, ताकि ऐप्लिकेशन CameraCharacteristics बनाते समय होने वाली AssertionError को आसानी से हैंडल कर सके. (Ibec79)

वर्शन 1.1.0-alpha09

29 सितंबर, 2021

androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09, और androidx.camera:camera-lifecycle:1.1.0-alpha09 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha09 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • ExperimentalUseCaseGroup एनोटेशन को अब हटा दिया गया है, क्योंकि एपीआई अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. (I01ef5)

गड़बड़ियां ठीक की गईं

  • MAXIMIZE_QUALITY मोड में कैप्चर की गई फ़ोटो धुंधली होने की समस्या को ठीक किया गया. (I173a9, b/193823892)
  • Samsung Galaxy J5 में आने वाली उस समस्या को ठीक किया गया है जिसमें अंधेरे में फ़्लैश चालू/ऑटो मोड में फ़ोटो लेने के बाद कैमरा अटक जाता था (I3aab9)
  • ImageCapture के लिए, इमेज को क्रॉप करने की ज़रूरत पड़ने पर, क्रॉप की गई इमेज को कंप्रेस करना. इसके लिए, सेट किए गए कैप्चर मोड के हिसाब से, JPEG क्वालिटी लेवल तय किया जाता है. अगर कैप्चर मोड CAPTURE_MODE_MINIMIZE_LATENCY है, तो JPEG कंप्रेस करने की क्वालिटी 95 होगी. अगर कैप्चर मोड CAPTURE_MODE_MAXIMIZE_QUALITY है, तो JPEG कंप्रेशन की क्वालिटी 100 होगी. (Ieb37c, b/142856426)

वर्शन 1.1.0-alpha08

18 अगस्त, 2021

androidx.camera:camera-camera2:1.1.0-alpha08, androidx.camera:camera-core:1.1.0-alpha08, और androidx.camera:camera-lifecycle:1.1.0-alpha08 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha08 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • इमेज के विश्लेषण के कॉन्फ़िगरेशन के लिए, setOutputImageFormat API जोड़ें. उपयोगकर्ता, ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 या ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888 को चुन सकता है. डिफ़ॉल्ट रूप से, ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 को चुना जाएगा. (I7902d)

एपीआई में बदलाव

  • ExperimentalUseCaseGroupLifecycle एनोटेशन को अब हटा दिया गया है, क्योंकि एपीआई अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. (I17b85)

गड़बड़ियां ठीक की गईं

  • Huawei P20 Lite पर, झलक वाली स्क्रीन के बहुत ज़्यादा ब्राइट होने की समस्या को ठीक किया गया. यह समस्या सिर्फ़ तब होती है, जब झलक के लिए कुछ खास रिज़ॉल्यूशन का इस्तेमाल, ज़ूम इन की ज़्यादा वैल्यू के साथ किया जाता है. (Idefce, b/192129158)
  • हमने उस समस्या को ठीक कर दिया है जिसकी वजह से कुछ डिवाइसों पर फ़्लैश मोड को FLASH_MODE_ON पर सेट करने के तुरंत बाद फ़ोटो लेने पर, फ़्लैश काम नहीं करता था. (Ieb49b)
  • उस समस्या को ठीक किया गया है जिसमें VideoCapture, ImageCapture, और Preview के बाउंड होने पर, फ़ोटो लेते समय Preview कुछ समय के लिए रुक जाता था. (I56197, b/193864120)
  • ImageAnalysis को 1080 पिक्सल से ज़्यादा रिज़ॉल्यूशन चुनने की अनुमति देता है. LIMITED लेवल वाला डिवाइस, ImageAnalysis के लिए RECORD साइज़ का रिज़ॉल्यूशन इस्तेमाल कर सकता है. ऐसा तब होता है, जब इसे Preview और ImageCapture के साथ जोड़ा जाता है. इसके लिए, ImageCapture के लिए चुना गया रिज़ॉल्यूशन, RECORD साइज़ का रिज़ॉल्यूशन होना चाहिए. ImageAnalysis के लिए RECORD साइज़ का रिज़ॉल्यूशन चुनने के लिए, ImageCapture और ImageAnalysis, दोनों पर RECORD साइज़ का टारगेट रिज़ॉल्यूशन सेट होना चाहिए. इससे पता चलता है कि ऐप्लिकेशन, ट्रेड-ऑफ़ को साफ़ तौर पर समझता है. साथ ही, ImageCapture के लिए ज़्यादा से ज़्यादा रिज़ॉल्यूशन के बजाय, ImageAnalysis के लिए ज़्यादा रिज़ॉल्यूशन को प्राथमिकता देता है. रिकॉर्ड, ज़्यादा से ज़्यादा साइज़, और अन्य जानकारी की परिभाषाओं के लिए, https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture पर जाएं. RECORD साइज़ का मतलब, कैमरे से रिकॉर्ड किए जा सकने वाले वीडियो के ज़्यादा से ज़्यादा रिज़ॉल्यूशन से है. यह CamcorderProfile से तय होता है. ज़्यादा से ज़्यादा साइज़ का मतलब, उस फ़ॉर्मैट या टारगेट के लिए कैमरा डिवाइस के ज़्यादा से ज़्यादा आउटपुट रिज़ॉल्यूशन से है. यह जानकारी, StreamConfigurationMap.getOutputSizes(int) से मिलती है. (I1ee97, b/192911449)
  • कैप्चर की गई इमेज में Exif जानकारी जोड़ें. (I01ff0, b/193342619)
  • ImageCapture में, सेव की गई इमेज का यूआरआई दिखाएं. ऐसा तब करें, जब सेव करने की जगह फ़ाइल हो. (Ib5b49, b/149241379)
  • उस समस्या को ठीक किया गया है जिसकी वजह से कई डिवाइसों पर, फ़्लैश के साथ कैप्चर की गई इमेज गहरे रंग की दिखती थीं. (I4e510)

वर्शन 1.1.0-alpha07

21 जुलाई, 2021

androidx.camera:camera-camera2:1.1.0-alpha07, androidx.camera:camera-core:1.1.0-alpha07, और androidx.camera:camera-lifecycle:1.1.0-alpha07 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha07 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Samsung Galaxy Note 5 में आने वाली एक समस्या को ठीक किया गया है. इसमें अंधेरे में फ़्लैश चालू/ऑटो मोड पर फ़ोटो लेने के बाद, कैमरा हैंग हो जाता था (If6871)
  • एक्सटेंशन मोड चालू होने और ImageCapture#CAPTURE_MODE_MAX_QUALITY मोड सेट होने पर, YuvToJpegProcessor EOFException से जुड़ी समस्या को ठीक किया गया. (I538bd, b/192017012)

वर्शन 1.1.0-alpha06

30 जून, 2021

androidx.camera:camera-camera2:1.1.0-alpha06, androidx.camera:camera-core:1.1.0-alpha06, और androidx.camera:camera-lifecycle:1.1.0-alpha06 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha06 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • कैमरा-कोर के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध एक्सपोज़र कंपंसेशन एपीआई को प्रमोट किया गया (I08ee8)
  • CameraInfo में isFocusMeteringSupported एपीआई जोड़ा गया है. इससे ऐप्लिकेशन यह जांच कर सकते हैं कि मौजूदा कैमरे पर, FocusMeteringAction काम करता है या नहीं. (Ib45ae, b/188606490)
  • झलक, इमेज कैप्चर, और इमेज विश्लेषण के लिए रिज़ॉल्यूशन की जानकारी देने के लिए, getResolutionInfo एपीआई को सार्वजनिक किया गया. (I2b613, b/188600718)
  • एक्सपेरिमेंट के तौर पर उपलब्ध इन एपीआई को आधिकारिक एपीआई के तौर पर प्रमोट किया गया: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
  • कैमरों के सेट का ऐक्सेस देने के लिए, CameraProvider इंटरफ़ेस को एक्सपोज़ किया गया. (I1a7b1)
  • camera-core, camera-lifecycle, और camera-video के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध UseCaseGroup API को प्रमोट करें. व्यूपोर्ट को पसंद के मुताबिक बनाने के लिए, ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection, और ViewPort.Builder#setScaleType को जोड़ा गया. (I7cee8)

वर्शन 1.1.0-alpha05

2 जून, 2021

androidx.camera:camera-camera2:1.1.0-alpha05, androidx.camera:camera-core:1.1.0-alpha05, और androidx.camera:camera-lifecycle:1.1.0-alpha05 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha05 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • Camera2CameraFilter क्लास को हटा दिया गया है. CameraFilter का इस्तेमाल करके कैमरा चुनने का सुझाव दें. साथ ही, ज़रूरत पड़ने पर Camera2CameraInfo के ज़रिए CameraCharacteristics या Camera2 से जुड़ी अन्य जानकारी हासिल करें. (Ib887c)
  • ExperimentalCameraFilter एपीआई अब एक्सपेरिमेंट के चरण से बाहर हो गए हैं और आधिकारिक एपीआई बन गए हैं. इन्हें एनोटेट किए गए OptIn के बिना इस्तेमाल किया जा सकता है. (I4bc94)
  • कैमरे की स्थिति बताने वाला एपीआई जोड़ा गया है. इसे CameraInfo#getCameraState() की मदद से ऐक्सेस किया जा सकता है. (Ia86b4)
  • एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई CameraInfo#getCameraSelector() जोड़ा गया. यह अपने कैमरे के लिए यूनीक CameraSelector दिखाता है (I77f9f)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसकी वजह से, Android 11 वाले कुछ डिवाइसों पर, setZoomRatio और setLinearZoom में ListenableFuture को पूरा नहीं किया जा सकता था (I716d7)
  • कैमरा स्विच करने की प्रोसेस को तेज़ करना और कैमरा डिवाइस में होने वाली गड़बड़ी की दर को कम करना (I34c99)
  • ExperimentalUseCaseGroupLifecycle को ExperimentalUseCaseGroup से बदला गया. (I3b2ef, b/159033688)

वर्शन 1.1.0-alpha04

21 अप्रैल, 2021

androidx.camera:camera-camera2:1.1.0-alpha04, androidx.camera:camera-core:1.1.0-alpha04, और androidx.camera:camera-lifecycle:1.1.0-alpha04 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha04 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक ही कलेक्शन को एक साथ कई थ्रेड से ऐक्सेस करने की वजह से होने वाली मेमोरी लीक की समस्या को ठीक किया गया. मेमोरी लीक की वजह से, झलक दिखाने वाले इंस्टेंस में गतिविधि या फ़्रैगमेंट को सेव रखा जा सकता है. (I7b4b8)
  • एक्सपेरिमेंटल एपीआई के लिए, एनोटेशन @Experimental को @RequiresOptIn से बदल दिया गया है. एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई को कॉल करने के लिए, अब काम न करने वाले androidx.annotation.experimental.UseExperimental के बजाय androidx.annotation.OptIn का इस्तेमाल करें. (Iff226)
  • Samsung Galaxy S7 पर, फ़्लैश चालू/ऑटो मोड में ImageCapture से ली गई इमेज धुंधली आने की समस्या को ठीक किया गया. (I30001)
  • CameraState API जोड़ा गया है. इसे CameraInfo के ज़रिए एक्सपोज़ किया जाएगा. (I75392)

वर्शन 1.1.0-alpha03

24 मार्च, 2021

androidx.camera:camera-camera2:1.1.0-alpha03, androidx.camera:camera-core:1.1.0-alpha03, और androidx.camera:camera-lifecycle:1.1.0-alpha03 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha03 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक्सटेंशन मोड चालू होने पर, ImageCapture#OnImageCapturedCallback के लिए JPEG फ़ॉर्मैट में आउटपुट दें. (I0d7b1)
  • UMIDIGI BISON डिवाइसों पर, शुरू न होने की समस्या को ठीक किया गया (I57d9e, b/180818665)
  • PreviewView में Samsung A3 की स्ट्रेच की गई झलक को ठीक किया गया. (Iacb30, b/180121821)

वर्शन 1.1.0-alpha02

24 फ़रवरी, 2021

androidx.camera:camera-camera2:1.1.0-alpha02, androidx.camera:camera-core:1.1.0-alpha02, और androidx.camera:camera-lifecycle:1.1.0-alpha02 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha02 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • उपलब्ध कैमरों के बारे में सीधे तौर पर जानकारी पाने के लिए, एपीआई ProcessCameraProvider.getAvailableCameraInfos() जोड़ा गया. ये कैमरे, डिवाइस के सभी कैमरे या CameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector) में दिए गए CameraSelector से चुने गए कैमरे हो सकते हैं. (Ieac08)

गड़बड़ियां ठीक की गईं

  • अब CameraX, पहली कोशिश में ही कैमरे को ज़बरदस्ती खोलने की कोशिश करता है. इससे, CameraX अन्य कैमरा क्लाइंट से कैमरे को छीन सकता है. ऐसा तब होता है, जब इसके ऐप्लिकेशन को ज़्यादा प्राथमिकता दी जाती है. (Iab069, b/175820568)
  • CameraXConfig में setAvailableCamerasLimiter का इस्तेमाल करने पर, Robolectric टेस्ट फ़ेलियर की समस्या को ठीक किया गया. (Ice307)
  • इस बदलाव से, ImageAnalysis में इमेज की सूची भरने पर अपवाद का पता चलता है. इसलिए, क्रैश होने के बजाय, आपको इस्तेमाल के अन्य उदाहरण फ़्रीज़ या धीमे होते हुए दिख सकते हैं. उदाहरण के लिए, फ़्रीज़/धीमा प्रीव्यू. (Ic12da, b/175851631)
  • ExtensionsErrorListener को ठीक किया गया, ताकि सिर्फ़ Preview या ImageCapture के बाउंड होने पर गड़बड़ियों की रिपोर्ट की जा सके. (I5ae39)
  • फ़ोटो लेने से पहले, इमेज सेव करने की जगह की पुष्टि करने की सुविधा को हटाकर, ImageCapture की परफ़ॉर्मेंस में आई गिरावट को ठीक किया गया. यह बदलाव करने के बाद, अगर सेव करने की जगह अमान्य है, तो गड़बड़ी का जवाब मिलने में ज़्यादा समय लगेगा. ऐसा इसलिए, क्योंकि फ़ोटो लेने के बाद, इमेज को सेव करने की कोशिश की जाएगी. (I1fd4e, b/177061560)
  • "फ़ाइल" टाइप के OutputFileOptions के साथ, ImageCapture की परफ़ॉर्मेंस में आई गिरावट को ठीक किया गया. (I5164a, b/177061560)
  • दस्तावेज़ को अपडेट किया गया है, ताकि लाइब्रेरी कोड से ProcessCameraProvider.configureInstance(...) का इस्तेमाल न करने का सुझाव दिया जा सके. (Ib8a9f)

वर्शन 1.1.0-alpha01

27 जनवरी, 2021

androidx.camera:camera-camera2:1.1.0-alpha01, androidx.camera:camera-core:1.1.0-alpha01, और androidx.camera:camera-lifecycle:1.1.0-alpha01 रिलीज़ किए गए हैं. वर्शन 1.1.0-alpha01 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • SM-G930T के बैक कैमरे से ली गई JPEG फ़ोटो में, कभी-कभी खराब इमेज डेटा की समस्या को ठीक करने का तरीका शामिल किया गया है. (I52001, b/159831206)
  • IllegalArgumentException समस्या को ठीक किया गया. यह समस्या तब होती थी, जब झलक के लिए इस्तेमाल किए जा सकने वाले सभी साइज़ 640x480 से छोटे होते थे और डिसप्ले साइज़ 640x480 से बड़ा होता था. (I2a63c, b/150506192)
  • ऐसी लाइब्रेरी में मौजूद संसाधन जिनमें साफ़ तौर पर सार्वजनिक संसाधनों का एलान नहीं किया गया है (उदाहरण के लिए, public.xml के ज़रिए), वे अब डिफ़ॉल्ट रूप से निजी हैं. (Ia1dcc, b/170882230)

Camera-Camera2, Camera-Core, और Camera-Lifecycle का वर्शन 1.0.2

वर्शन 1.0.2

29 सितंबर, 2021

androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2, और androidx.camera:camera-lifecycle:1.0.2 रिलीज़ किए गए हैं. वर्शन 1.0.2 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • MAXIMIZE_QUALITY मोड में कैप्चर की गई फ़ोटो धुंधली होने की समस्या को ठीक किया गया. (I173a9, b/193823892)
  • कई डिवाइसों पर, फ़्लैश के साथ ली गई इमेज के गहरे रंग में दिखने की समस्या को ठीक किया गया है. (I4e510)

Camera-Camera2, Camera-Core, और Camera-Lifecycle का वर्शन 1.0.1

वर्शन 1.0.1

21 जुलाई, 2021

androidx.camera:camera-camera2:1.0.1, androidx.camera:camera-core:1.0.1, और androidx.camera:camera-lifecycle:1.0.1 रिलीज़ किए गए हैं. वर्शन 1.0.1 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसकी वजह से, कुछ Android 11 डिवाइसों पर setZoomRatio और setLinearZoom में दिखाए गए ListenableFuture को पूरा नहीं किया जा सकता था (I716d7)

  • कुछ डिवाइसों पर, कैमरा बंद होने की स्थिति में अटक जाने और काली झलक दिखने की समस्या को ठीक किया गया. (I34c99)

Camera-Camera2, Camera-Core, और Camera-Lifecycle का वर्शन 1.0.0

वर्शन 1.0.0

5 मई, 2021

androidx.camera:camera-camera2:1.0.0, androidx.camera:camera-core:1.0.0, और androidx.camera:camera-lifecycle:1.0.0 रिलीज़ किए गए हैं. वर्शन 1.0.0 में ये बदलाव शामिल हैं.

1.0.0 की मुख्य सुविधाएं

  • CameraX में झलक, इमेज कैप्चर, और विश्लेषण की सुविधा काम करती है
  • CameraX, इस्तेमाल करने में आसान एपीआई की मदद से, कैमरे की लाइफ़साइकल को मैनेज करता है
  • CameraX का मकसद, एक ऐसा कंपैटिबिलिटी लेयर उपलब्ध कराना है जो Android कैमरा नेटवर्क में आने वाली कई समस्याओं को ठीक करता है

पहले से मालूम समस्याएं

वर्शन 1.0.0-rc05

21 अप्रैल, 2021

androidx.camera:camera-camera2:1.0.0-rc05, androidx.camera:camera-core:1.0.0-rc05, और androidx.camera:camera-lifecycle:1.0.0-rc05 रिलीज़ किए गए हैं. वर्शन 1.0.0-rc05 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Samsung Galaxy S7 पर, फ़्लैश चालू/ऑटो मोड में ImageCapture से ली गई इमेज धुंधली आने की समस्या को ठीक किया गया. (I30001)

वर्शन 1.0.0-rc04

24 मार्च, 2021

androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04, और androidx.camera:camera-lifecycle:1.0.0-rc04 रिलीज़ किए गए हैं. वर्शन 1.0.0-rc04 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • UMIDIGI BISON डिवाइसों पर, शुरू न होने की समस्या को ठीक किया गया (I57d9e, b/180818665)

वर्शन 1.0.0-rc03

24 फ़रवरी, 2021

androidx.camera:camera-camera2:1.0.0-rc03, androidx.camera:camera-core:1.0.0-rc03, और androidx.camera:camera-lifecycle:1.0.0-rc03 रिलीज़ किए गए हैं. वर्शन 1.0.0-rc03 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ProcessCameraProvider#getInstance के दस्तावेज़ में मौजूद फ़ॉर्मैट की गड़बड़ी को ठीक करना
  • CameraXConfig में setAvailableCamerasLimiter का इस्तेमाल करने पर, Robolectric टेस्ट फ़ेलियर की समस्या को ठीक किया गया.
  • फ़ोटो लेने से पहले, इमेज सेव करने की जगह की पुष्टि करने की सुविधा को हटाकर, ImageCapture की परफ़ॉर्मेंस में आई गिरावट को ठीक किया गया. यह बदलाव करने के बाद, अगर सेव करने की जगह अमान्य है, तो गड़बड़ी का जवाब मिलने में ज़्यादा समय लगेगा. ऐसा इसलिए होगा, क्योंकि फ़ोटो लेने के बाद इमेज को सेव करने की कोशिश की जाएगी
  • इस बदलाव से, ImageAnalysis में इमेज की सूची पूरी होने पर अपवाद का पता चलता है. इसलिए, क्रैश होने के बजाय, आपको इस्तेमाल के अन्य उदाहरणों के फ़्रीज़ होने या धीमे होने की समस्या दिख सकती है. उदाहरण के लिए, झलक का फ़्रीज़ होना/धीमा होना.
  • SM-G930T के बैक कैमरे से ली गई JPEG फ़ोटो में, कभी-कभी खराब इमेज डेटा की समस्या को ठीक करने का तरीका शामिल किया गया है. (I52001, b/159831206)
  • इस बदलाव से, ImageAnalysis में इमेज की सूची भरने पर अपवाद का पता चलता है. इसलिए, क्रैश होने के बजाय, आपको इस्तेमाल के अन्य उदाहरण फ़्रीज़ या धीमे होते हुए दिख सकते हैं. उदाहरण के लिए, फ़्रीज़/धीमा प्रीव्यू. (Ic12da, b/175851631)
  • CameraXConfig में setAvailableCamerasLimiter का इस्तेमाल करने पर, Robolectric टेस्ट फ़ेलियर की समस्या को ठीक किया गया. (Ice307)
  • फ़ोटो लेने से पहले, इमेज सेव करने की जगह की पुष्टि करने की सुविधा को हटाकर, ImageCapture की परफ़ॉर्मेंस में आई गिरावट को ठीक किया गया. यह बदलाव करने के बाद, अगर सेव करने की जगह अमान्य है, तो गड़बड़ी का जवाब मिलने में ज़्यादा समय लगेगा. ऐसा इसलिए, क्योंकि फ़ोटो लेने के बाद, इमेज को सेव करने की कोशिश की जाएगी. (I1fd4e, b/177061560)
  • "फ़ाइल" टाइप के OutputFileOptions के साथ, ImageCapture की परफ़ॉर्मेंस में आई गिरावट को ठीक किया गया. (I5164a, b/177061560)

वर्शन 1.0.0-rc02

27 जनवरी, 2021

androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02, और androidx.camera:camera-lifecycle:1.0.0-rc02 रिलीज़ किए गए हैं. वर्शन 1.0.0-rc02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • IllegalArgumentException से जुड़ी समस्या को ठीक किया गया. यह समस्या तब होती थी, जब झलक के लिए इस्तेमाल किए जा सकने वाले सभी साइज़ 640x480 से छोटे होते थे और डिसप्ले का साइज़ 640x480 से बड़ा होता था. (b/150506192)
  • कैमरे को फिर से खोलने की कोशिशों की संख्या सीमित करें. कैमरा खोलने के दौरान होने वाली कुछ समस्याओं को ठीक करने की कोशिश करते समय, CameraX अब कैमरे को फिर से खोलने की कोशिश अनिश्चित समय तक नहीं करेगा. इसके बजाय, वह 10 सेकंड तक कोशिश करने के बाद रुक जाएगा.I435d2

  • IllegalArgumentException समस्या को ठीक किया गया. यह समस्या तब होती थी, जब झलक के लिए इस्तेमाल किए जा सकने वाले सभी साइज़ 640x480 से छोटे होते थे और डिसप्ले साइज़ 640x480 से बड़ा होता था. (I2a63c, b/150506192)

वर्शन 1.0.0-rc01

16 दिसंबर, 2020

androidx.camera:camera-camera2:1.0.0-rc01, androidx.camera:camera-core:1.0.0-rc01, और androidx.camera:camera-lifecycle:1.0.0-rc01 रिलीज़ किए गए हैं. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • CameraInfo को शामिल करने के लिए, CameraFilter और Camera2Filter में बदलाव किया गया. (I6883d)
  • एक्सपेरिमेंट के तौर पर उपलब्ध क्लास Camera2CameraControl को जोड़ा गया, ताकि Camera2 एपीआई के साथ डाइनैमिक तौर पर इंटरऑपरेट किया जा सके. (I45cf3)
  • Camera2CameraInfo#fromCameraInfo का नाम बदलकर #from किया गया. (Ia2bd6)
  • CameraXConfig में, एक्सपेरिमेंट के तौर पर setAvailableCamerasLimiter एपीआई जोड़ा गया. इससे ऐप्लिकेशन, इस्तेमाल न किए जा रहे कैमरों को शुरू करने से बचकर, शुरू होने में लगने वाले समय को कम कर सकते हैं. (I6cf88)
  • हमने एक्सपेरिमेंट के तौर पर CameraXConfig.Builder#setMinimumLoggingLevel() तरीका जोड़ा है. इससे CameraX लॉग के लिए, लॉगिंग का कम से कम लेवल सेट किया जा सकता है. अगर इसे सेट नहीं किया जाता है, तो यह डिफ़ॉल्ट रूप से Log#DEBUG पर सेट हो जाता है. (Ic3245)

गड़बड़ियां ठीक की गईं

  • SM-G930V के रियर कैमरे से ली गई JPEG इमेज में, कभी-कभी खराब इमेज डेटा की समस्या को ठीक करने के लिए, एक तरीका शामिल किया गया है. (I5aca5, b/159831206)
  • Samsung SM-A716 डिवाइसों पर, फ़्लैश हमेशा चालू रहने और अंधेरा होने पर, फ़ोटो लेने के बाद नतीजे न मिलने की समस्या को ठीक किया गया. (If98b2, b/172036589)
  • उस समस्या को ठीक किया गया है जिसकी वजह से Preview.setSurfaceProvider(null) को कॉल करके, झलक को रोका नहीं जा सकता था. (I3ac18)
  • कुछ डिवाइसों पर 4:3 आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) वाली इमेज कैप्चर करते समय, ओरिएंटेशन की समस्या को ठीक किया गया. (I0e3fb, b/171492111)

Camera Camera2, Core, और Lifecycle का वर्शन 1.0.0-beta12

11 नवंबर, 2020

androidx.camera:camera-camera2:1.0.0-beta12, androidx.camera:camera-core:1.0.0-beta12, और androidx.camera:camera-lifecycle:1.0.0-beta12 रिलीज़ किए गए हैं. वर्शन 1.0.0-beta12 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Samsung A3 डिवाइसों पर, ऑटो फ़्लैश एई मोड में फ़ोटो लेते समय ऐप्लिकेशन क्रैश होने की समस्या को ठीक करने के लिए, ऑटो फ़्लैश की सुविधा बंद कर दी गई है. (Ia5fe3, b/157535165)
  • Android L (एपीआई लेवल 21 और 22) पर चलने वाले Nexus 4 डिवाइसों पर, झलक के स्ट्रेच होने की समस्या को ठीक किया गया. (I4d407, b/158749159)
  • OnImageCapturedCallback#onCaptureSuccess बेस क्लास लागू करने पर, अब इमेज बंद नहीं होती. ऐसा इसलिए किया जाता है, ताकि डेवलपर को कोई अनचाही समस्या न आए. इमेज को बंद करने के लिए, डेवलपर को super.onCaptureSuccess पर भरोसा नहीं करना चाहिए. (Ifbf9c)
  • Kotlin के साथ समानता बनाए रखने के लिए, एक्सपेरिमेंटल एनोटेशन के androidx वैरिएंट को बंद कर दिया गया है. इसे RequiresOptIn एनोटेशन से बदल दिया गया है. साथ ही, Java-फ़ेसिंग लिंटर को अपडेट कर दिया गया है, ताकि वह Kotlin के नए एनोटेशन और androidx के नए वैरिएंट, दोनों के साथ काम कर सके. (I52495, b/151331381)

Camera-Camera2 का वर्शन 1.0.0-beta11

14 अक्टूबर, 2020

androidx.camera:camera-camera2:1.0.0-beta11 रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • Android 11 या इसके बाद के वर्शन वाले डिवाइसों पर ज़ूम करने के लिए, Android 11 CONTROL_ZOOM_RATIO एपीआई के साथ काम करता है. इन डिवाइसों में मान्य CONTROL_ZOOM_RATIO_RANGE होना चाहिए. (I62cc6)

गड़बड़ियां ठीक की गईं

  • NumberFormatException की समस्या को ठीक किया गया है. यह समस्या तब होती थी, जब कैमरा आईडी, नॉन-इंटीजर कैमरा आईडी होता था. (Ib2228)
  • CameraX को शुरू करने और bindToLifecycle के इंतज़ार के समय को कम किया गया (I61dc5)
  • UseCases बनाने के लिए, CameraX को शुरू करने की ज़रूरत नहीं होती. लागू करने से जुड़े सभी कॉन्फ़िगरेशन, UseCase पर सेट किए जाते हैं. ऐसा तब होता है, जब इसे किसी कैमरा इंस्टेंस से अटैच किया जाता है. सार्वजनिक एपीआई के लिए, यह इंस्टेंस ProcessCameraProvider.bindToLifecycle() होता है. (Ia5411)
  • अगर <UseCase>.getTargetRotation() को Camera के इंस्टेंस से अटैच करने से पहले कॉल किया जाता है, तो यह Surface.ROTATION_0 दिखाएगा. हालांकि, अगर Builder या UseCase पर targetRotation सेट किया गया है, तो ऐसा नहीं होगा. (I80fcd)

Camera-Core का वर्शन 1.0.0-beta11

14 अक्टूबर, 2020

androidx.camera:camera-core:1.0.0-beta11 रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये बदलाव शामिल हैं.

नई सुविधाएं - Android 11 या इसके बाद के वर्शन वाले डिवाइसों पर ज़ूम करने के लिए, Android 11 CONTROL_ZOOM_RATIO एपीआई के साथ काम करता है. इन डिवाइसों में मान्य CONTROL_ZOOM_RATIO_RANGE होना चाहिए. (I62cc6)

गड़बड़ियां ठीक की गईं

  • NumberFormatException की समस्या को ठीक किया गया है. यह समस्या तब होती थी, जब कैमरा आईडी, नॉन-इंटिजर कैमरा आईडी होता था. (Ib2228)
  • UseCases बनाने के लिए, CameraX को शुरू करने की ज़रूरत नहीं होती. लागू करने से जुड़े सभी कॉन्फ़िगरेशन, UseCase पर सेट किए जाते हैं. ऐसा तब होता है, जब इसे किसी कैमरा इंस्टेंस से अटैच किया जाता है. सार्वजनिक एपीआई के लिए, यह इंस्टेंस ProcessCameraProvider.bindToLifecycle() होता है. (Ia5411)
  • अगर <UseCase>.getTargetRotation() को Camera के इंस्टेंस से अटैच करने से पहले कॉल किया जाता है, तो यह Surface.ROTATION_0 दिखाएगा. हालांकि, अगर Builder या UseCase पर targetRotation सेट किया गया है, तो ऐसा नहीं होगा. (I80fcd)

Camera-Core का वर्शन 1.0.0-beta10

23 सितंबर, 2020

androidx.camera:camera-core:1.0.0-beta10 रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • इमेज कैप्चर करने के लिए, फ़ाइल सेव करने की जगह की पुष्टि करने से जुड़ी गड़बड़ी को ठीक किया गया (I8c565, b/167697553)

Camera-Camera2 का वर्शन 1.0.0-beta10

23 सितंबर, 2020

androidx.camera:camera-camera2:1.0.0-beta10 रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया

Camera-Camera2 का वर्शन 1.0.0-beta09

16 सितंबर, 2020

androidx.camera:camera-camera2:1.0.0-beta09 रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • Camera2CameraInfo, स्टैटिक तरीके उपलब्ध कराने के बजाय, CameraInfo का इंस्टेंस लेता है. ऐसा इसलिए, ताकि Camera2 से जुड़ी जानकारी को वापस लाया जा सके. (I5b844)

गड़बड़ियां ठीक की गईं

  • टैबलेट डिवाइसों पर, टारगेट आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) से जुड़ी समस्या को ठीक किया गया. अगर टारगेट आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) AspectRatio.RATIO_16_9 पर सेट है, तो 16:9 साइज़ चुना जाना चाहिए. (Ib7fcf, b/151969438)
  • InitializationException को थ्रो करें, ताकि ऐप्लिकेशन CameraCharacteristics बनाते समय हुई AssertionError को आसानी से हैंडल कर सके. (I89c8c, b/160524721)
  • ExposureCompensation (If96c7) के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध इंटरफ़ेस जोड़े गए

Camera-Core वर्शन 1.0.0-beta09

16 सितंबर, 2020

androidx.camera:camera-core:1.0.0-beta09 रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • उस गड़बड़ी को ठीक किया गया है जिसमें UseCaseGroup पर व्यूपोर्ट को नॉन-नुल के तौर पर मार्क किया गया था. डेवलपर को व्यूपोर्ट सेट किए बिना भी व्यूपोर्ट बनाने की सुविधा मिलनी चाहिए. (Ie3d2e)
  • ExposureCompensation के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध इंटरफ़ेस जोड़े गए (If96c7)
  • झलक के लिए, टारगेट रोटेशन की अनुमति दें. ट्रांसफ़ॉर्मेशन की जानकारी का हिसाब लगाया जाता है और नए TranformationInfoListener कॉलबैक के ज़रिए, उपयोगकर्ता को तुरंत जानकारी दी जाती है. (I21470)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से कुछ डिवाइसों पर फ़्लैश बंद नहीं होता था. ऐसा तब होता है, जब फ़ोटो लेने के लिए फ़्लैश मोड को FLASH_MODE_ON पर सेट किया जाता है और फ़्लैश चालू होने पर उसे FLASH_MODE_OFF में बदल दिया जाता है. यह समस्या, टॉर्च मोड चालू होने जैसी है. (Ib4451, b/162568128)
  • अगर एक्सटेंशन इफ़ेक्ट चालू है और वेंडर लाइब्रेरी को आउटपुट सरफ़ेस पर कोई खास प्रोसेस करनी है, तो PreviewView को TextureView का इस्तेमाल करने के लिए मजबूर किया जाता है. (I0c3cc)
  • ProcessCameraProvider.getInstance(Context) को गतिविधि/फ़्रैगमेंट कॉन्टेक्स्ट पास करने पर, गतिविधि/फ़्रैगमेंट लीक होने की समस्या को ठीक किया गया.

पहले से मालूम समस्याएं

  • ViewPort सेट होने पर, ImageCapture का क्रॉप रेक्ट उन डिवाइसों पर गलत हो सकता है जो एचएएल में इमेज बफ़र को घुमाते हैं. इस समस्या को अगले रिलीज़ में ठीक कर दिया जाएगा.

Camera-Camera2 का वर्शन 1.0.0-beta08

19 अगस्त, 2020

androidx.camera:camera-camera2:1.0.0-beta08 रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • मुख्य थ्रेड पर तेज़ी से काम करने के लिए, bindToLifecycle को ऑप्टिमाइज़ किया गया. (I1d57e)
  • DisplayOrientedMeteringPointFactory, CameraSelector के बजाय CameraInfo इंस्टेंस लेता है. इससे सीधे तौर पर यह मैप किया जाता है कि फ़ैक्ट्री किस कैमरे के लिए पॉइंट जनरेट करेगी. DisplayOrientedMeteringPointFactory का इस्तेमाल करने वाली सभी क्लास, CameraSelector के बजाय CameraInfo इंस्टेंस का भी इस्तेमाल करती हैं. (I400c1)
  • ऑटो-रिज़ॉल्यूशन के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साइज़ को ग्रुप करने से जुड़ी समस्या को ठीक किया गया. इस समस्या की वजह से, टारगेट रिज़ॉल्यूशन की सेटिंग 2016x1080 होने पर, 16:9 mod16 साइज़ (864x480) चुना जाता था. हालांकि, 1920x1080 16:9 साइज़ भी काम करता था. (I53167, b/159363774)
  • CameraControl की उस समस्या को ठीक किया गया है जिसमें रेस कंडिशन की वजह से यह काम नहीं कर पाता (I2279f, b/152333890, b/160714166)

Camera-Core वर्शन 1.0.0-beta08

19 अगस्त, 2020

androidx.camera:camera-core:1.0.0-beta08 रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • DisplayOrientedMeteringPointFactory, CameraSelector के बजाय CameraInfo इंस्टेंस लेता है. इससे, फ़ैक्ट्री जिस कैमरे के लिए पॉइंट जनरेट करेगी उसकी डायरेक्ट मैपिंग हो जाती है. DisplayOrientedMeteringPointFactory का इस्तेमाल करने वाली सभी क्लास, CameraSelector के बजाय CameraInfo इंस्टेंस का भी इस्तेमाल करती हैं. (I400c1)

गड़बड़ियां ठीक की गईं

  • इमेज कैप्चर करने के लिए, कैमरे की दिशा के आधार पर मेटाडेटा में मौजूद, हॉरिज़ॉन्टल फ़्लिप फ़्लैग को ओवरराइट करें. (I28499)
  • Context.getApplicationContext() से ऐप्लिकेशन ऑब्जेक्ट न दिखाने वाले कॉन्टेक्स्ट का इस्तेमाल करने पर, अब इनिशलाइज़ेशन क्रैश नहीं होना चाहिए. (I3d3c9, b/160817073)

Camera-Camera2 का वर्शन 1.0.0-beta07

22 जुलाई, 2020

androidx.camera:camera-camera2:1.0.0-beta07 रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Android 5.0 के लेगसी डिवाइस पर, झलक के स्ट्रेच होने की समस्या को ठीक किया गया. (I0c03a)
  • JPEG फ़ॉर्मैट के साथ काम करने वाले कुछ साइज़ हटा दिए गए हैं. इनकी वजह से, कुछ डिवाइसों पर WYSIWYG से जुड़ी समस्या आ सकती है. (Ib5128)

Camera-Core का वर्शन 1.0.0-beta07

22 जुलाई, 2020

androidx.camera:camera-core:1.0.0-beta07 रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • FIT_CENTER, FIT_START, और FIT_END फ़िट स्टाइल को FIT के साथ मर्ज करें. FITका मतलब है कि क्रॉप किया गया रेक्टैंगल, सेंसर रेक्टैंगल के ज़्यादा से ज़्यादा साइज़ के बराबर होगा. (Ia73c3)
  • झलक के क्रॉप रेक्ट को व्यूपोर्ट से कॉन्फ़िगर किया जाता है. असली उपयोगकर्ताओं को सिर्फ़ वह हिस्सा दिखना चाहिए जो क्रॉप रेक्टैंगल में शामिल है. (I142a4)

गड़बड़ियां ठीक की गईं

  • Android 5.0 के लेगसी डिवाइस पर, झलक के स्ट्रेच होने की समस्या को ठीक किया गया. (I0c03a)
  • इस्तेमाल के उदाहरणों को अनबाइंड करते समय, ConcurrentModificationException अपवाद की समस्या को ठीक किया गया. (I371c0)

Camera-Camera2 का वर्शन 1.0.0-beta06

24 जून, 2020

androidx.camera:camera-camera2:1.0.0-beta06 रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • कैमरा आईडी और CameraCharacteristics के हिसाब से कैमरों को फ़िल्टर करने के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध इंटरफ़ेस जोड़े गए हैं. (I28f61)

गड़बड़ियां ठीक की गईं

  • उस समस्या को ठीक किया गया है जिसकी वजह से Samsung Galaxy S7 पर, startFocusAndMetering फ़ंक्शन फ़ोकस नहीं कर पाता था. (If3be7, b/159039233)
  • ऐप्लिकेशन बंद करने के बाद, कैमरा बंद न होने की समस्या को ठीक किया गया. (I7a7b3)
  • PreviewView के SurfaceView इंप्लिमेंटेशन का इस्तेमाल करते समय, बार-बार कैमरा स्विच करने से झलक दिखने में आने वाली समस्या को ठीक किया गया (I920ce)
  • अगर तय किए गए MeteringPoint में से कोई भी मान्य मीटरिंग रेक्टैंगल जनरेट नहीं कर पाता है, तो CameraControl#startFocusAndMetering काम नहीं करेगा. (Id53ce)

Camera-Core वर्शन 1.0.0-beta06

24 जून, 2020

androidx.camera:camera-core:1.0.0-beta06 रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • कैमरा आईडी और CameraCharacteristics के हिसाब से कैमरों को फ़िल्टर करने के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध इंटरफ़ेस जोड़े गए हैं. (I28f61)

गड़बड़ियां ठीक की गईं

  • CameraX को अब ProcessCameraProvider#getInstance() को कॉल करने से पहले, ProcessCameraProvider#configureInstance() के साथ कॉन्फ़िगर किया जा सकता है. इससे, ऐप्लिकेशन की ऐप्लिकेशन क्लास में CameraXConfig.Provider को लागू किए बिना, CameraXConfig को पसंद के मुताबिक बनाया जा सकता है. (Ia1a8d)
  • अगर तय किए गए MeteringPoint में से कोई भी मान्य मीटरिंग रेक्टैंगल जनरेट नहीं कर पाता है, तो CameraControl#startFocusAndMetering काम नहीं करेगा. (Id53ce)

Camera-Camera2 का वर्शन 1.0.0-beta05

10 जून, 2020

androidx.camera:camera-camera2:1.0.0-beta05 रिलीज़ हो गया है. वर्शन 1.0.0-beta05 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • फ़ोन के 'परेशान न करें' मोड में होने पर, CameraX को शुरू करते समय ऐप्लिकेशन के क्रैश होने की समस्या को ठीक किया गया. InitializationException में एक CameraUnavailableException होता है, जिसे ऐप्लिकेशन क्रैश करने के बजाय, शुरू करने के नतीजे के ListenableFuture पर सेट किया जाएगा. (I9909a, b/149413835)
  • उन डिवाइसों पर startFocusAndMetering को कॉल करने पर होने वाली क्रैश की समस्या को ठीक किया गया है जिन पर CONTROL_AF_STATE की वैल्यू शून्य है. (Ife55e, b/157084254)

Camera-Core वर्शन 1.0.0-beta05

10 जून, 2020

androidx.camera:camera-core:1.0.0-beta05 रिलीज़ हो गया है. वर्शन 1.0.0-beta05 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • फ़ोन के 'परेशान न करें' मोड में होने पर, CameraX को शुरू करते समय ऐप्लिकेशन के क्रैश होने की समस्या को ठीक किया गया. InitializationException में CameraUnavailableException शामिल है. इसे ऐप्लिकेशन को क्रैश करने के बजाय, शुरू करने के नतीजे के ListenableFuture पर सेट किया जाएगा. (I9909a, b/149413835)

गड़बड़ियां ठीक की गईं

  • setTargetResolution और setTargetRotation के javadocs अपडेट किए गए. (Iae16f)

Camera-Camera2 का वर्शन 1.0.0-beta04

27 मई, 2020

androidx.camera:camera-camera2:1.0.0-beta04 रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • अनुमति वाले ऐप्लिकेशन, Camera2Interop की मदद से camera2 के कैप्चर अनुरोध के लिए कोई भी पैरामीटर सेट कर सकते हैं. इससे ऐप्लिकेशन क्रैश नहीं होगा. कृपया ध्यान दें कि अगर पैरामीटर बदलने की वजह से समस्याएं आती हैं, तो Camera2Interop का इस्तेमाल करके पैरामीटर को ओवरराइड करने पर, स्थिरता और व्यवहार की गारंटी नहीं दी जाती. (Ibe5a1, b/149103700)
  • स्यूडो-लोकेल का इस्तेमाल करने वाले डिवाइस पर ऐप्लिकेशन इस्तेमाल करने पर, अपने-आप शुरू होने की सुविधा को ठीक किया गया. (I3bef3, b/154767663)
  • Camera2CameraImpl पर, इस्तेमाल के उदाहरण से जुड़े गड़बड़ी के लॉग को डीबग लॉग में बदला गया. (I1a565, b/154422490)
  • उस समस्या को ठीक किया गया है जिसकी वजह से फ़्लैश चालू होने के बावजूद, कभी-कभी इमेज बहुत ज़्यादा डार्क आती थी. (I5d9fa, b/149729613)
  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से ImageCapture से ImageProxy में बफ़र को रिवाइंड नहीं किया जा रहा था (I0c455, b/153249512)
  • सिर्फ़ ImageCapture को बाइंड करने से जुड़ी समस्याएं ठीक की गईं: (1) MAX_QUALITY के साथ फ़ोटो नहीं ली जा सकीं; (2) इमेज की क्वालिटी खराब थी, क्योंकि ऑटो एक्सपोज़र की सुविधा काम नहीं करती. (I17782, b/145326998)
  • जब CameraX को किसी दूसरी प्रोसेस या कोडपाथ से डिसकनेक्ट किया जाता है, तो कैमरे को फिर से खोलने की सुविधा को बेहतर बनाया गया है (I1fbc3, b/153714651)

Camera-Core वर्शन 1.0.0-beta04

27 मई, 2020

androidx.camera:camera-core:1.0.0-beta04 रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • यह एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई, CameraXConfig.Builder#setSchedulerHandler() को जोड़ता है. इससे CameraX कैमरा स्टैक के ज़रिए, इंटरनल तौर पर इस्तेमाल किए जाने वाले हैंडलर को सेट किया जा सकता है. इस नए एपीआई और CameraXConfig.Builder#setCameraExecutor() की मदद से, CameraX कैमरा स्टैक के इस्तेमाल किए जा रहे थ्रेड पर पूरा कंट्रोल पाया जा सकता है. (I7bf32, b/121160431)

गड़बड़ियां ठीक की गईं

  • ImageAnalysis में क्रैश होने की समस्या को ठीक किया गया है. इसमें ImageReaderProxy के बंद होने के बाद, ImageProxy को ऐक्सेस किया जाता है. इससे यह भी पक्का होता है कि ImageReaderProxy को बंद करने से पहले, Analyzer को मिली सभी ImageProxy बंद कर दी जाएं. (I4b299, b/145956416, b/154155377, b/156357269)
  • PreviewView#createSurfaceProvider() से CameraInfo पैरामीटर को हटा दिया गया है. अब PreviewView इसे SurfaceRequest से इंटरनल तौर पर वापस लाता है. (If18f0, b/154652477)
  • स्यूडो-लोकेल का इस्तेमाल करने वाले डिवाइस पर ऐप्लिकेशन इस्तेमाल करने पर, अपने-आप शुरू होने की सुविधा को ठीक किया गया. (I3bef3, b/154767663)
  • उस समस्या को ठीक किया गया है जिसकी वजह से फ़्लैश चालू होने के बावजूद, कभी-कभी इमेज बहुत ज़्यादा डार्क आती थी. (I5d9fa, b/149729613)
  • ImageAnalysis से जुड़ी समस्या को ठीक किया गया. इसमें setAnalyzer/clearAnalyzer को कई बार कॉल करने पर, ऐनलाइज़र को विश्लेषण के लिए इमेज नहीं मिलती थीं. (I6169f, b/151605317, b/153514544)
  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से ImageCapture से ImageProxy में बफ़र को रिवाइंड नहीं किया जा रहा था (I0c455, b/153249512)
  • उस समस्या को ठीक किया गया है जिसकी वजह से, CameraManager के साथ काम करने वाले कैमरों की सूची में मौजूद पहले कैमरे को इस्तेमाल करने के लिए हमेशा नहीं चुना जाता था. (I4c624, b/153418028)
  • Preview.SurfaceProvider को सेट करने की वजह से, कभी-कभी होने वाली क्रैश की समस्या को ठीक किया गया है. यह समस्या, पहले अनुरोध किए गए सरफ़ेस को रिलीज़ न करने की वजह से होती थी. “java.lang.IllegalStateException: Camera surface session should only fail with request cancellation” (I8e4e7, b/155936225)

Camera-Camera2 वर्शन 1.0.0-beta03

15 अप्रैल, 2020

androidx.camera:camera-camera2:1.0.0-beta03 रिलीज़ हो गया है. वर्शन 1.0.0-beta03 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • camera-core को रिलीज़ करने के लिए, गड़बड़ियां ठीक की गईं

Camera-Core वर्शन 1.0.0-beta03

15 अप्रैल, 2020

androidx.camera:camera-core:1.0.0-beta03 रिलीज़ हो गया है. वर्शन 1.0.0-beta03 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • beta03 में मौजूद उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, शून्य UseCase के साथ bindToLifecycle() को कॉल करने पर अपवाद थ्रो होता था. इस वजह से, UseCase को बाइंड किए बिना Camera को वापस नहीं लाया जा सका.

Camera-Camera2 का वर्शन 1.0.0-beta02

1 अप्रैल, 2020

androidx.camera:camera-camera2:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ImageCapture से जनरेट हुए ImageProxy से ImageInfo.getRotationDegrees() को ठीक किया गया, ताकि यह EXIF ओरिएंटेशन की रोटेशनल वैल्यू से मैच हो सके. (Id4281, b/150802561)
  • डिफ़ॉल्ट CameraX/Camera2 सेटअप का इस्तेमाल करने के लिए, अब build.gradle में CameraX डिपेंडेंसी को साफ़ तौर पर क्रम से लगाने की ज़रूरत नहीं है. जिन मामलों में सख्त डिपेंडेंसी का एलान करना ज़रूरी है उनमें अब सभी CameraX डिपेंडेंसी को बिल्ड फ़ाइल में शामिल किया जा सकता है. (I46e88)
  • उन डिवाइसों पर होने वाली IllegalArgumentException समस्या को ठीक किया गया है जिनका डिसप्ले साइज़ 640x480 से छोटा है. (Ife3f2, b/150506192)
  • bindToLifecycle को ठीक किया गया, ताकि यह UseCase में सिर्फ़ तब बदलाव करे, जब यह सही तरीके से बाइंड हो जाए. पहले, रिज़ॉल्यूशन कैलकुलेशन के लिए bindToLifecycle को कॉल करने पर, UseCase को अपडेट किया जाता था. अब कैलकुलेशन करने के लिए, UseCase को अपडेट करने की ज़रूरत नहीं है (I78d9e)

Camera-Core का वर्शन 1.0.0-beta02

1 अप्रैल, 2020

androidx.camera:camera-core:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ImageCapture से जनरेट हुए ImageProxy से ImageInfo.getRotationDegrees() को ठीक किया गया, ताकि यह EXIF ओरिएंटेशन की रोटेशनल वैल्यू से मैच हो सके. (Id4281, b/150802561)
  • bindToLifecycle को ठीक किया गया, ताकि यह UseCase में सिर्फ़ तब बदलाव करे, जब यह सही तरीके से बाइंड हो जाए. पहले, रिज़ॉल्यूशन कैलकुलेशन के लिए bindToLifecycle को कॉल करने पर, UseCase को अपडेट किया जाता था. अब कैलकुलेशन करने के लिए, UseCase को अपडेट करने की ज़रूरत नहीं है (I78d9e)
  • उस समस्या को ठीक किया गया है जिसमें Preview.setSurfaceProvider() को एक से ज़्यादा बार कॉल करने के बाद, झलक दिखाने वाली स्क्रीन में बदलाव होने पर, Preview के इस्तेमाल के उदाहरण का कैप्चर सेशन अपडेट नहीं हो रहा था.

Camera-Camera2 का वर्शन 1.0.0-beta01

26 फ़रवरी, 2020

androidx.camera:camera-camera2:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • SurfaceRequest.setSurface(Surface) का नाम बदलकर SurfaceRequest.provideSurface(Surface) और SurfaceRequest.setWillNotComplete() का नाम बदलकर SurfaceRequest.willNotProvideSurface() किया गया. (I224fe)
  • ImageCapture.setTargetRotation() का इस्तेमाल करके, टारगेट रोटेशन की वैल्यू बदलने के बाद, सेव की गई इमेज के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के सही न होने की समस्या को ठीक किया गया. (I474ea, b/148763432)
  • ProGuard चालू होने पर, ऐप्लिकेशन के वैरिएंट को शुरू करने की समस्या को ठीक किया गया. इसके लिए, डिफ़ॉल्ट CameraXConfig प्रोवाइडर को सेट करने वाले फ़्लैग को बनाए रखा गया. (I2d6c1)

Camera-Core का वर्शन 1.0.0-beta01

26 फ़रवरी, 2020

androidx.camera:camera-core:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • SurfaceRequest.provideSurface() को ListenableFuture की जगह Executor और Callback को जोड़ा गया. इससे एपीआई को इस्तेमाल करना आसान हो जाता है, क्योंकि अब provideSurface() पर अपवादों को मैनेज करने की ज़रूरत नहीं पड़ती. साथ ही, यह पक्का किया जाता है कि provideSurface() कॉलबैक को रद्द न किया जा सके. ऐसा इसलिए किया जाता है, ताकि पुराने डिवाइसों पर क्रैश होने की समस्या को रोका जा सके. यह समस्या, सरफ़ेस को समय से पहले रिलीज़ करने की वजह से होती है. SurfaceRequest.Result ऑब्जेक्ट का इस्तेमाल अब यह ट्रैक करने के लिए किया जाता है कि कोई SurfaceRequest, दिए गए Surface का इस्तेमाल कैसे करता है. (I7854b)
  • SurfaceRequest.setSurface(Surface) का नाम बदलकर SurfaceRequest.provideSurface(Surface) और SurfaceRequest.setWillNotComplete() का नाम बदलकर SurfaceRequest.willNotProvideSurface() किया गया. (I224fe)

गड़बड़ियां ठीक की गईं

  • ImageCapture.setTargetRotation() का इस्तेमाल करके, टारगेट रोटेशन वैल्यू बदलने के बाद, सेव की गई इमेज के आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के सही न होने की समस्या को ठीक किया गया. (I474ea, b/148763432)
  • ProGuard चालू होने पर, ऐप्लिकेशन के वैरिएंट को शुरू करने की समस्या को ठीक किया गया. इसके लिए, डिफ़ॉल्ट CameraXConfig प्रोवाइडर को सेट करने वाले फ़्लैग को सेव किया गया. (I2d6c1)
  • फ़्लैश मोड एपीआई के दस्तावेज़ को अपडेट किया गया, ताकि इसमें संभावित वैल्यू शामिल की जा सकें. (I4a3ec)

Camera-Camera2 वर्शन 1.0.0-alpha10

10 फ़रवरी, 2020

androidx.camera:camera-camera2:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY डिवाइसों पर स्थिरता को बेहतर बनाया गया है. इसके लिए, यह पक्का किया गया है कि Surface को सिर्फ़ तब तक सेव रखा जाए, जब तक Camera2 का इस्तेमाल किया जा रहा है. (I9dac2)
  • CONTROL_AE_TARGET_FPS_RANGE को सही तरीके से अडजस्ट करके, LEGACY डिवाइसों पर कम रोशनी वाली झलक की समस्या को ठीक किया गया. (1224638)

Camera-Core का वर्शन 1.0.0-alpha10

10 फ़रवरी, 2020

androidx.camera:camera-core:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • ImageCapture को अपडेट किया गया, ताकि Uri और OutputStream में इमेज सेव की जा सकें. ओवरलोड किए गए takePicture तरीकों को एक साथ जोड़ा गया. टेस्ट ऐप्लिकेशन को अपडेट किया गया, ताकि Uri को कैननिकल उदाहरण के तौर पर इस्तेमाल किया जा सके. (Ia3bec)
  • Preview.PreviewSurfaceProvider का नाम बदलकर Preview.SurfaceProvider कर दिया गया है. SurfaceProviders के लिए, अब डेवलपर को अपना ListenableFuture बनाने की ज़रूरत नहीं है. साथ ही, Surface उपलब्ध कराने की सुविधा अब नए SurfaceRequest ऑब्जेक्ट के ज़रिए उपलब्ध है. Preview.getPreviewSurfaceProvider() तरीके को हटा दिया गया है, क्योंकि Preview को PreviewView जैसी अन्य क्लास के साथ जोड़ने पर, इसका दुरुपयोग किया जा सकता है. (I20105)
  • getTargetRotation() और getTargetName() को Preview में जोड़ा गया. (Iceee7)
  • ImageAnalysis में getTargetRotation(), getBackpressureStrategy(), और getImageQueueDepth() को जोड़ा गया. (I9d6d9)
  • ImageCapture() (I5bc17) में getTargetRotation() और getCaptureMode() को जोड़ा गया
  • ImageCapture.OnImageSavedCallback.onError() और ImageCapture.OnImageCapturedCallback.onError() में पहले पास किए गए आर्ग्युमेंट को अब एक आर्ग्युमेंट ImageCaptureException से बदल दिया गया है. इसमें अब भी वह सारी जानकारी मौजूद है जो पहले पास की गई थी.
  • ImageCapture.OnImageSavedCallback.onImageSaved() में पहले पास किए गए फ़ाइल आर्ग्युमेंट को हटा दिया गया है. (I750d2)
  • Preview और ImageCapture क्लास को अब फ़ाइनल के तौर पर मार्क कर दिया गया है. (I2500b)
  • एपीआई को अपडेट किया गया. इसमें CameraInfo के getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio(), और getLinearZoom() तरीकों को getZoomState() में मर्ज किया गया. इससे ZoomState इंस्टेंस मिलता है. (Ib19fe)
  • CameraXConfig से एपीआई फ़ील्ड OPTION_TARGET_CLASS और OPTION_TARGET_NAME हटा दिए गए हैं, क्योंकि इनका इस्तेमाल सिर्फ़ इंटरनल लाइब्रेरी के लिए किया जाता है. CameraXConfig.Builder के लिए कंस्ट्रक्टर हटाया गया. (I96912)
  • CameraX को शुरू करने के लिए, ऐप्लिकेशन को Application को एक्सटेंड करने की ज़रूरी शर्त को हटा दिया गया है. CameraX को अब डिफ़ॉल्ट Camera2 कॉन्फ़िगरेशन के साथ शुरू किया जाएगा. हालांकि, इसके लिए ज़रूरी है कि ऐप्लिकेशन के build.gradle में camera-camera2 आर्टफ़ैक्ट शामिल हो. (I58ff5) (b/146923574)

Camera-Camera2 का वर्शन 1.0.0-alpha09

22 जनवरी, 2020

androidx.camera:camera-camera2:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Camera2 कैमरा आईडी निकालने के लिए, camera2 इंटरऑप पाथ जोड़ें. Camera2CameraInfo.extractCameraId() का इस्तेमाल करके, CameraInfo से कैमरा आईडी निकाला जा सकता है. यहां दिए गए कोड सैंपल में, इसका इस्तेमाल करने का तरीका बताया गया है:

    Camera camera = provider.bindToLifecycle(...);
    String cameraId =
        Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
    

    Camera2CameraInfo क्लास के लिए, ExperimentalCamera2Interop markerClass ज़रूरी है.

Camera-Core वर्शन 1.0.0-alpha09

22 जनवरी, 2020

androidx.camera:camera-core:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • SurfaceOrientedMeteringPointFactory पैरामीटर useCaseForSurface का नाम बदलकर useCaseForAspectRatio कर दिया गया. साथ ही, रेफ़रंस दस्तावेज़ को बड़ा किया गया.
  • FocusMeteringAction.Builder.from() तरीकों को कंस्ट्रक्टर FocusMeteringAction.Builder() से बदल दिया गया है.
  • DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float) को हटाया गया. ऐप्लिकेशन को ऐसे कंस्ट्रक्टर का इस्तेमाल करना चाहिए जो Display पैरामीटर लेता हो और मौजूदा डिसप्ले में पास करता हो.
  • MeteringMode और 3A फ़्लैग के लिए, फ़ोकस और मीटरिंग एपीआई के Javadoc में सुधार किए गए हैं. साथ ही, Display पैरामीटर के इस्तेमाल में भी सुधार किए गए हैं.
  • setZoomRatio और setLinearZoom के लिए रेफ़रंस दस्तावेज़ को बड़ा किया गया.

गड़बड़ियां ठीक की गईं

  • कैमरे को बंद करके फिर से चालू करने पर आने वाली समस्याओं को ठीक किया गया. इनकी वजह से, "ज़रूरी शर्त" की जांच पूरी नहीं हो पाती थी.
  • टॉर्च और ज़ूम एपीआई का इस्तेमाल करते समय होने वाली ConcurrentModificationException को ठीक किया गया.
  • उस समस्या को ठीक कर दिया गया है जिसकी वजह से, mod16 डाइमेंशन साइज़ उपलब्ध होने पर, अनुरोध किए गए रिज़ॉल्यूशन के आस-पास के रिज़ॉल्यूशन नहीं चुने जा सकते थे.
  • startFocusMetering और cancelFocusMetering एपीआई अब दस्तावेज़ में बताए गए तरीके से काम करते हैं. इनमें सही समय पर गड़बड़ियां दिखती हैं.
  • हमने उस समस्या को ठीक कर दिया है जिसमें किसी खास टारगेट रिज़ॉल्यूशन का अनुरोध, ऐसे डिवाइस पर क्रॉप आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) के साथ किया जाता था जो इस तरह के साइज़ के साथ काम नहीं करता. अब, उपलब्ध होने पर, ओरिजनल अनुरोध को पूरा करने के लिए, बिना क्रॉप किए गए साइज़ और सही रिज़ॉल्यूशन वाली इमेज चुनी जाएगी.

Camera-Camera2 का वर्शन 1.0.0-alpha08

18 दिसंबर, 2019

androidx.camera:camera-camera2:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.

पहले से मालूम समस्याएं

  • Camera2 इंटरऑप का इस्तेमाल करने पर, Camera2 के कैप्चर अनुरोध के सभी विकल्प काम नहीं करते. अगर अनुरोध किया गया विकल्प काम नहीं करता है, तो सेशन शुरू नहीं हो पाता है. साथ ही, इस तरह की गड़बड़ी हो सकती है: 09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination

गड़बड़ियां ठीक की गईं

  • एपीआई लेवल 21 और 22 के लिए, कैमरे को घुमाने या स्विच करने के बाद, झलक वाली ब्लैक स्क्रीन दिखने की समस्या को ठीक किया गया है.

एपीआई में बदलाव

  • एक्सपेरिमेंट के तौर पर: कैमरा आईडी निकालने के लिए, camera2 इंटरऑप पाथ जोड़ा गया.

Camera-Core का वर्शन 1.0.0-alpha08

18 दिसंबर, 2019

androidx.camera:camera-core:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.

पहले से मालूम समस्याएं

  • PreviewView या CameraView का इस्तेमाल करने वाले ऐप्लिकेशन में, आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की झलक गलत हो सकती है. ऐसा Pixel 2 जैसे कुछ FULL डिवाइसों पर, वीडियो को रोकने या फिर से चलाने के बाद होता है.

गड़बड़ियां ठीक की गईं

  • FocusMeteringAction और CameraControl के लिए दस्तावेज़ अपडेट किया गया.
  • enableTorch() और getTorchState() के लिए TorchControl लागू किया गया.

एपीआई में बदलाव

  • IntDefs को छिपाया गया और IntDef कॉन्सटैंट को IntDef की परिभाषा से बाहर ले जाया गया.
  • rotationDegrees को क्लास OnImageCaptureCallback से ImageInfo में ले जाया गया.
  • rotationDegrees को क्लास Analyzer से ImageInfo में ले जाया गया.

Camera-Camera2 वर्शन 1.0.0-alpha07

4 दिसंबर, 2019

androidx.camera:camera-camera2:1.0.0-alpha07 रिलीज़ हो गया है. camera-camera2 के वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं

  • Camera2Config अब CameraX के लिए, Camera2 पर आधारित सेटअप को शुरू और कॉन्फ़िगर करने के लिए उपलब्ध है. इनिशलाइज़ेशन में इसका इस्तेमाल करने के तरीके के बारे में ज़्यादा जानकारी, रिलीज़ नोट के camera-core सेक्शन में दी गई है.
  • Camera2 इंटरऑप फ़ंक्शन को अब एक्सपेरिमेंट के तौर पर मार्क किया गया है और इसे एक अलग पैकेज, androidx.camera.camera2.interop. में ले जाया गया है

Camera-Core का वर्शन 1.0.0-alpha07

4 दिसंबर, 2019

androidx.camera:camera-core:1.0.0-alpha07 रिलीज़ हो गया है. camera-core के वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं

ध्यान दें कि इस ऐल्फ़ा रिलीज़ में कुछ अहम बदलाव किए गए हैं, क्योंकि हम बीटा वर्शन के लिए तैयारी कर रहे हैं. हमारा सुझाव है कि आप इन बदलावों को देखें और CameraX Google ग्रुप पर अपने सुझाव/राय दें या शिकायत करें. Play Store पर मौजूद ऐप्लिकेशन में CameraX का इस्तेमाल करने वाले डेवलपर को हमारा सुझाव है कि वे अपने ऐप्लिकेशन में लाइब्रेरी को अपग्रेड करने से पहले, बीटा वर्शन के आधिकारिक तौर पर रिलीज़ होने का इंतज़ार करें.

एपीआई में हुए बदलाव

  • अहम जानकारी: CameraX को शुरू करने का तरीका बदल गया है. ऐप्लिकेशन में CameraXConfig.Provider को लागू करना चाहिए. साथ ही, androidx.camera.camera2 से मिले डिफ़ॉल्ट Camera2Config का इस्तेमाल करना चाहिए. आम तौर पर, इसका इस्तेमाल इस तरह किया जाता है:

    import androidx.camera.camera2.Camera2Config
    import androidx.camera.core.CameraXConfig
    
    public class MyCameraXApplication : Application(),  CameraXConfig.Provider {
        override fun getCameraXConfig(): CameraXConfig {
                return Camera2Config.defaultConfig(this)
        }
    }
    
  • CameraX क्लास को हटा दिया गया है. bindToLifecycle(), unbind(), unbindAll(), isBound(), और hasCamera(), जो पहले CameraX क्लास कॉल से उपलब्ध थे, अब ProcessCameraProvider के ज़रिए उपलब्ध हैं.

  • हर प्रोसेस के लिए ProcessCameraProvider का इंस्टेंस, एसिंक्रोनस तरीके से मिलता है. इसके लिए, स्टैटिक मेथड ProcessCameraProvider.getInstance() का इस्तेमाल किया जाता है. यह मेथड, ListenableFuture दिखाता है. इससे प्रोसेस पूरी होने पर ProcessCameraProvider मिलता है. यहां इसे सामान्य इस्तेमाल के लिए, onCreate() में दिखाया गया है. गतिविधि के लाइफ़साइकल में बाद में getInstance() को कॉल किया जा सकता है, ताकि शुरू होने में लगने वाले समय को बाद के समय के लिए टाला जा सके. जैसे, जब उपयोगकर्ता की कार्रवाई से कैमरा यूज़र इंटरफ़ेस (यूआई) खुलता है.

    import androidx.camera.lifecycle.ProcessCameraProvider
    import com.google.common.util.concurrent.ListenableFuture
    
    class MainActivity : AppCompatActivity() {
       private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider>
       override fun onCreate(savedInstanceState: Bundle?) {
           cameraProviderFuture = ProcessCameraProvider.getInstance(this);
      }
    
  • getInstance() से मिले ListenableFuture में लिसनर को जोड़ा जा सकता है. इससे यह पक्का होता है कि कैमरा प्रोवाइडर को Future से वापस लाया जा सकता है. इसके लिए, Future.get() को ब्लॉक करने की ज़रूरत नहीं है

    cameraProviderFuture.addListener(Runnable {
      val cameraProvider = cameraProviderFuture.get()
      cameraProvider.bindToLifecycle(...)
    }, ContextCompat.getMainExecutor(this))
    
  • कैमरा चुनने की सुविधा अब कैमरा सिलेक्टर से मिलती है. इसके लिए, हर बार इस्तेमाल के हिसाब से कैमरा चुनने की ज़रूरत नहीं होती

    val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
    
  • CameraProvider.bindToLifecycle को लाइफ़साइकल का मालिक, कैमरा चुनने वाला टूल, और इस्तेमाल के उदाहरण दिए जाते हैं. इसके बाद, इन्हें लाइफ़साइकल के मालिक से जोड़ा जाता है और चुने गए कैमरे के लिए चलाया जाता है.

    cameraProvider.bindToLifecycle(this as LifecycleOwner,
           cameraSelector, preview, imageAnalysis)
    
  • इस्तेमाल के उदाहरण के तौर पर मौजूद “कॉन्फ़िगरेशन” क्लास हटा दी गई हैं. इसके बजाय, सीधे तौर पर इस्तेमाल के उदाहरण बनाएं. इसके लिए, इस्तेमाल के उदाहरण बनाने वाले हर बिल्डर पर विकल्प सेट करें. उदाहरण के लिए:

    preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
    
  • झलक दिखाने के उदाहरण को अपडेट किया गया है, ताकि ऐप्लिकेशन से बनाए गए और मैनेज किए गए सरफ़ेस को स्वीकार किया जा सके. इससे Android के सबसे सही तरीकों को पक्का किया जा सकेगा. हमारा सुझाव है कि आप camera-view पैकेज में दी गई PreviewView व्यू क्लास का इस्तेमाल करें.

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • ऐप्लिकेशन से मैनेज किए जाने वाले प्लैटफ़ॉर्म को अटैच करने के लिए, दस्तावेज़ देखें. ऐसे मामलों में, ऐप्लिकेशन ही डिसप्ले की लाइफ़साइकल को मैनेज करता है.

  • अहम जानकारी: ImageAnalysis ऐनलाइज़र मेथड को लागू करने के लिए, मिली हुई इमेज का इस्तेमाल करने के बाद, उन पर image.close() को कॉल करना ज़रूरी है. ऐसा न करने पर, हो सकता है कि नई इमेज न मिलें या कैमरा रुक जाए. यह बैक प्रेशर सेटिंग पर निर्भर करता है. ज़्यादा जानकारी के लिए, रेफ़रंस दस्तावेज़ देखें.

  • ImageAnalysis ImageReaderMode को अब बैकप्रेशर रणनीति intdef में बदल दिया गया है.

  • ImageProxy.getImage() को एक्सपेरिमेंट के तौर पर मार्क किया गया है. ऐप्लिकेशन को इस्तेमाल के बारे में जानकारी देनी चाहिए. उदाहरण के लिए, @androidx.camera.core.ExperimentalGetImage के ज़रिए

  • Analyzer के लिए, UIThread एनोटेशन की ज़रूरी शर्त हटा दी गई है.

  • ImageAnalysis.clearAnalyzer() फ़ंक्शन को किसी ऐनलाइज़र को हटाने के लिए जोड़ा गया है.

  • एक से ज़्यादा तरीके वाले लिसनर का नाम बदलकर कॉलबैक कर दिया गया है:

    • ImageCapture.OnImageCapturedListener अब ImageCapture.OnImageCapturedCallback हो गया है
    • ImageCapture.OnImageSavedListener अब ImageCapture.OnImageSavedCallback हो गया है
    • VideoCapture.OnVideoSavedListener अब VideoCapture.OnVideoSavedCallback हो गया है
  • Enum को IntDef में बदल दिया गया है

  • ज़ूम कंट्रोल जोड़े गए हैं:

    • CameraControl.setLinearZoom()
    • CameraControl.setZoomRatio()
    • CameraInfo.getLinearZoom()
    • CameraInfo.getMaxZoomRatio()
    • CameraInfo.getZoomRatio()
  • CameraInfo.hasFlashUnit() को यह पता लगाने के लिए जोड़ा गया है कि फ़्लैश/टॉर्च हार्डवेयर मौजूद है या नहीं.

  • CameraInfo.isFlashAvailable() को हटा दिया गया है. टॉर्च की सुविधा, फ़्लैश की सुविधा को ओवरराइड करती है. ज़्यादा जानकारी के लिए, रेफ़रंस दस्तावेज़ देखें.

  • ImageCapture.Metadata फ़ील्ड को get/set/is ऐक्सेसर से बदल दिया जाता है.

  • startFocusMetering और cancelFocusMetering अब ListenableFutures दिखाते हैं. यह कॉल के एसिंक्रोनस ऑपरेशन को दिखाता है.

  • MeteringPoints अब मीटरिंग ऐक्शन के हैंडल के तौर पर काम करते हैं. इन्हें फ़ैक्ट्री से जनरेट किया जाता है. ऐप्लिकेशन को कस्टम फ़ैक्ट्री के बजाय, पहले से मौजूद फ़ैक्ट्री का इस्तेमाल करना चाहिए.

ठीक की गई समस्याएं

  • फ़ोटो लेने की प्रोसेस को फिर से शुरू करने पर आने वाली समस्या को ठीक किया गया है. यह समस्या तब आती थी, जब फ़ोटो लेने की प्रोसेस को पहले रोका गया हो और वह पूरी न हुई हो.
  • पहले से मौजूद समस्या: CameraControl.enableTorch() काम कर रहा है, लेकिन दिखाया गया ListenableFuture<Void> हमेशा आने वाला complete(success) होता है, भले ही कोई फ़्लैश यूनिट न हो. आने वाले वर्शन में, इसे ठीक करके फ़ाइनल बिहेवियर पर सेट कर दिया जाएगा: जब कोई फ़्लैश यूनिट नहीं होगी, तो enableTorch(true) तुरंत काम करना बंद कर देगा (CaptureSession को अनुरोध नहीं भेजेगा) और TorchState बंद रहेगा.
  • पहले से मौजूद समस्या: startFocusAndMetering और cancelFocusAndMetering, फ़ोकस मीटरिंग को शुरू और रद्द करते हैं. हालांकि, ये तुरंत completed (success) फ़्यूचर दिखाते हैं, जो दस्तावेज़ में बताए गए व्यवहार को नहीं दिखाता. ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering() से मिला FocusMeteringResult एक नकली नतीजा है, जो isFocusSuccessful() और हमेशा "गलत" होता है. यह तय किए गए और दस्तावेज़ में बताए गए व्यवहार से अलग होता है.
  • पहले से मौजूद समस्या: PreviewView टच इवेंट के साथ इस्तेमाल करने के लिए, एक मीटरिंग पॉइंट फ़ैक्ट्री बनाई जा रही है. फ़िलहाल, कस्टम मैनेज्ड सरफ़ेस से कनेक्ट होने वाले ऐप्लिकेशन, मौजूदा मीटरिंग पॉइंट फ़ैक्ट्री का इस्तेमाल कर सकते हैं. इसके अलावा, PreviewView के लिए टच फ़ोकस की कोई सुविधा उपलब्ध नहीं है.

Camera-Camera2 और Camera-Core का वर्शन 1.0.0-alpha06

9 अक्टूबर, 2019

androidx.camera:camera-camera2:1.0.0-alpha06 और androidx.camera:camera-core:1.0.0-alpha06 रिलीज़ हो गए हैं. camera-camera2:1.0.0-alpha06 में ये बदलाव शामिल हैं और camera-core:1.0.0-alpha06 में ये बदलाव शामिल हैं.

नई सुविधाएं

आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) सेट करने की सुविधा में बदलाव:

  • setTargetAspectRatioMode() को जोड़ा गया है. यह enum आर्ग्युमेंट को स्वीकार करता है. इससे आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) मोड सेट हो जाता है. इसमें, किसी भी आसपेक्ट रेशियो के बजाय, RATIO_4_3 या RATIO_16_9 विकल्प सेट होते हैं. इससे यह पता चलता है कि कैमरे से सिर्फ़ कुछ आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) ही मिलते हैं, न कि कोई भी रैंडम रेशियो.
    • फ़िलहाल, सिर्फ़ 16:9 और 4:3 आसपेक्ट रेशियो उपलब्ध हैं. 1:1 के मामले में, सिर्फ़ कुछ डिवाइसों के कैमरे में यह सुविधा उपलब्ध होती है. साथ ही, यह सिर्फ़ सीमित रिज़ॉल्यूशन पर उपलब्ध होती है. 1:1 इंटरफ़ेस या प्रोसेसिंग डिज़ाइन करने वाले ऐप्लिकेशन को, ज़्यादा सुविधाजनक 16:9 या 4:3 विकल्पों का इस्तेमाल करना चाहिए. साथ ही, डिसप्ले को क्रॉप करना चाहिए या किसी सबरीजन को प्रोसेस करना चाहिए.
    • इन आसपेक्ट रेशियो को इस तरह से ओरिएंट किया गया है कि सेंसर के ज़्यादा से ज़्यादा हिस्से का इस्तेमाल किया जा सके.
  • getTargetAspectRatio() को इस्तेमाल के उदाहरण के कॉन्फ़िगरेशन एपीआई में जोड़ा गया. इससे, इस्तेमाल के उदाहरण के आउटपुट के लिए टारगेट किए गए आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की जानकारी मिलती है.
  • ImageCapture के लिए, setTargetAspectRatio(Rational aspectRatio) तरीके को बदलकर setTargetAspectRatioCustom(Rational aspectRatio) कर दिया गया है. सेट किए जाने पर, ImageCapture आउटपुट उसी हिसाब से क्रॉप हो जाता है.

Executor API

  • यहां दिए गए फ़ंक्शन, एक्ज़ीक्यूटर पैरामीटर को स्वीकार करते हैं. इससे ऐप्लिकेशन को यह कंट्रोल करने की अनुमति मिलती है कि फ़ंक्शन किस एक्ज़ीक्यूटर पर चलेगा.
    • Preview.setOnPreviewOutputUpdateListener() एपीआई. अगर उस फ़ंक्शन के लिए एक्ज़ीक्यूटर मौजूद नहीं है, तो वह मुख्य थ्रेड पर एक्ज़ीक्यूट होता है.
    • Preview.setOnPreviewOutputUpdateListener
    • FocusMeteringAction.Builder.setAutoFocusCallback
    • ImageAnalysis.setAnalyzer
    • ImageCapture.takePicture
    • CameraView.takePicture
    • CameraView.startRecording
    • VideoCapture.startRecording

CameraInfo को, फ़्लैश की उपलब्धता और सेंसर रोटेशन एपीआई की जांच करने की सुविधा के साथ जोड़ा गया

  • CameraInfo और getCameraInfo तरीका जोड़ा गया. इससे ऐप्लिकेशन यह पता लगा सकते हैं कि CameraInfo के सामने वाला लेंस उपलब्ध है या नहीं. साथ ही, यह भी पता लगाया जा सकता है कि उस कैमरे पर फ़्लैश उपलब्ध है या नहीं. उदाहरण के लिए:

    try {
        CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing);
        LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable();
        flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE);
    } catch (CameraInfoUnavailableException e) {
        Log.w(TAG, "Cannot get flash available information", e);
        flashToggle.setVisibility(View.VISIBLE);
    }
    
  • CameraInfo.getSensorRotationDegrees() को जोड़ा गया. यह डिवाइस के नैचुरल ओरिएंटेशन के हिसाब से, कैमरा सेंसर का ओरिएंटेशन तय करता है. इसके अलावा, यह सुविधा को आसान बनाने के लिए, Surface के रोटेशन के हिसाब से ओरिएंटेशन तय करता है. Surface का रोटेशन, नैचुरल ओरिएंटेशन के हिसाब से ओरिएंटेशन तय करता है.

एपीआई में बदलाव और गड़बड़ियां ठीक करना

  • आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात): इस्तेमाल के हर तरीके के लिए, ऐप्लिकेशन को setTargetResolution() या setTargetAspectRatio() में से सिर्फ़ एक को कॉल करना चाहिए. एक ही बिल्डर पर दोनों को कॉल करने से गड़बड़ी होती है.
    • आम तौर पर, ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) डिज़ाइन के आधार पर setTargetAspectRatio() का इस्तेमाल करने का सुझाव दिया जाता है. समस्याओं को हल करने के तरीके, इस्तेमाल के उदाहरण पर आधारित होते हैं. उदाहरण के लिए, झलक का रिज़ॉल्यूशन स्क्रीन रिज़ॉल्यूशन के करीब होता है और इमेज कैप्चर करने की सुविधा से हाई रिज़ॉल्यूशन वाली स्टिल इमेज मिलती हैं. ज़्यादा जानकारी के लिए, अपने-आप होने वाले रिज़ॉल्यूशन की टेबल देखें.
    • ज़्यादा खास मामलों के लिए setTargetResolution() का इस्तेमाल करें. जैसे, जब कम से कम रिज़ॉल्यूशन (कंप्यूटेशन को सेव करने के लिए) या ज़्यादा से ज़्यादा रिज़ॉल्यूशन (जानकारी को प्रोसेस करने के लिए) की ज़रूरत हो.
  • Executor API: इस्तेमाल के उदाहरण के कॉन्फ़िगरेशन एपीआई से, setCallbackHandler() कॉल को हटा दिया गया है. इसके बजाय, ऐप्लिकेशन, कॉलबैक सेट करने वाले अन्य एपीआई में, पैरामीटर के तौर पर एक्ज़ीक्यूटर को सेट कर सकते हैं.
  • अलग-अलग फ़ंक्शन के लिए, शून्य एनोटेशन अपडेट किए गए.
  • कैमरा खोलने पर, java.lang.IllegalStateException at Camera$StateCallback.onError दिखने की समस्या को ठीक किया गया है.
  • उस समस्या को ठीक किया गया है जिसमें ऐप्लिकेशन के बड़े या डिफ़ॉल्ट रिज़ॉल्यूशन का अनुरोध करने पर, बहुत छोटे रिज़ॉल्यूशन (640x480 से कम) चुने जाते थे. इस वजह से, झलक वाली इमेज धुंधली या ब्लॉक वाली दिखती थी. जिन ऐप्लिकेशन को खास तौर पर कम रिज़ॉल्यूशन की ज़रूरत होती है वे साफ़ तौर पर उनके लिए अनुरोध कर सकते हैं.
  • उस समस्या को ठीक किया गया है जिसमें किसी दूसरे कैमरा ऐप्लिकेशन को लॉन्च करने वाले इंटेंट से वापस आने पर, कैमरे की स्क्रीन काली दिखती थी (कैमरा चालू नहीं हो पाता था).
  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से ऐप्लिकेशन को बार-बार शुरू या बंद करने पर, यह गड़बड़ी दिखती थी; java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
  • ImageAnalysis को बंद करने पर होने वाली इस गड़बड़ी को ठीक किया गया: java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
  • कैमरा डिसकनेक्ट होने की प्रोसेस के लिए, अतिरिक्त टेस्ट जोड़े गए हैं.
  • एक के बाद एक कैमरे की जांच करने पर, जांच करने वाले सिस्टम की क्षमता को बेहतर बनाया गया.

Camera-Camera2 और Camera-Core का वर्शन 1.0.0-alpha05

5 सितंबर, 2019

androidx.camera:camera-camera2:1.0.0-alpha05 और androidx.camera:camera-core:1.0.0-alpha05 रिलीज़ हो गए हैं. ये camera-camera2:1.0.0-alpha05 में शामिल कमिट हैं और ये camera-core:1.0.0-alpha05 में शामिल कमिट हैं.

  • एपीआई में बदलाव: इस्तेमाल के उदाहरण से जुड़े गड़बड़ी के वैरिएबल का नाम बदला गया:

    • ImageCapture.UseCaseError का नाम बदलकर ImageCapture.ImageCaptureError कर दिया गया है
    • VideoCapture.UseCaseError का नाम बदलकर VideoCapture.VideoCaptureError कर दिया गया है
  • CameraControl एपीआई को टैप-टू-फ़ोकस एपीआई के साथ जोड़ा गया

    • लेंस की दिशा के हिसाब से चुने गए कैमरे के लिए, CameraX से CameraControl पाने के लिए एपीआई जोड़ा गया:

      CameraX.getCameraControl(LensFacing lensFacing)

    • MeteringPointFactory, MeteringPoint, MeteringMode, और FocusMeteringAction को जोड़ा गया, ताकि टैप-टू-फ़ोकस की सुविधा का इस्तेमाल किया जा सके:

      MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height);
      MeteringPoint point = factory.createPoint(x, y);
      FocusMeteringAction action = FocusMeteringAction.Builder.from(point,
                                       MeteringMode.AF_ONLY)
          .addPoint(point2, MeteringMode.AE_ONLY) // could have many
          .setAutoFocusCallback(new OnAutoFocusListener(){
              public void onFocusCompleted(boolean isSuccess) {
              }
          })
          // auto calling cancelFocusAndMetering in 5 sec.
          .setAutoCancelDuration(5, TimeUnit.Second)
          .build();
      
    • फ़ोकस मीटरिंग को शुरू और रद्द करने के लिए, CameraControl के लिए एपीआई जोड़ा गया:

      getCameraControl(lensFacing).startFocusAndMetering(action); getCameraControl(lensFacing).cancelFocusAndMetering();

    • मीटरिंग पॉइंट फ़ैक्ट्री के लिए एपीआई जोड़े गए हैं. इनकी मदद से, व्यू क्लास के आधार पर टैप कोऑर्डिनेट को सेंसर कोऑर्डिनेट में बदला जा सकता है:

      MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView); MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);

  • मुख्य (यूज़र इंटरफ़ेस) थ्रेड पर, इन तरीकों को कॉल करना ज़रूरी है. ऐसा न करने पर, IllegalStateException थ्रो किया जाता है. आने वाले वर्शन में, अन्य थ्रेड पर इस्तेमाल करने की अनुमति दी जाएगी. साथ ही, सीरियलाइज़ेशन को पक्का किया जाएगा.

    • CameraX.bindToLifecycle()
    • CameraX.unbind()
    • CameraX.unbindAll()
    • ImageAnalysis.setAnalyzer()
    • ImageAnalysis.getAnalyzer()
    • ImageAnalysis.removeAnalyzer()
    • Preview.removePreviewOutputListener()
    • Preview.getOnPreviewOutputUpdateListener()
    • Preview.setOnPreviewOutputUpdateListener()
  • कॉन्फ़िगरेशन की कई सेटिंग अब शून्य पैरामीटर स्वीकार करती हैं. साथ ही, उनसे जुड़े गेटर शून्य वैल्यू दिखा सकते हैं.

  • हमने उन एम्युलेटर पर टेस्टिंग के दौरान आने वाली समस्या को ठीक कर दिया है जो AF/AE/AWB सेटिंग के साथ काम नहीं करते.

  • इमेज का विश्लेषण करते समय, उसे घुमाने पर ऐप्लिकेशन क्रैश होने की गड़बड़ी को ठीक किया गया.

  • उस गड़बड़ी को ठीक किया गया है जिसकी वजह से, कैमरे को घुमाने या फ़्रंट और बैक कैमरे के बीच स्विच करने के बाद, झलक शुरू होने पर काली दिखती थी (कैमरे का कोई डेटा नहीं दिखता था).

  • एक साथ कई इमेज का विश्लेषण करने की सुविधा को हटा दिया गया है. ऐप्लिकेशन को इमेज का विश्लेषण करने के लिए, सिर्फ़ एक यूज़ केस अटैच करना चाहिए, ताकि यह पक्का किया जा सके कि वह सही तरीके से काम करे.

  • कैमरा-टेस्टिंग सुइट (WIP) में नकली कैमरे के लिए, शुरुआती रोबोलेक्ट्रिक टेस्ट जोड़े गए.

  • Camera2Inititalizer टेस्ट को हटा दिया गया है, क्योंकि इसका कवरेज साफ़ तौर पर नहीं बताया गया था/गुमराह करने वाला था.

Camera-Camera2 और Camera-Core का वर्शन 1.0.0-alpha04

7 अगस्त, 2019

androidx.camera:camera-camera2:1.0.0-alpha04 और androidx.camera:camera-core:1.0.0-alpha04 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.

नई सुविधाएं

आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) और रिज़ॉल्यूशन चुनने की सुविधा में बदलाव

CameraX का मकसद, कैमरा सेशन को शुरू करना है. इसका मतलब है कि CameraX, डिवाइस की क्षमता के आधार पर रिज़ॉल्यूशन/आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) से समझौता करता है. ऐसा इसलिए, ताकि कैप्चर सेशन को अपने पहले लक्ष्य के तौर पर शुरू किया जा सके. इसलिए, हो सकता है कि सटीक अनुरोधों को पूरा न किया जाए. ऐसा इन वजहों से हो सकता है:

  • अनुरोध किए गए रिज़ॉल्यूशन के साथ काम न करने वाले डिवाइस
  • साथ काम करने से जुड़ी समस्याएं. जैसे, लेगसी डिवाइसों पर सही तरीके से काम करने के लिए, कुछ रिज़ॉल्यूशन का इस्तेमाल करना ज़रूरी होता है
  • कुछ डिवाइसों पर, कुछ फ़ॉर्मैट सिर्फ़ कुछ आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) में उपलब्ध होते हैं
  • JPEG या वीडियो एन्कोडिंग के लिए, “सबसे नज़दीकी mod16” को प्राथमिकता दी जाती है. CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP देखें

CameraX, सेशन बनाता और मैनेज करता है. हालांकि, आपको अपने कोड में इस्तेमाल के उदाहरण के आउटपुट पर, इमेज के साइज़ की जांच करनी चाहिए और उसके हिसाब से बदलाव करना चाहिए.

रिज़ॉल्यूशन और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) सेट करने के लिए कुछ बदलाव किए गए हैं. इनका मकसद, एपीआई को ज़्यादा साफ़ तौर पर समझाना है:

  • अगर कोई आसपेक्ट रेशियो सेट नहीं किया गया है, तो झलक दिखाने वाले यूज़ केस के लिए, अब डिफ़ॉल्ट रूप से 4:3 आसपेक्ट रेशियो का इस्तेमाल किया जाता है.
  • जब CameraX, डिवाइस की क्षमता के आधार पर, अनुरोध किए गए रिज़ॉल्यूशन और आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) में बदलावों पर विचार करता है, तो वह सबसे पहले आसपेक्ट रेशियो को एक जैसा बनाए रखने की कोशिश करता है. यह setTargetAspectRatio या setTargetResolution कॉल से तय होता है
  • रिज़ॉल्यूशन के “सबसे नज़दीकी mod16” वर्शन को एक ही आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) माना जाता है.

ImageAnalysis नॉन-ब्लॉकिंग मोड

  • ImageReaderMode.ACQUIRE_LATEST_IMAGE का व्यवहार अब नॉन-ब्लॉकिंग है. यह सूची में मौजूद सबसे नई इमेज को कैप्चर करता है. हालांकि, यह इस्तेमाल न की गई इमेज को लगातार खारिज करता रहता है, ताकि कैमरा पाइपलाइन को ब्लॉक होने से बचाया जा सके.
  • एनालाइज़र, पाइपलाइन को रोके बिना किसी एक इमेज को अनिश्चित समय तक होल्ड कर सकता है.
  • अगर ऐप्लिकेशन कोई ऐसा एक्ज़ीक्यूटर उपलब्ध कराता है जो ब्लॉक करता है, तो ImageAnalysis का इस्तेमाल करने का उदाहरण ब्लॉक हो जाता है.
  • डिफ़ॉल्ट रूप से सेट किया गया एक्ज़ीक्यूटर, अंदरूनी तौर पर नॉन-ब्लॉकिंग एक्ज़ीक्यूटर की तरह काम करता है.

गड़बड़ियां ठीक की गईं

  • उन डिवाइसों पर इमेज कैप्चर करते समय, 3A कन्वर्जेंस के लिए इंतज़ार करने से जुड़ी टाइम आउट की समस्याओं को ठीक किया गया है जिनमें ऑटो-फ़ोकस, ऑटो एक्सपोज़र, और ऑटो-वाइट बैलेंस की सुविधा नहीं है
  • ImageCapture की मदद से तेज़ी से फ़ोटो लेने पर आने वाली समस्या को ठीक किया गया. गड़बड़ी ठीक करता है: java.lang.IllegalStateException: maxImages (2) has already been acquired
  • उस समस्या को ठीक किया गया है जिसमें इस्तेमाल के किसी उदाहरण के लिए setLensFacing को कॉल नहीं किया गया था. इस वजह से, java.lang.IllegalArgumentException: Unable to get camera ID for use case की समस्या आ रही थी.
  • उस समस्या को ठीक किया गया है जिसमें LEGACY डिवाइस के लिए, JPEG के ज़्यादा से ज़्यादा रिज़ॉल्यूशन के तौर पर खास आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) की ज़रूरत होती थी
  • कैमरा खुलते समय, ऐप्लिकेशन को बैकग्राउंड में भेजने पर आने वाली समस्या को ठीक किया गया
  • एपीआई < 25 पर आने वाली समस्या को ठीक किया गया. साथ ही, गड़बड़ी checkAndUpdateEglState: invalid current EGLDisplay को हटाया गया
  • एक्सटेंशन चालू करने और शुरू करने के बाद, झलक को अनबाइंड करने से जुड़ी समस्या को ठीक किया गया
  • कैमरा-व्यू और कैमरा-एक्सटेंशन के लिए बिल्ड आर्टफ़ैक्ट, अब ऐल्फ़ा वर्शन के तौर पर पब्लिश किए गए हैं

Camera-Camera2 और Camera-Core का वर्शन 1.0.0-alpha03

2 जुलाई, 2019

androidx.camera:camera-core:1.0.0-alpha03 और androidx.camera:camera-camera2:1.0.0-alpha03 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • setTarget कॉन्फ़िगरेशन कॉल में, “टारगेट” के लिए javadoc की जानकारी जोड़ी गई

Camera-Core

  • इनपुट/आउटपुट सरफ़ेस को तेज़ी से खोलने/बंद करने या बाइंड/अनबाइंड करने पर, कॉन्फ़िगर नहीं किए गए इनपुट/आउटपुट सरफ़ेस के क्रैश होने की समस्या को ठीक किया गया
  • Futures के नए तरीके लागू करना
  • ज़्यादा बेहतर तरीके से जांच करने के लिए, टेस्ट फ़िक्स
  • कोर इंटिग्रेशन टेस्ट में अब फ़ोटो कैप्चर करने का समय दिखता है
  • एग्ज़ेक्यूटर के लिए, इंटरनल कंपैट क्लास डेवलप की गई
  • टाइमिंग टेस्ट ऐप्लिकेशन, इमेज कैप्चर करने के लिए पिछली इमेज के कैप्चर होने का इंतज़ार करता है. साथ ही, इसमें स्थिरता को बेहतर बनाया गया है

एक्सटेंशन

  • वर्शन की जांच करने की सुविधा जोड़ी गई
  • अतिरिक्त टेस्ट कवरेज - एक्सटेंशन इवेंट कॉलबैक
  • इमेज और मेटा-डेटा को इंटरनल तौर पर मैच करने की सुविधा में सुधार
  • टेस्ट ऐप्लिकेशन में मोड स्विच करने से जुड़ी गड़बड़ियां ठीक की गईं

Camera-Camera2 और Camera-Core का वर्शन 1.0.0-alpha02

5 जून, 2019

androidx.camera:camera-core:1.0.0-alpha02 और androidx.camera:camera-camera2:1.0.0-alpha02 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एम्युलेटर का इस्तेमाल करते समय, शून्य से भाग देने की समस्या को ठीक किया गया
  • कुछ डिवाइसों पर, तेज़ी से फ़ोटो लेते समय NullPointerException/Surface Abandoned गड़बड़ी को ठीक किया गया. यह गड़बड़ी, इस्तेमाल के उदाहरणों को तेज़ी से अनबाइंड और फिर से बाइंड करने पर होती थी.
  • कैप्चर अनुरोध के अपडेट सभी प्लैटफ़ॉर्म पर एक जैसे दिखें, इसके लिए अंदरूनी समस्या को ठीक किया गया
  • ऐप्लिकेशन के नए इंस्टेंस में इस्तेमाल के उदाहरणों को फिर से शुरू करने पर, ऐप्लिकेशन क्रैश या हैंग होने से बचाने के लिए किए गए सुधार
  • एपीआई में एक्ज़ीक्यूटर की सुविधा देने के लिए, इंटरनल आर्किटेक्चर में बदलाव किए गए
  • CameraX क्लास और लाइफ़साइकल मैनेजमेंट के बारे में Javadoc में ज़्यादा जानकारी
  • Antelope परफ़ॉर्मेंस टेस्ट ऐप्लिकेशन के लिए, इंस्ट्रुमेंटेड टेस्टिंग की सुविधा जोड़ी गई
  • ऐप्लिकेशन के Proguard कॉन्फ़िगरेशन में '-keepattributes Signature' की ज़रूरत को हटाना

Camera-Camera2 और Camera-Core 1.0.0-alpha01

7 मई, 2019

androidx.camera:camera-core:1.0.0-alpha01 और androidx.camera:camera-camera2:1.0.0-alpha01 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं.

Camera-Lifecycle का वर्शन 1.0.0-beta11

14 अक्टूबर, 2020

androidx.camera:camera-lifecycle:1.0.0-beta11 रिलीज़ हो गया है. वर्शन 1.0.0-beta11 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • अगर <UseCase>.getTargetRotation() को Camera के इंस्टेंस से अटैच करने से पहले कॉल किया जाता है, तो यह Surface.ROTATION_0 दिखाएगा. हालांकि, अगर Builder या UseCase पर targetRotation सेट किया गया है, तो ऐसा नहीं होगा. (I80fcd)

Camera-Lifecycle का वर्शन 1.0.0-beta10

23 सितंबर, 2020

androidx.camera:camera-lifecycle:1.0.0-beta10 रिलीज़ हो गया है. वर्शन 1.0.0-beta10 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया वर्शन

Camera-Lifecycle का वर्शन 1.0.0-beta09

16 सितंबर, 2020

androidx.camera:camera-lifecycle:1.0.0-beta09 रिलीज़ हो गया है. वर्शन 1.0.0-beta09 में ये बदलाव शामिल हैं.

Camera-Lifecycle का वर्शन 1.0.0-beta08

19 अगस्त, 2020

androidx.camera:camera-lifecycle:1.0.0-beta08 रिलीज़ हो गया है. वर्शन 1.0.0-beta08 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Context.getApplicationContext() से ऐप्लिकेशन ऑब्जेक्ट न दिखाने वाले कॉन्टेक्स्ट का इस्तेमाल करने पर, अब इनिशलाइज़ेशन क्रैश नहीं होना चाहिए. (I3d3c9, b/160817073)

Camera-Lifecycle का वर्शन 1.0.0-beta07

22 जुलाई, 2020

androidx.camera:camera-lifecycle:1.0.0-beta07 रिलीज़ हो गया है. वर्शन 1.0.0-beta07 में ये बदलाव शामिल हैं.

Camera-Lifecycle का वर्शन 1.0.0-beta06

24 जून, 2020

androidx.camera:camera-lifecycle:1.0.0-beta06 रिलीज़ हो गया है. वर्शन 1.0.0-beta06 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • ProcessCameraProvider#getInstance() को कॉल करने से पहले, अब ProcessCameraProvider#configureInstance() की मदद से CameraX को कॉन्फ़िगर किया जा सकता है. इससे, ऐप्लिकेशन की ऐप्लिकेशन क्लास में CameraXConfig.Provider को लागू किए बिना, CameraXConfig को पसंद के मुताबिक बनाया जा सकता है. (Ia1a8d)

Camera-Lifecycle का वर्शन 1.0.0-beta05

10 जून, 2020

androidx.camera:camera-lifecycle:1.0.0-beta05 रिलीज़ हो गया है. वर्शन 1.0.0-beta05 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • फ़ोन के 'परेशान न करें' मोड में होने पर, CameraX को शुरू करते समय ऐप्लिकेशन के क्रैश होने की समस्या को ठीक किया गया. InitializationException में CameraUnavailableException शामिल है. इसे ऐप्लिकेशन को क्रैश करने के बजाय, शुरू करने के नतीजे के ListenableFuture पर सेट किया जाएगा. (I9909a, b/149413835)

Camera-Lifecycle का वर्शन 1.0.0-beta04

27 मई, 2020

androidx.camera:camera-lifecycle:1.0.0-beta04 रिलीज़ हो गया है. वर्शन 1.0.0-beta04 में ये बदलाव शामिल हैं.

Camera-Lifecycle वर्शन 1.0.0-beta03

15 अप्रैल, 2020

androidx.camera:camera-lifecycle:1.0.0-beta03 रिलीज़ हो गया है. वर्शन 1.0.0-beta03 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • beta03 में हुई गड़बड़ी को ठीक किया गया. इसमें शून्य UseCase के साथ bindToLifecycle() को कॉल करने पर, गड़बड़ी का मैसेज दिखता था. इस वजह से, UseCase को बाइंड किए बिना Camera को वापस नहीं लाया जा सका.
  • camera-core को रिलीज़ करने के लिए, गड़बड़ियां ठीक की गईं

Camera-Lifecycle वर्शन 1.0.0-beta01

26 फ़रवरी, 2020

androidx.camera:camera-lifecycle:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • दस्तावेज़ में यह जानकारी जोड़ी गई है कि शुरू करने के दौरान ProcessCameraProvider पाने पर, डिफ़ॉल्ट कॉन्फ़िगरेशन का इस्तेमाल किया जाता है. साथ ही, Application को बढ़ाना ज़रूरी नहीं है. (I5e395)

Camera-Lifecycle का वर्शन 1.0.0-beta02

1 अप्रैल, 2020

androidx.camera:camera-lifecycle:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • camera-camera2:1.0.0-beta02 और camera-core:1.0.0-beta02 आर्टफ़ैक्ट में गड़बड़ियां ठीक करने के लिए अपडेट किया गया.

Camera-Lifecycle का वर्शन 1.0.0-alpha10

10 फ़रवरी, 2020

androidx.camera:camera-lifecycle:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • @MainThread एनोटेशन को BindToLifecycle, unbind, और unbindAll तरीकों में जोड़ा गया. (I990d2)

Camera-Lifecycle का वर्शन 1.0.0-alpha03

22 जनवरी, 2020

androidx.camera:camera-lifecycle:1.0.0-alpha03 रिलीज़ हो गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.

अपडेट

  • Camera Core और Camera2 में हुए बदलावों के लिए, कई गड़बड़ियां ठीक की गईं और अपडेट किए गए.

Camera-Lifecycle का वर्शन 1.0.0-alpha02

18 दिसंबर, 2019

androidx.camera:camera-lifecycle:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.

डिपेंडेंसी में बदलाव

  • androidx.camera:camera-core:1.0.0-alpha08 का इस्तेमाल करने के लिए अपडेट किया गया.

Camera-Lifecycle का वर्शन 1.0.0-alpha01

4 दिसंबर, 2019

androidx.camera:camera-lifecycle:1.0.0-alpha01 रिलीज़ हो गया है. camera-lifecycle के वर्शन 1.0.0-alpha01 में ये बदलाव शामिल हैं

एपीआई से जुड़े नोट

  • कैमरा-लाइफ़साइकल आर्टफ़ैक्ट जोड़ा गया है. इससे LifeCycleCameraProvider इंटरफ़ेस और ProcessCameraProvider नाम का एक इंप्लिमेंटेशन मिलता है. यह इंप्लिमेंटेशन, कोर में पिछले CameraX क्लास के कई फ़ंक्शन उपलब्ध कराता है. इसे getInstance() तरीके से हासिल किया जाता है.
  • CameraX का इस्तेमाल करने के लिए, ऐप्लिकेशन में camera-lifecycle लाइब्रेरी शामिल होनी चाहिए.
  • ProcessCameraProvider का इस्तेमाल करके CameraX को शुरू करने का तरीका जानने के लिए, camera-core सेक्शन में मौजूद नोट देखें.

Camera-Extensions और Camera-View का वर्शन 1.0.0

वर्शन 1.0.0-alpha32

15 दिसंबर, 2021

androidx.camera:camera-extensions:1.0.0-alpha32 और androidx.camera:camera-view:1.0.0-alpha32 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha32 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • इनर क्लास/इंटरफ़ेस से ग़ैर-ज़रूरी @RequiresApi(21) एनोटेशन हटाए गए. (I8e286, b/204917951)
  • कैमरा-एक्सटेंशन आर्टफ़ैक्ट के लिए, एपीआई फ़ाइलें अपडेट करें. (If683a, b/161377155)

गड़बड़ियां ठीक की गईं

  • VideoCapture को बाइंड करते समय, ऐप्लिकेशन को एक्सटेंशन मोड चालू करने की अनुमति न दें. CameraX Extensions सिर्फ़ ImageCapture और Preview के साथ काम करता है. फ़िलहाल, VideoCapture का इस्तेमाल नहीं किया जा सकता. अगर ऐप्लिकेशन VideoCapture को बाइंड करता है और किसी एक्सटेंशन मोड को चालू करता है, तो IllegalArgumentException दिखेगा. (I0d87b)
  • नतीजों का सेट खाली होने पर, CameraSelector#filter अब IllegalArgumentException नहीं दिखाता. (I27804)
  • ExtensionsManager#getInstance एपीआई का नाम बदलकर getInstanceAsync कर दिया गया है, क्योंकि यह ListenableFuture दिखाता है. फ़ंक्शन के नाम के आखिर में Async सफ़िक्स जोड़ने से, यह साफ़ तौर पर पता चलता है कि यह एक एसिंक फ़ंक्शन है. (I279d2)
  • ExtensionsManager#getEstimatedCaptureLatencyRange एपीआई से रिज़ॉल्यूशन पैरामीटर हटाएं. ऐसा इसलिए, क्योंकि उपयोगकर्ताओं को यह नहीं पता होता कि ImageCapture इस्तेमाल के उदाहरण के लिए, कौनसे साइज़ काम करते हैं. साथ ही, वे यह भी नहीं बता सकते कि इंतज़ार के समय की जानकारी, कैप्चर किए गए आउटपुट के ज़्यादा से ज़्यादा साइज़ के लिए है या इनपुट रिज़ॉल्यूशन पैरामीटर के लिए. (I74bb2)
  • ExtensionsManager फ़ंक्शन के CameraProvider पैरामीटर को getInstance() एपीआई में ले जाएं. इससे उपयोगकर्ताओं को ExtensionsManager फ़ंक्शन को कॉल करते समय, हर बार CameraProvider पैरामीटर डालने की ज़रूरत नहीं पड़ती. (Ic7e48)

वर्शन 1.0.0-alpha31

17 नवंबर, 2021

androidx.camera:camera-extensions:1.0.0-alpha31 और androidx.camera:camera-view:1.0.0-alpha31 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha31 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • CameraSelector के आधार पर CameraInfos की सूची को फ़िल्टर करने के लिए, सार्वजनिक एपीआई में CameraSelector#filter जोड़ा गया. (I105d0)

गड़बड़ियां ठीक की गईं

  • कुछ डिवाइसों पर एक्सटेंशन मोड को तेज़ी से स्विच करने पर होने वाली क्रैश की समस्या को ठीक किया गया. (Iebbef)

वर्शन 1.0.0-alpha30

13 अक्टूबर, 2021

androidx.camera:camera-extensions:1.0.0-alpha30 और androidx.camera:camera-view:1.0.0-alpha30 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha30 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • सभी CameraX क्लास में @RequiresApi(21) एनोटेशन जोड़ा गया. साथ ही, AndroidManifest.xml से minSdkVersion को हटा दिया गया. इससे, कैमरा-कोर को उन ऐप्लिकेशन में आसानी से इंटिग्रेट किया जा सकेगा जिनमें minSdkVersion 21 से कम है. हालांकि, ये ऐप्लिकेशन कुछ शर्तों के साथ ऐसे कोड पाथ इस्तेमाल करना चाहते हैं जो एपीआई 21 और इसके बाद के वर्शन पर निर्भर करते हैं. अगर किसी ऐप्लिकेशन में minSdkVersion 21 या इसके बाद का वर्शन है, तो इस बदलाव के लिए कुछ करने की ज़रूरत नहीं है. (Ie7f2e, b/200599470)

गड़बड़ियां ठीक की गईं

  • AbstractMethodError की समस्या को ठीक कर दिया गया है. यह समस्या, ProGuard के चालू होने पर होती है. (Iae468, b/201177844)

वर्शन 1.0.0-alpha29

29 सितंबर, 2021

androidx.camera:camera-extensions:1.0.0-alpha29 और androidx.camera:camera-view:1.0.0-alpha29 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha29 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • ExperimentalUseCaseGroup एनोटेशन को अब हटा दिया गया है, क्योंकि एपीआई अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. (I01ef5)
  • RotationProvider#removeAllListeners() को हटाएं. इसके बजाय, कृपया RotationProvider#removeListener(...) का इस्तेमाल करें. (Id9d4a)
  • RotationReceiver क्लास को अपडेट किया गया: set/clear Listener को add/remove/removeAll में बदला गया. साथ ही, setListener के उस वैरिएंट को हटाया गया जो डिफ़ॉल्ट रूप से मुख्य थ्रेड का इस्तेमाल करता है. इसके अलावा, तरीकों के एनोटेशन जोड़े गए. (Ib1669)

गड़बड़ियां ठीक की गईं

  • ExtensionMode#BEAUTY का नाम बदलकर FACE_RETOUCH कर दिया गया है, ताकि एक्सटेंशन मोड से होने वाले काम को सही तरीके से दिखाया जा सके. (I61f54, b/198515274)
  • उस समस्या को ठीक किया गया है जिसमें एक ही ऐक्टिविटी में कई CameraController और PreviewView का इस्तेमाल करने पर, कैमरा अचानक बंद हो जाता था. (Ibfd18, b/197539358)

वर्शन 1.0.0-alpha28

18 अगस्त, 2021

androidx.camera:camera-extensions:1.0.0-alpha28 और androidx.camera:camera-view:1.0.0-alpha28 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha28 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • ExperimentalUseCaseGroupLifecycle एनोटेशन को अब हटा दिया गया है, क्योंकि एपीआई अब एक्सपेरिमेंट के तौर पर उपलब्ध नहीं हैं. (I17b85)
  • RotationListener को फिर से तैयार किया गया और इसका नाम बदलकर RotationProvider कर दिया गया. यह थोड़ा अलग एपीआई इस्तेमाल करके, पहले जैसी ही सुविधा देता है. (Idffc5)
  • TAP_TO_FOCUS_UNSUCCESSFUL का नाम बदलकर TAP_TO_FOCUS_NOT_FOCUSED और TAP_TO_FOCUS_SUCCESSFUL का नाम बदलकर TAP_TO_FOCUS_FOCUSED करें. OutputSize को फ़ाइनल किया गया (I099fa)

गड़बड़ियां ठीक की गईं

  • इस्तेमाल से बाहर हो चुकी <EffectName><UseCase>Extender क्लास, ExtensionsErrorListener, और इससे जुड़े ExtensionsManager एपीआई हटाए गए. (I3b8c3)

वर्शन 1.0.0-alpha27

21 जुलाई, 2021

androidx.camera:camera-extensions:1.0.0-alpha27 और androidx.camera:camera-view:1.0.0-alpha27 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha27 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • Viewport API को एक्सपेरिमेंटल से प्रमोट किया गया. एपीआई के एक्सपेरिमेंटल एनोटेशन को हटाना. (I717ea)
  • CoordinateTransform#getTransform का नाम बदलकर CoordinateTransform#transform किया गया और JavaDoc को अपडेट किया गया (I864ae)

गड़बड़ियां ठीक की गईं

  • Compose यूज़र इंटरफ़ेस (यूआई) के साथ PreviewView PERFORMANCE मोड का इस्तेमाल करने पर, स्ट्रेच होने की समस्या को ठीक किया गया. (Ie1137, b/183864890)

वर्शन 1.0.0-alpha26

30 जून, 2021

androidx.camera:camera-extensions:1.0.0-alpha26 और androidx.camera:camera-view:1.0.0-alpha26 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha26 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • CameraController#getTapToFocusState() नाम का एक नया तरीका जोड़ें, जो टैप-टू-फ़ोकस का नया नतीजा दिखाता है. (Iaccb0)
  • CameraController में कैमरे की मुख्य सुविधाएं जोड़ी गई हैं: टारगेट आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात), टारगेट रिज़ॉल्यूशन, कैप्चर मोड, CameraControl, और कस्टम एक्ज़ीक्यूटर के लिए गेटर/सेटर. (Iea8f2)
  • RotationReceiver क्लास जोड़ें, जो डिसप्ले रोटेशन में होने वाले बदलावों को रिसीव करती है. इसका इस्तेमाल, डिवाइस के पोर्ट्रेट/लैंडस्केप मोड में होने पर, टारगेट रोटेशन सेट करने के लिए किया जा सकता है. (Ib278f)
  • ExtensionsManager क्लास में, नए getEstimatedCaptureLatencyRange सार्वजनिक एपीआई को एक्सपोज़ किया गया. (I6a8ec)
  • ExtensionsErrorListener अब काम नहीं करता. फ़िलहाल, इस इंटरफ़ेस का इस्तेमाल सिर्फ़ यह मॉनिटर करने के लिए किया जाता है कि एक्सटेंशन मोड चालू करने पर, झलक या ImageCapture की सुविधा काम कर रही है या नहीं. CameraX, अपने-आप एक अतिरिक्त झलक या ImageCapture जोड़ देगा, ताकि एक्सटेंशन फ़ंक्शन ठीक से काम कर सकें. इसके बाद, इस इंटरफ़ेस से किसी भी गड़बड़ी की शिकायत नहीं की जा सकेगी. (I47d9e)
  • ExtensionsManager getInstance, isExtensionAvailable, और getExtensionEnabledCameraSelector के नए सार्वजनिक एपीआई उपलब्ध कराए गए हैं. साथ ही, पुरानी <EffectName><UseCase>Extender क्लास और उनसे जुड़े एपीआई बंद कर दिए गए हैं. (I329e6)

वर्शन 1.0.0-alpha25

2 जून, 2021

androidx.camera:camera-extensions:1.0.0-alpha25 और androidx.camera:camera-view:1.0.0-alpha25 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha25 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • ExperimentalCameraFilter API अब एक्सपेरिमेंट के चरण से बाहर हो गए हैं और आधिकारिक एपीआई बन गए हैं. इन्हें एनोटेट किए गए OptIn के बिना इस्तेमाल किया जा सकता है. (I4bc94)
  • ऐसी यूटिलिटी जोड़ें जो इस्तेमाल के अलग-अलग उदाहरणों के बीच कोऑर्डिनेट को ट्रांसफ़ॉर्म करती हो. इस्तेमाल का उदाहरण: ImageAnalysis के इस्तेमाल के उदाहरण में पहचाने गए निर्देशांकों को बदलना और झलक में पहचाने गए ऑब्जेक्ट को हाइलाइट करना. (I63ab1, b/137515129)
  • CameraView को हटाया गया. CameraView को CameraController से बदल दिया गया है. माइग्रेट करने का तरीका जानने के लिए, कृपया माइग्रेट करने से जुड़ी गाइड देखें.: (Id5005)

गड़बड़ियां ठीक की गईं

  • ExperimentalUseCaseGroupLifecycle को ExperimentalUseCaseGroup से बदला गया. (I3b2ef, b/159033688)

वर्शन 1.0.0-alpha24

21 अप्रैल, 2021

androidx.camera:camera-extensions:1.0.0-alpha24 और androidx.camera:camera-view:1.0.0-alpha24 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha24 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • एक्सपेरिमेंटल एपीआई के लिए, एनोटेशन @Experimental को @RequiresOptIn से बदल दिया गया है. एक्सपेरिमेंट के तौर पर उपलब्ध एपीआई को कॉल करने के लिए, अब काम न करने वाले androidx.annotation.experimental.UseExperimental के बजाय androidx.annotation.OptIn का इस्तेमाल करें. (Iff226)
  • Samsung J5 Prime पर PreviewView के स्ट्रेच होने की समस्या को ठीक किया गया (Ib10b6)

कैमरा एक्सटेंशन और व्यू का वर्शन 1.0.0-alpha23

24 मार्च, 2021

androidx.camera:camera-extensions:1.0.0-alpha23 और androidx.camera:camera-view:1.0.0-alpha23 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha23 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

गड़बड़ियां ठीक की गईं

  • कैमरा-व्यू डिपेंडेंसी को पिन किया गया, ताकि 1.0.0 आर्टफ़ैक्ट पर भरोसा किया जा सके. camera-view पर निर्भर रहने से, अब Gradle की डिपेंडेंसी रिज़ॉल्यूशन की सुविधा, camera-core, camera-camera2, और camera-lifecycle को नए 1.1.0 आर्टफ़ैक्ट में अपने-आप अपग्रेड नहीं करेगी. हालांकि, अगर camera-view को साफ़ तौर पर 1.1.0 का इस्तेमाल करने के लिए सेट किया गया है, तो वह अब भी उन आर्टफ़ैक्ट के साथ काम करेगा. (Ic8fa1, b/181599852)
  • PreviewView में Samsung A3 की स्ट्रेच की गई झलक को ठीक किया गया. (Iacb30, b/180121821)
  • उस समस्या को ठीक किया गया है जिसकी वजह से कैमरा चालू होने से पहले, कैमरा सिलेक्टर को सेट नहीं किया जा सकता था. (Ic8bd0)

कैमरा एक्सटेंशन और व्यू का वर्शन 1.0.0-alpha22

24 फ़रवरी, 2021

androidx.camera:camera-extensions:1.0.0-alpha22 और androidx.camera:camera-view:1.0.0-alpha22 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha22 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • CameraController में CameraInfo getter जोड़ें. (Ib8138, b/178251727)

गड़बड़ियां ठीक की गईं

  • ExtensionsErrorListener को ठीक किया गया, ताकि सिर्फ़ Preview या ImageCapture के बाउंड होने पर गड़बड़ियों की रिपोर्ट की जा सके. (I5ae39)

Camera Extensions और View का वर्शन 1.0.0-alpha21

27 जनवरी, 2021

androidx.camera:camera-extensions:1.0.0-alpha21 और androidx.camera:camera-view:1.0.0-alpha21 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha21 में ये बदलाव शामिल हैं.

अन्य कैमरा लाइब्रेरी आर्टफ़ैक्ट के साथ काम करने के लिए रिलीज़ किया जा रहा है.

Camera Extensions और View का वर्शन 1.0.0-alpha20

16 दिसंबर, 2020

androidx.camera:camera-extensions:1.0.0-alpha20 और androidx.camera:camera-view:1.0.0-alpha20 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha20 में ये बदलाव शामिल हैं.

अन्य कैमरा लाइब्रेरी आर्टफ़ैक्ट के साथ काम करने के लिए रिलीज़ किया जा रहा है.

Camera-Extensions और Camera-View का वर्शन 1.0.0-alpha19

11 नवंबर, 2020

androidx.camera:camera-extensions:1.0.0-alpha19 और androidx.camera:camera-view:1.0.0-alpha19 रिलीज़ हो गए हैं. वर्शन 1.0.0-alpha19 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • @ExperimentalVideo एनोटेशन को कैमरा-व्यू में जोड़ा गया. यह एनोटेशन, उन एपीआई को मार्क करता है जो एक्सपेरिमेंट के तौर पर उपलब्ध वीडियो की सुविधाओं को दिखाते हैं. इन सुविधाओं में बदलाव हो सकता है, क्योंकि इन्हें पूरी तरह से डेवलप किया जा रहा है. इन एपीआई का इस्तेमाल करने वाले किसी भी तरीके में, @UseExperimental एनोटेशन का इस्तेमाल किया जाना चाहिए. साथ ही, ExperimentalVideo को markerClass के तौर पर इस्तेमाल किया जाना चाहिए. (I6d729)

Camera-Extensions का वर्शन 1.0.0-alpha18

14 अक्टूबर, 2020

androidx.camera:camera-extensions:1.0.0-alpha18 रिलीज़ हो गया है. वर्शन 1.0.0-alpha18 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • CameraX को शुरू करने और bindToLifecycle के इंतज़ार के समय को कम किया गया (I61dc5)
  • अगर <UseCase>.getTargetRotation() को Camera के इंस्टेंस से अटैच करने से पहले कॉल किया जाता है, तो यह Surface.ROTATION_0 दिखाएगा. हालांकि, अगर Builder या UseCase पर targetRotation सेट किया गया है, तो ऐसा नहीं होगा. (I80fcd)

Camera-View का वर्शन 1.0.0-alpha18

14 अक्टूबर, 2020

androidx.camera:camera-view:1.0.0-alpha18 रिलीज़ हो गया है. वर्शन 1.0.0-alpha18 में ये बदलाव शामिल हैं.

अन्य कैमरा लाइब्रेरी आर्टफ़ैक्ट के साथ काम करने के लिए रिलीज़ किया जा रहा है.

Camera-Extensions का वर्शन 1.0.0-alpha17

23 सितंबर, 2020

androidx.camera:camera-extensions:1.0.0-alpha17 रिलीज़ हो गया है. वर्शन 1.0.0-alpha17 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया वर्शन

Camera-View का वर्शन 1.0.0-alpha17

23 सितंबर, 2020

androidx.camera:camera-view:1.0.0-alpha17 रिलीज़ हो गया है. वर्शन 1.0.0-alpha17 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Camera-Core 1.0.0-beta10 के साथ काम करने के लिए रिलीज़ किया गया वर्शन

कैमरा-एक्सटेंशन का वर्शन 1.0.0-alpha16

16 सितंबर, 2020

androidx.camera:camera-extensions:1.0.0-alpha16 रिलीज़ हो गया है. वर्शन 1.0.0-alpha16 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ExtensionsManager में Extensions ऑब्जेक्ट पाने के लिए, एक तरीका जोड़ा गया है. इसका इस्तेमाल, कैमरा इंस्टेंस पर एक्सटेंशन चालू करने और क्वेरी करने के लिए किया जाता है (I4fb7e)

Camera-View का वर्शन 1.0.0-alpha16

16 सितंबर, 2020

androidx.camera:camera-view:1.0.0-alpha16 रिलीज़ हो गया है. वर्शन 1.0.0-alpha16 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • PreviewView#setDeviceRotationForRemoteDisplayMode() और PreviewView#getDeviceRotationForRemoteDisplayMode() को हटाया गया. इन दोनों तरीकों का इस्तेमाल, झलक के रोटेशन को पसंद के मुताबिक बनाने के लिए किया जाता है.ऐसा तब किया जाता है, जब आपको झलक को डिसप्ले के रोटेशन के हिसाब से न घुमाना हो. उदाहरण के लिए, रिमोट डिसप्ले. डिसप्ले के अलावा, अन्य डिवाइसों पर झलक को रोटेट करने के लिए, Preview#setTargetRotation() और नए जोड़े गए PreviewView#getViewPort(targetRotation) का इस्तेमाल करके, अपनी पसंद के मुताबिक रोटेशन सेट करें. (Ib62cc)
  • createSurfaceProvider() का नाम बदलकर getSurfaceProvider() किया गया. यह तरीका हमेशा Preview.SurfaceProvider का एक ही इंस्टेंस दिखाएगा. (Iff83c)

गड़बड़ियां ठीक की गईं

  • अगर एक्सटेंशन इफ़ेक्ट चालू है और वेंडर लाइब्रेरी को आउटपुट सरफ़ेस पर कोई खास प्रोसेस करनी है, तो PreviewView को TextureView का इस्तेमाल करने के लिए मजबूर किया जाता है. (I0c3cc)
  • झलक के लिए, टारगेट रोटेशन की अनुमति दें. ट्रांसफ़ॉर्मेशन की जानकारी का हिसाब लगाया जाता है और नए TranformationInfoListener कॉलबैक के ज़रिए, उपयोगकर्ता को तुरंत जानकारी दी जाती है. (I21470)

पहले से मालूम समस्याएं

  • PreviewView में, जब असली उपयोगकर्ता PreviewView पर क्लिक करता है, तब OnClickListener#onClick() को शुरू नहीं किया जाता. PreviewView#onTouchEvent() ने गलती से टच इवेंट का इस्तेमाल कर लिया है. इस समस्या को अगली रिलीज़ में ठीक कर दिया जाएगा.
  • अगर ViewPort का इस्तेमाल PreviewView के साथ किया जाता है, तो हो सकता है कि PreviewView#getMeteringPointFactory() से मिला MeteringPoint गलत हो.

Camera-Extensions का वर्शन 1.0.0-alpha15

19 अगस्त, 2020

androidx.camera:camera-extensions:1.0.0-alpha15 रिलीज़ हो गया है. वर्शन 1.0.0-alpha15 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ExtensionsManager.init() वाले तरीके में अब 0 आर्ग्युमेंट के बजाय, पैरामीटर के तौर पर कॉन्टेक्स्ट का इस्तेमाल किया जाता है. (Ife754)
  • Context.getApplicationContext() से ऐप्लिकेशन ऑब्जेक्ट न दिखाने वाले कॉन्टेक्स्ट का इस्तेमाल करने पर, अब इनिशलाइज़ेशन क्रैश नहीं होना चाहिए. (I3d3c9, b/160817073)

    Camera-View का वर्शन 1.0.0-alpha15

    19 अगस्त, 2020

androidx.camera:camera-view:1.0.0-alpha15 रिलीज़ हो गया है. वर्शन 1.0.0-alpha15 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • DisplayOrientedMeteringPointFactory, CameraSelector के बजाय CameraInfo इंस्टेंस लेता है. इससे, फ़ैक्ट्री जिस कैमरे के लिए पॉइंट जनरेट करेगी उसकी डायरेक्ट मैपिंग हो जाती है. DisplayOrientedMeteringPointFactory का इस्तेमाल करने वाली सभी क्लास, CameraSelector के बजाय CameraInfo इंस्टेंस का भी इस्तेमाल करती हैं. (I400c1)
  • TextureViewMeteringPointFactory को हटाया गया. PreviewView, मीटरिंग पॉइंट फ़ैक्ट्री बनाने के लिए एक सार्वजनिक एपीआई (createMeteringPointFactory()) उपलब्ध कराता है. इससे कोई फ़र्क़ नहीं पड़ता कि वह TextureView या SurfaceView का इस्तेमाल कर रहा है. (Ide693)
  • PreviewView के SURFACE_VIEW/TEXTURE_VIEW मोड का नाम बदलकर PERFORMANCE/COMPATIBLE करें. PERFORMANCE, पुराना SURFACE_VIEW मोड है और COMPATIBLE, पुराना TEXTURE_VIEW मोड है. (I0edc2)
  • इमेज कैप्चर करने के लिए, कैमरे की दिशा के आधार पर मेटाडेटा में मौजूद, हॉरिज़ॉन्टल फ़्लिप फ़्लैग को ओवरराइट करें. (I28499)

Camera-Extensions का वर्शन 1.0.0-alpha14

22 जुलाई, 2020

androidx.camera:camera-extensions:1.0.0-alpha14 रिलीज़ हो गया है. वर्शन 1.0.0-alpha14 में ये बदलाव शामिल हैं.

Camera-View का वर्शन 1.0.0-alpha14

22 जुलाई, 2020

androidx.camera:camera-view:1.0.0-alpha14 रिलीज़ हो गया है. वर्शन 1.0.0-alpha14 में ये बदलाव शामिल हैं.

Camera-Extensions का वर्शन 1.0.0-alpha13

24 जून, 2020

androidx.camera:camera-extensions:1.0.0-alpha13 रिलीज़ हो गया है. वर्शन 1.0.0-alpha13 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • कैमरा आईडी और CameraCharacteristics के हिसाब से कैमरों को फ़िल्टर करने के लिए, एक्सपेरिमेंट के तौर पर उपलब्ध इंटरफ़ेस जोड़े गए हैं. (I28f61)

Camera-View का वर्शन 1.0.0-alpha13

24 जून, 2020

androidx.camera:camera-view:1.0.0-alpha13 रिलीज़ हो गया है. वर्शन 1.0.0-alpha13 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • CameraView अब IllegalArgumentException के साथ क्रैश नहीं होता. ऐसा तब होता है, जब इसे किसी ऐसे LifecycleOwner से बाइंड किया जाता है जिसकी लाइफ़साइकल, बाइंड होने के कुछ ही समय बाद DESTROYED स्टेटस में बदल जाती है. DESTROYED स्टेटस में लाइफ़साइकल को बाइंड करने पर, कैमरा नहीं खुलेगा. (I7c2b8)
  • PreviewView StreamState अब CameraView.getPreviewStreamState() (I21a2b) के ज़रिए उपलब्ध है

Camera-Extensions का वर्शन 1.0.0-alpha12

10 जून, 2020

androidx.camera:camera-extensions:1.0.0-alpha12 रिलीज़ हो गया है. वर्शन 1.0.0-alpha12 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • फ़ोन के 'परेशान न करें' मोड में होने पर, CameraX को शुरू करते समय ऐप्लिकेशन के क्रैश होने की समस्या को ठीक किया गया. InitializationException में CameraUnavailableException शामिल है. इसे ऐप्लिकेशन को क्रैश करने के बजाय, शुरू करने के नतीजे के ListenableFuture पर सेट किया जाएगा. (I9909a, b/149413835)

Camera-View का वर्शन 1.0.0-alpha12

10 जून, 2020

androidx.camera:camera-view:1.0.0-alpha12 रिलीज़ हो गया है. वर्शन 1.0.0-alpha12 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • PreviewView#getBitmap() एपीआई जोड़ें. यह एपीआई, झलक वाली स्क्रीन पर दिखाए गए कॉन्टेंट को बिटमैप के तौर पर दिखाता है. (I9b500, b/157659818)

Camera-Extensions का वर्शन 1.0.0-alpha11

27 मई, 2020

androidx.camera:camera-extensions:1.0.0-alpha11 रिलीज़ हो गया है. वर्शन 1.0.0-alpha11 में ये बदलाव शामिल हैं.

Camera-View का वर्शन 1.0.0-alpha12

10 जून, 2020

androidx.camera:camera-view:1.0.0-alpha12 रिलीज़ हो गया है. वर्शन 1.0.0-alpha12 में ये बदलाव शामिल हैं.

नई सुविधाएं

एपीआई में बदलाव

गड़बड़ियां ठीक की गईं

  • PreviewView#getBitmap() एपीआई जोड़ें. यह एपीआई, झलक वाली स्क्रीन पर दिखाए गए कॉन्टेंट को बिटमैप के तौर पर दिखाता है. (I9b500, b/157659818)

Camera-View का वर्शन 1.0.0-alpha11

27 मई, 2020

androidx.camera:camera-view:1.0.0-alpha11 रिलीज़ हो गया है. वर्शन 1.0.0-alpha11 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • PreviewView#getPreviewStreamState एपीआई जोड़ें. इससे ऐप्लिकेशन को यह पता चलता है कि झलक स्ट्रीम हो रही है या नहीं. जब PreviewView, TEXTURE_VIEW मोड में होता है, तब STREAMING स्टेटस यह भी पक्का करता है कि झलक वाली इमेज दिखे. (Ic0906, b/154652477)
  • अगर ऐप्लिकेशन रिमोट डिसप्ले मोड में चल रहा है, तो ट्रांसफ़ॉर्म कैलकुलेशन के लिए डिवाइस रोटेशन की सुविधा देने के लिए, PreviewView#setDeviceRotationForRemoteDisplayMode() एपीआई जोड़ा गया. (I59b95, b/153514525)

गड़बड़ियां ठीक की गईं

  • Android 7.0 और इससे पहले के वर्शन वाले FULL/LIMITED/LEVEL_3 कैमरों पर, झलक के खराब दिखने की समस्या को ठीक किया गया. Android वर्शन 7.0 या इससे पहले का होने पर, ImplementationMode#TEXTURE_VIEW मोड का इस्तेमाल करना ज़रूरी है. (I83e30, b/155085307)
  • PreviewView#createSurfaceProvider() से CameraInfo पैरामीटर को हटा दिया गया है. अब PreviewView इसे SurfaceRequest से इंटरनल तौर पर वापस लाता है. (If18f0, b/154652477)
  • CameraView में, VideoCapture के डिफ़ॉल्ट आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) को 16:9 पर सेट किया गया. (Ie6a7b, b/153237864)
  • PreviewView ViewPager2 में, फ़्रैगमेंट को स्वाइप करके हटाने और फिर से स्वाइप करके वापस लाने पर, काली स्क्रीन दिखने की समस्या को ठीक किया गया.Preview साथ ही, removeView(previewview) और फिर addView(previewView) होने पर आने वाली समस्या को ठीक किया गया. (Iab555, b/149877652, b/147354615)
  • CameraView#takePicture() एपीआई को अपडेट करें, ताकि Uri और OutputStream में इमेज सेव की जा सकें. टेस्ट ऐप्लिकेशन को अपडेट करें, ताकि Uri को कैननिकल उदाहरण के तौर पर इस्तेमाल किया जा सके. (Ia2459, b/153607583)
  • ScaleType एट्रिब्यूट को सेट करके, एक्सएमएल लेआउट से PreviewView के स्केल टाइप को सेट किया जा सकता है. (I08565, b/153015659)
  • CameraView.ScaleType को हटा दिया गया है. इसके बजाय, CameraView के साथ स्केल टाइप सेट करने/पाने के लिए, PreviewView.ScaleType का इस्तेमाल करें. (Ia8974, b/153014831)
  • अगर PreviewView का कोई बैकग्राउंड कलर पहले से सेट नहीं है, तो डिफ़ॉल्ट रूप से कोई बैकग्राउंड कलर सेट करें. इससे, झलक वाली स्ट्रीम शुरू होने से पहले, इसके पीछे मौजूद कॉन्टेंट नहीं दिखता. (I09fad)

Camera-Extensions का वर्शन 1.0.0-alpha10

15 अप्रैल, 2020

androidx.camera:camera-extensions:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • Camera-Core की रिलीज़ के लिए, गड़बड़ियां ठीक की गई हैं

Camera-View का वर्शन 1.0.0-alpha10

15 अप्रैल, 2020

androidx.camera:camera-view:1.0.0-alpha010 रिलीज़ हो गया है. वर्शन 1.0.0-alpha010 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • इससे पहले की एक समस्या को ठीक किया गया है. इसमें, PreviewView के surfaceView को लागू करने की सुविधा कुछ डिवाइसों पर ठीक से काम नहीं कर रही थी. साथ ही, झलक फिर से शुरू करने के बाद ऐप्लिकेशन क्रैश हो जाता था. (I5ed6b)

Camera-Extensions का वर्शन 1.0.0-alpha09

1 अप्रैल, 2020

androidx.camera:camera-extensions:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • camera-camera2:1.0.0-beta02, camera-core:1.0.0-beta02, और camera-lifecycle:1.0.0-beta02 आर्टफ़ैक्ट में गड़बड़ियां ठीक करने के लिए अपडेट किया गया

Camera-View का वर्शन 1.0.0-alpha09

1 अप्रैल, 2020 androidx.camera:camera-view:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.

पहले से मालूम समस्याएं

  • कुछ डिवाइसों पर, PreviewView के साथ ImplementationMode.SURFACE_VIEW का इस्तेमाल करने पर हो सकता है कि यह ठीक से काम न करे. ऐसा इसलिए होता है, क्योंकि झलक देखने के लिए इस्तेमाल किया जाने वाला SurfaceView, विंडो की लाइफ़साइकल बंद होने पर अपनी सतह को अमान्य कर देता है. विंडो के फिर से चालू होने पर, कैमरा फिर से खुल जाता है. साथ ही, SurfaceView की सतह के फिर से मान्य होने से पहले, झलक को फिर से शुरू करने की कोशिश की जा सकती है. फ़िलहाल, आपको ImplementationMode.TEXTURE_VIEW का इस्तेमाल करना चाहिए.

एपीआई में बदलाव

  • PreviewView.setImplementationMode() का नाम बदलकर PreviewView.setPreferredImplementationMode() किया गया.
  • PreviewView.getImplementationMode() का नाम बदलकर PreviewView.getPreferredImplementationMode() किया गया.
  • PreviewView.getSurfaceProvider() को PreviewView.createSurfaceProvider(CameraInfo) से बदला गया. यह एक ऐसा CameraInfo इंस्टेंस लेता है जो शून्य हो सकता है. इसका इस्तेमाल, जब भी संभव हो ImplementationMode.SURFACE_VIEW का इस्तेमाल करके झलक को ऑप्टिमाइज़ करने के लिए किया जाता है. अगर कोई शून्य इंस्टेंस पास किया जाता है या पसंदीदा मोड को ImplementationMode.TEXTURE_VIEW पर सेट किया जाता है, तो इंटरनल तौर पर ImplementationMode.TEXTURE_VIEW का इस्तेमाल किया जाता है.
  • यहां दिए गए कोड सैंपल से पता चलता है कि झलक दिखाने के लिए, PreviewView का इस्तेमाल पहले कैसे किया जाता था.

    preview.setSurfaceProvider(previewView.previewSurfaceProvider)
    cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
    

    फ़िलहाल, ये प्रॉम्प्ट लिखे जा सकते हैं:

    val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
    previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW
    preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))
    
  • @UiThread एनोटेशन को PreviewView.getSurfaceProvider() में जोड़ा गया है. इसका मतलब है कि इसे मुख्य थ्रेड से कॉल किया जाना चाहिए. (I192f3)

  • PreviewView.setScaleType() को जोड़ा गया. इससे झलक के स्केल टाइप को सेट किया जा सकता है. यह PreviewView.ScaleType में से कोई एक वैल्यू स्वीकार करता है. साथ ही, डिफ़ॉल्ट रूप से PreviewView.ScaleType.FILL_CENTER पर सेट होता है.

  • PreviewView.getScaleType() जोड़ा गया.

  • implementationMode एट्रिब्यूट का इस्तेमाल करके, एक्सएमएल लेआउट में PreviewView के लिए, लागू करने का मोड सेट करने की सुविधा हटा दी गई है.

  • PreviewView में createMeteringPointFactory() एपीआई जोड़ें, ताकि PreviewView में (x, y) को MeteringPoint में बदला जा सके. (Ib36d7)

गड़बड़ियां ठीक की गईं

  • PreviewView का साइज़ बदलने के बाद, गलत झलक दिखने की समस्या को ठीक किया गया. (I71101)

Camera-Extensions का वर्शन 1.0.0-alpha08

26 फ़रवरी, 2020

androidx.camera:camera-extensions:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.

Camera-View का वर्शन 1.0.0-alpha08

26 फ़रवरी, 2020

androidx.camera:camera-view:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • SurfaceRequest.provideSurface() को ListenableFuture की जगह Executor और Callback को जोड़ा गया. इससे एपीआई को इस्तेमाल करना आसान हो जाता है, क्योंकि अब provideSurface() पर अपवादों को मैनेज करने की ज़रूरत नहीं पड़ती. साथ ही, यह पक्का किया जाता है कि provideSurface() कॉलबैक को रद्द न किया जा सके. ऐसा इसलिए किया जाता है, ताकि पुराने डिवाइसों पर क्रैश होने की समस्या को रोका जा सके. यह समस्या, सरफ़ेस को समय से पहले रिलीज़ करने की वजह से होती है. SurfaceRequest.Result ऑब्जेक्ट का इस्तेमाल अब यह ट्रैक करने के लिए किया जाता है कि कोई SurfaceRequest, दिए गए Surface का इस्तेमाल कैसे करता है. (I7854b)
  • SurfaceRequest.setSurface(Surface) का नाम बदलकर SurfaceRequest.provideSurface(Surface) और SurfaceRequest.setWillNotComplete() का नाम बदलकर SurfaceRequest.willNotProvideSurface() किया गया. (I224fe)
  • ProGuard चालू होने पर, ऐप्लिकेशन के वैरिएंट को शुरू करने की समस्या को ठीक किया गया. इसके लिए, डिफ़ॉल्ट CameraXConfig प्रोवाइडर को सेट करने वाले फ़्लैग को बनाए रखा गया. (I2d6c1)

Camera-Extensions का वर्शन 1.0.0-alpha07

10 फ़रवरी, 2020

androidx.camera:camera-extensions:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • ImageCapture.OnImageSavedCallback.onError() और ImageCapture.OnImageCapturedCallback.onError() में पहले पास किए गए आर्ग्युमेंट को अब एक आर्ग्युमेंट ImageCaptureException से बदल दिया गया है. इसमें अब भी वह सारी जानकारी मौजूद है जो पहले पास की गई थी.
  • ImageCapture.OnImageSavedCallback.onImageSaved() में पहले पास किए गए फ़ाइल आर्ग्युमेंट को हटा दिया गया है. (I750d2)

Camera-View का वर्शन 1.0.0-alpha07

10 फ़रवरी, 2020

androidx.camera:camera-view:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.

एपीआई में बदलाव

  • PreviewView के TextureView को लागू करने पर, अब TextureView का साइज़, कैमरा सेंसर के आउटपुट साइज़ पर सेट हो जाता है. इसके बाद, इसे पैरंट PreviewView को भरने के लिए स्केल किया जाता है. अगर आपको कैमरे की झलक को यूज़र इंटरफ़ेस (यूआई) के पूरे हिस्से (उदाहरण के लिए, पूरी स्क्रीन) में दिखाना है, तो आपको PreviewView के साइज़ को किसी तय वैल्यू पर सेट नहीं करना चाहिए या इसके कॉन्टेंट को रैप नहीं करना चाहिए. उदाहरण के लिए, "wrap_content" एट्रिब्यूट का इस्तेमाल करके. ऐसा करने पर, कैमरे की झलक सिर्फ़ PreviewView के हिस्से को भर सकती है. ऐसा तब होता है, जब कैमरा सेंसर के आउटपुट का साइज़ छोटा हो. इसके बजाय, आपको PreviewView को उसके पैरंट जितना बड़ा सेट करना चाहिए. उदाहरण के लिए, "match_parent" एट्रिब्यूट का इस्तेमाल करके. (1204869)

गड़बड़ियां ठीक की गईं

  • ImageCapture को अपडेट किया गया, ताकि Uri और OutputStream में इमेज सेव की जा सकें. ओवरलोड किए गए takePicture तरीकों को एक साथ जोड़ा गया. टेस्ट ऐप्लिकेशन को अपडेट किया गया, ताकि Uri को कैननिकल उदाहरण के तौर पर इस्तेमाल किया जा सके. (Ia3bec)
  • Preview.PreviewSurfaceProvider का नाम बदलकर Preview.SurfaceProvider कर दिया गया है. SurfaceProviders के लिए, अब डेवलपर को अपना ListenableFuture बनाने की ज़रूरत नहीं है. साथ ही, Surface उपलब्ध कराने की सुविधा अब नए SurfaceRequest ऑब्जेक्ट के ज़रिए उपलब्ध है. Preview.getPreviewSurfaceProvider() तरीके को हटा दिया गया है, क्योंकि Preview को PreviewView जैसी अन्य क्लास के साथ जोड़ने पर, इसका दुरुपयोग किया जा सकता है. (I20105)
  • ImageCapture.OnImageSavedCallback.onError() और ImageCapture.OnImageCapturedCallback.onError() में पहले पास किए गए आर्ग्युमेंट को अब एक आर्ग्युमेंट ImageCaptureException से बदल दिया गया है. इसमें अब भी वह सारी जानकारी मौजूद है जो पहले पास की गई थी.
  • ImageCapture.OnImageSavedCallback.onImageSaved() में पहले पास किए गए फ़ाइल आर्ग्युमेंट को हटा दिया गया है. (I750d2)
  • एपीआई को अपडेट किया गया है. इसमें CameraInfo के getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio(), और getLinearZoom() तरीकों को getZoomState() में मर्ज किया गया है. इससे ZoomState इंस्टेंस मिलता है. (Ib19fe)

Camera-Extensions का वर्शन 1.0.0-alpha06

22 जनवरी, 2020

androidx.camera:camera-extensions:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.

अपडेट

  • Camera Core और Camera2 में हुए बदलावों के लिए, कई गड़बड़ियां ठीक की गईं और अपडेट किए गए.

Camera-View का वर्शन 1.0.0-alpha06

22 जनवरी, 2020

androidx.camera:camera-view:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.

अपडेट

  • Camera Core और Camera2 में हुए बदलावों के लिए, कई गड़बड़ियां ठीक की गई हैं और अपडेट किए गए हैं.

Camera-Extensions का वर्शन 1.0.0-alpha05

18 दिसंबर, 2019

androidx.camera:camera-extensions:1.0.0-alpha05 रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • इसे Camera Core के इंटरनल एपीआई के साथ काम करने के लिए अपडेट किया गया है.

Camera-View का वर्शन 1.0.0-alpha05

18 दिसंबर, 2019

androidx.camera:camera-view:1.0.0-alpha05 रिलीज़ हो गया है. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.

पहले से मालूम समस्याएं

  • PreviewView (b/146215202) का इस्तेमाल करने पर, हो सकता है कि आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) गलत हो.

नई सुविधाएं

  • PreviewView.TextureViewImplementation नाम की एक नई क्लास लागू की गई है. यह क्लास, SurfaceTexture की लाइफ़साइकल को TextureView के सरफ़ेस के कैमरे के इस्तेमाल के साथ सिंक करती है.

Camera-Extensions का वर्शन 1.0.0-alpha04

4 दिसंबर, 2019

androidx.camera:camera-extensions:1.0.0-alpha04 रिलीज़ हो गया है. camera-extensions के वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं

एपीआई में हुए बदलाव

  • किसी एक्सटेंशन की उपलब्धता की जांच करने और उसे चालू करने के लिए, अब इनपुट पैरामीटर के तौर पर CameraSelector का इस्तेमाल किया जाता है. यह वही CameraSelector होना चाहिए जिसका इस्तेमाल, इस्तेमाल के उदाहरण को बाइंड करने के लिए किया जाता है.

    val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
    val builder = ImageCapture.Builder()
    val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder)
    if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) {
        bokehImageCaptureExtender.enableExtension(cameraSelector)
    }
    val imageCapture = builder.build()
    mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)
    
  • एक्सटेंशन लाइब्रेरी का इस्तेमाल करने से पहले, आपको एक्सटेंशन शुरू करने होंगे.

    val availability = ExtensionsManager.init()
    Futures.addCallback<ExtensionsManager.ExtensionsAvailability>(
       availability,
       object : FutureCallback<ExtensionsManager.ExtensionsAvailability> {
           override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) {
               // Ready to make extensions calls
           }
           override fun onFailure(throwable: Throwable) {
               // Extensions could not be initialized
           }
       },
       Executors.newSingleThreadExecutor()
    )
    

Camera-View का वर्शन 1.0.0-alpha04

4 दिसंबर, 2019

androidx.camera:camera-view:1.0.0-alpha04 रिलीज़ हो गया है. camera-view के वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं

एपीआई में हुए बदलाव

  • किसी ऐप्लिकेशन में झलक दिखाने के लिए, PreviewView क्लास उपलब्ध कराई जाती है. इससे झलक दिखाने की प्रोसेस आसान हो जाती है.
  • लेआउट में PreviewView को शामिल किया जा सकता है:

    <androidx.camera.view.PreviewView
      android:id="@+id/preview_view"
      … />
    
  • PreviewView, PreviewSurfaceProvider उपलब्ध कराता है, ताकि झलक दिखाने वाले इस्तेमाल के उदाहरण को आसानी से कनेक्ट किया जा सके

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • एपीआई के नाम में, अब “ZoomLevel” को “ZoomRatio” कर दिया गया है

  • कुछ मेथड पैरामीटर की शून्यता बदल गई है

Camera-Extensions और Camera-View का वर्शन 1.0.0-alpha03

9 अक्टूबर, 2019

androidx.camera:camera-extensions:1.0.0-alpha03 और androidx.camera:camera-view:1.0.0-alpha03 रिलीज़ हो गए हैं. camera-extensions:1.0.0-alpha03 में ये बदलाव शामिल हैं और camera-view:1.0.0-alpha03 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • एक्सटेंशन के लिए, कॉन्टेक्स्ट इनिशलाइज़र जोड़ा गया. एक्सटेंशन का वर्शन 1.1.0 पर अपडेट किया गया

Camera-Extensions और Camera-View का वर्शन 1.0.0-alpha02

5 सितंबर, 2019

androidx.camera:camera-extensions:1.0.0-alpha02 और androidx.camera:camera-view:1.0.0-alpha02 रिलीज़ हो गए हैं. ये camera-extensions:1.0.0-alpha02 में शामिल कमिट हैं और ये camera-view:1.0.0-alpha02 में शामिल कमिट हैं.

  • यह पुष्टि करने के लिए टेस्ट जोड़े गए कि PreviewImageProcessorImpl ने टाइमस्टैंप को सही तरीके से लागू किया है.
  • Nexus 5 (एपीआई लेवल 21) पर ExtensionTest टेस्ट फ़ेलियर को ठीक करें और पक्का करें कि झलक उपलब्ध हो.

Camera-Extensions और Camera-View का वर्शन 1.0.0-alpha01

7 अगस्त, 2019

androidx.camera:camera-extensions:1.0.0-alpha01 और androidx.camera:camera-view:1.0.0-alpha01 रिलीज़ हो गए हैं. ये camera-extensions:1.0.0-alpha01 में शामिल कमिट हैं और ये camera-view:1.0.0-alpha01 में शामिल कमिट हैं

  • आने वाले समय में, Camera Extensions के लिए नई लाइब्रेरी उपलब्ध कराई जाएगी. इससे, इसके साथ काम करने वाले डिवाइसों पर इफ़ेक्ट ऐक्सेस किए जा सकेंगे. इस लाइब्रेरी पर काम जारी है.
  • नई Camera View क्लास. इस लाइब्रेरी पर काम जारी है.