Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Applications Sample Camera
提交
e6982d09
A
Applications Sample Camera
项目概览
OpenHarmony
/
Applications Sample Camera
9 个月 前同步成功
通知
5
Star
25
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
Applications Sample Camera
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
e6982d09
编写于
9月 03, 2021
作者:
O
openharmony_ci
提交者:
Gitee
9月 03, 2021
浏览文件
操作
浏览文件
下载
差异文件
!52 Signed-off-by: mamingshuai <mamingshuai1@huawei.com>
Merge pull request !52 from 杨帅/master
上级
9893cd28
92d987c0
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
45 addition
and
46 deletion
+45
-46
cameraApp/cameraApp/src/main/cpp/camera_manager.cpp
cameraApp/cameraApp/src/main/cpp/camera_manager.cpp
+32
-39
media/camera_sample.cpp
media/camera_sample.cpp
+13
-7
未找到文件。
cameraApp/cameraApp/src/main/cpp/camera_manager.cpp
浏览文件 @
e6982d09
...
...
@@ -409,10 +409,12 @@ SampleCameraStateMng::~SampleCameraStateMng()
}
if
(
gRecFd_
>=
0
)
{
FILE
*
fp
=
fdopen
(
gRecFd_
,
"w+"
);
fflush
(
fp
);
fsync
(
gRecFd_
);
fclose
(
fp
);
close
(
gRecFd_
);
if
(
fp
)
{
fflush
(
fp
);
fsync
(
gRecFd_
);
fclose
(
fp
);
close
(
gRecFd_
);
}
}
if
(
fc_
)
{
delete
fc_
;
...
...
@@ -447,10 +449,12 @@ void SampleCameraStateMng::StartRecord(Surface *mSurface)
}
if
(
gRecFd_
>
0
)
{
FILE
*
fp
=
fdopen
(
gRecFd_
,
"w+"
);
fflush
(
fp
);
fsync
(
gRecFd_
);
fclose
(
fp
);
close
(
gRecFd_
);
if
(
fp
)
{
fflush
(
fp
);
fsync
(
gRecFd_
);
fclose
(
fp
);
close
(
gRecFd_
);
}
gRecFd_
=
-
1
;
}
...
...
@@ -466,10 +470,7 @@ void SampleCameraStateMng::StartRecord(Surface *mSurface)
recorder_
->
Resume
();
}
else
{
ret
=
recorder_
->
SetOutputFile
(
gRecFd_
);
if
(
ret
!=
SUCCESS
)
{
return
;
}
if
(
recorder_
->
Prepare
()
!=
SUCCESS
||
recorder_
->
Start
()
!=
SUCCESS
)
{
if
(
ret
!=
SUCCESS
||
recorder_
->
Prepare
()
!=
SUCCESS
||
recorder_
->
Start
()
!=
SUCCESS
)
{
return
;
}
}
...
...
@@ -485,8 +486,7 @@ void SampleCameraStateMng::StartRecord(Surface *mSurface)
FrameConfig
*
fc
=
new
FrameConfig
(
FRAME_CONFIG_RECORD
);
fc
->
AddSurface
(
*
surface
);
ret
=
cam_
->
TriggerLoopingCapture
(
*
fc
);
if
(
ret
!=
0
)
{
if
(
cam_
->
TriggerLoopingCapture
(
*
fc
)
!=
0
)
{
delete
fc
;
return
;
}
...
...
@@ -553,15 +553,9 @@ bool SampleCameraStateMng::IsCaptureOver(void)
return
fsCb_
.
IsFinish
();
}
void
SampleCameraStateMng
::
SetPause
()
{
void
SampleCameraStateMng
::
SetPause
()
{
}
}
void
SampleCameraStateMng
::
SetResume
(
Surface
*
mSurface
)
{
}
void
SampleCameraStateMng
::
SetResume
(
Surface
*
mSurface
)
{
}
void
SampleCameraStateMng
::
SetStop
(
int
s
)
{
...
...
@@ -657,72 +651,71 @@ bool SampleCameraManager::SampleCameraExist(void)
int
SampleCameraManager
::
SampleCameraStart
(
Surface
*
surface
)
{
if
(
CamStateMng
==
NULL
)
if
(
CamStateMng
==
NULL
)
{
return
-
1
;
}
CamStateMng
->
StartPreview
(
surface
);
return
0
;
}
int
SampleCameraManager
::
SampleCameraStop
(
void
)
{
if
(
CamStateMng
==
nullptr
)
if
(
CamStateMng
==
nullptr
)
{
return
-
1
;
}
CamStateMng
->
SetStop
(
1
);
return
0
;
}
int
SampleCameraManager
::
SampleCameraCaptrue
(
int
type
)
{
if
(
CamStateMng
==
NULL
)
if
(
CamStateMng
==
NULL
)
{
return
-
1
;
}
CamStateMng
->
Capture
(
type
);
return
0
;
}
int
SampleCameraManager
::
SampleCameraStartRecord
(
Surface
*
surface
)
{
if
(
CamStateMng
==
NULL
)
if
(
CamStateMng
==
NULL
)
{
return
-
1
;
}
CamStateMng
->
StartRecord
(
surface
);
return
0
;
}
int
SampleCameraManager
::
SampleCameraPauseRecord
(
void
)
{
if
(
CamStateMng
==
NULL
)
if
(
CamStateMng
==
NULL
)
{
return
-
1
;
}
CamStateMng
->
SetPause
();
return
0
;
}
int
SampleCameraManager
::
SampleCameraResumeRecord
(
Surface
*
mSurface
)
{
if
(
CamStateMng
==
NULL
)
if
(
CamStateMng
==
NULL
)
{
return
-
1
;
}
CamStateMng
->
SetResume
(
mSurface
);
return
0
;
}
int
SampleCameraManager
::
SampleCameraStopRecord
(
void
)
{
if
(
CamStateMng
==
NULL
)
if
(
CamStateMng
==
NULL
)
{
return
-
1
;
}
CamStateMng
->
SetStop
(
0
);
return
0
;
}
bool
SampleCameraManager
::
SampleCameraGetRecord
(
void
)
{
if
(
CamStateMng
==
NULL
)
if
(
CamStateMng
==
NULL
)
{
return
false
;
}
return
CamStateMng
->
RecordState
();
}
...
...
media/camera_sample.cpp
浏览文件 @
e6982d09
...
...
@@ -194,10 +194,12 @@ public:
}
if
(
recordFd_
!=
-
1
)
{
FILE
*
fp
=
fdopen
(
recordFd_
,
"w+"
);
fflush
(
fp
);
fsync
(
recordFd_
);
fclose
(
fp
);
close
(
recordFd_
);
if
(
fp
)
{
fflush
(
fp
);
fsync
(
recordFd_
);
fclose
(
fp
);
close
(
recordFd_
);
}
recordFd_
=
-
1
;
}
}
...
...
@@ -257,9 +259,13 @@ public:
}
FrameConfig
*
fc
=
new
FrameConfig
(
FRAME_CONFIG_RECORD
);
auto
surface
=
recorder_
->
GetSurface
(
0
);
surface
->
SetWidthAndHeight
(
1920
,
1080
);
surface
->
SetQueueSize
(
3
);
surface
->
SetSize
(
1024
*
1024
);
int
width
=
1920
;
int
height
=
1080
;
surface
->
SetWidthAndHeight
(
width
,
height
);
int
queueSize
=
3
;
surface
->
SetQueueSize
(
queueSize
);
int
size
=
1024
;
surface
->
SetSize
(
size
*
size
);
fc
->
AddSurface
(
*
surface
);
ret
=
cam_
->
TriggerLoopingCapture
(
*
fc
);
if
(
ret
!=
0
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录