camera: Fix double ownership of AidlCameraDeviceCallbacks

Using std::make_shared with ndk::SharedRefBase objects causes memory
errors.

ndk::SharedRefBase::make uses std::static_pointer_cast internally, which
doesn't work when virtual inheritance is used. Virtual inheritance seems
unnecessary here, so I've removed it.

Bug: 226379467
Test: TH
Change-Id: I0df82ca30e3ebea4b48854f5a58796c22d169da5
diff --git a/services/camera/libcameraservice/device3/aidl/AidlCamera3OfflineSession.h b/services/camera/libcameraservice/device3/aidl/AidlCamera3OfflineSession.h
index ad4a480..33de2c5 100644
--- a/services/camera/libcameraservice/device3/aidl/AidlCamera3OfflineSession.h
+++ b/services/camera/libcameraservice/device3/aidl/AidlCamera3OfflineSession.h
@@ -75,7 +75,7 @@
     // See explanation for why we need a separate class for this in
     // AidlCamera3Device::AidlCameraDeviceCallbacks in AidlCamera3Device.h
     class AidlCameraDeviceCallbacks :
-            virtual public aidl::android::hardware::camera::device::BnCameraDeviceCallback {
+            public aidl::android::hardware::camera::device::BnCameraDeviceCallback {
       public:
 
         AidlCameraDeviceCallbacks(wp<AidlCamera3OfflineSession> parent) : mParent(parent)  { }
@@ -112,7 +112,9 @@
                     offlineSession) :
       Camera3OfflineSession(id, inputStream, offlineStreamSet, std::move(bufferRecords),
               offlineReqs, offlineStates),
-      mSession(offlineSession) { mCallbacks = std::make_shared<AidlCameraDeviceCallbacks>(this);};
+      mSession(offlineSession) {
+        mCallbacks = ndk::SharedRefBase::make<AidlCameraDeviceCallbacks>(this);
+      };
 
     /**
      * End of CameraOfflineSessionBase interface