Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
ZLMediaKit
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
张翔宇
ZLMediaKit
Commits
e03d1505
Commit
e03d1505
authored
3 years ago
by
wxf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整结构, 清理关系, 取消继承 MP4FileDisk, 改为成员
Fix #1018
parent
f833bfb0
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
20 行增加
和
7 行删除
+20
-7
src/Record/MP4Demuxer.cpp
+12
-5
src/Record/MP4Demuxer.h
+8
-2
没有找到文件。
src/Record/MP4Demuxer.cpp
查看文件 @
e03d1505
...
@@ -22,17 +22,24 @@ namespace mediakit {
...
@@ -22,17 +22,24 @@ namespace mediakit {
MP4Demuxer
::
MP4Demuxer
()
{}
MP4Demuxer
::
MP4Demuxer
()
{}
MP4Demuxer
::~
MP4Demuxer
()
{
MP4Demuxer
::~
MP4Demuxer
()
{
_mov_reader
=
nullptr
;
closeMP4
();
closeFile
();
}
}
void
MP4Demuxer
::
openMP4
(
const
string
&
file
){
void
MP4Demuxer
::
openMP4
(
const
string
&
file
)
{
openFile
(
file
.
data
(),
"rb+"
);
closeMP4
();
_mov_reader
=
createReader
();
_mp4_file
=
std
::
make_shared
<
MP4FileDisk
>
();
_mp4_file
->
openFile
(
file
.
data
(),
"rb+"
);
_mov_reader
=
_mp4_file
->
createReader
();
getAllTracks
();
getAllTracks
();
_duration_ms
=
mov_reader_getduration
(
_mov_reader
.
get
());
_duration_ms
=
mov_reader_getduration
(
_mov_reader
.
get
());
}
}
void
MP4Demuxer
::
closeMP4
()
{
_mov_reader
.
reset
();
_mp4_file
.
reset
();
}
int
MP4Demuxer
::
getAllTracks
()
{
int
MP4Demuxer
::
getAllTracks
()
{
static
mov_reader_trackinfo_t
s_on_track
=
{
static
mov_reader_trackinfo_t
s_on_track
=
{
[](
void
*
param
,
uint32_t
track
,
uint8_t
object
,
int
width
,
int
height
,
const
void
*
extra
,
size_t
bytes
)
{
[](
void
*
param
,
uint32_t
track
,
uint8_t
object
,
int
width
,
int
height
,
const
void
*
extra
,
size_t
bytes
)
{
...
...
This diff is collapsed.
Click to expand it.
src/Record/MP4Demuxer.h
查看文件 @
e03d1505
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
#include "Util/ResourcePool.h"
#include "Util/ResourcePool.h"
namespace
mediakit
{
namespace
mediakit
{
class
MP4Demuxer
:
public
MP4FileDisk
,
public
TrackSource
{
class
MP4Demuxer
:
public
TrackSource
{
public
:
public
:
typedef
std
::
shared_ptr
<
MP4Demuxer
>
Ptr
;
typedef
std
::
shared_ptr
<
MP4Demuxer
>
Ptr
;
...
@@ -33,6 +33,11 @@ public:
...
@@ -33,6 +33,11 @@ public:
void
openMP4
(
const
string
&
file
);
void
openMP4
(
const
string
&
file
);
/**
/**
* @brief 关闭 mp4 文件
*/
void
closeMP4
();
/**
* 移动时间轴至某处
* 移动时间轴至某处
* @param stamp_ms 预期的时间轴位置,单位毫秒
* @param stamp_ms 预期的时间轴位置,单位毫秒
* @return 时间轴位置
* @return 时间轴位置
...
@@ -67,7 +72,8 @@ private:
...
@@ -67,7 +72,8 @@ private:
Frame
::
Ptr
makeFrame
(
uint32_t
track_id
,
const
Buffer
::
Ptr
&
buf
,
int64_t
pts
,
int64_t
dts
);
Frame
::
Ptr
makeFrame
(
uint32_t
track_id
,
const
Buffer
::
Ptr
&
buf
,
int64_t
pts
,
int64_t
dts
);
private
:
private
:
Reader
_mov_reader
;
MP4FileDisk
::
Ptr
_mp4_file
;
MP4FileDisk
::
Reader
_mov_reader
;
uint64_t
_duration_ms
=
0
;
uint64_t
_duration_ms
=
0
;
map
<
int
,
Track
::
Ptr
>
_track_to_codec
;
map
<
int
,
Track
::
Ptr
>
_track_to_codec
;
ResourcePool
<
BufferRaw
>
_buffer_pool
;
ResourcePool
<
BufferRaw
>
_buffer_pool
;
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论