summaryrefslogtreecommitdiffstats
path: root/media/libavextensions/stagefright/AVExtensions.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/libavextensions/stagefright/AVExtensions.h')
-rw-r--r--media/libavextensions/stagefright/AVExtensions.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/media/libavextensions/stagefright/AVExtensions.h b/media/libavextensions/stagefright/AVExtensions.h
index 832fc28..9c712e4 100644
--- a/media/libavextensions/stagefright/AVExtensions.h
+++ b/media/libavextensions/stagefright/AVExtensions.h
@@ -34,6 +34,7 @@
#include <system/audio.h>
#include <camera/ICamera.h>
#include <media/mediarecorder.h>
+#include <media/IOMX.h>
namespace android {
@@ -53,6 +54,7 @@ class CameraParameters;
class MediaBuffer;
struct AudioSource;
class CameraSource;
+class CameraSourceTimeLapse;
class ICamera;
class ICameraRecordingProxy;
class String16;
@@ -84,7 +86,7 @@ struct AVFactory {
uint32_t channels,
uint32_t outSampleRate = 0);
- virtual CameraSource *CreateFromCamera(
+ virtual CameraSource *CreateCameraSourceFromCamera(
const sp<ICamera> &camera,
const sp<ICameraRecordingProxy> &proxy,
int32_t cameraId,
@@ -94,6 +96,18 @@ struct AVFactory {
int32_t frameRate,
const sp<IGraphicBufferProducer>& surface,
bool storeMetaDataInVideoBuffers = true);
+
+ virtual CameraSourceTimeLapse *CreateCameraSourceTimeLapseFromCamera(
+ const sp<ICamera> &camera,
+ const sp<ICameraRecordingProxy> &proxy,
+ int32_t cameraId,
+ const String16& clientName,
+ uid_t clientUid,
+ Size videoSize,
+ int32_t videoFrameRate,
+ const sp<IGraphicBufferProducer>& surface,
+ int64_t timeBetweenFrameCaptureUs,
+ bool storeMetaDataInVideoBuffers = true);
// ----- NO TRESSPASSING BEYOND THIS LINE ------
DECLARE_LOADABLE_SINGLETON(AVFactory);
};
@@ -183,6 +197,10 @@ struct AVUtils {
virtual void cacheCaptureBuffers(sp<ICamera> camera, video_encoder encoder);
virtual const char *getCustomCodecsLocation();
+ virtual void setIntraPeriod(
+ int nPFrames, int nBFrames, const sp<IOMX> OMXhandle,
+ IOMX::node_id nodeID);
+
private:
HEVCMuxer mHEVCMuxer;
// ----- NO TRESSPASSING BEYOND THIS LINE ------