Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Opencv
提交
aa576342
O
Opencv
项目概览
Greenplum
/
Opencv
大约 1 年 前同步成功
通知
7
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
Opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
aa576342
编写于
9月 23, 2014
作者:
A
Alexander Smorkalov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fixed compatibility with GStreamer 1.x.
上级
a419b643
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
13 deletion
+11
-13
modules/videoio/src/cap_gstreamer.cpp
modules/videoio/src/cap_gstreamer.cpp
+11
-13
未找到文件。
modules/videoio/src/cap_gstreamer.cpp
浏览文件 @
aa576342
...
...
@@ -1220,12 +1220,12 @@ bool CvVideoWriter_GStreamer::open( const char * filename, int fourcc,
GstEncodingVideoProfile
*
videoprofile
=
NULL
;
#endif
bool
done
=
false
;
GstElement
*
item
=
NULL
;
GstIterator
*
it
=
NULL
;
char
*
name
=
NULL
;
GstElement
*
splitter
;
GstElement
*
combiner
;
gboolean
done
=
FALSE
;
GstElement
*
element
=
NULL
;
gchar
*
name
=
NULL
;
GstElement
*
splitter
=
NULL
;
GstElement
*
combiner
=
NULL
;
// we first try to construct a pipeline from the given string.
// if that fails, we assume it is an ordinary filename
...
...
@@ -1245,10 +1245,6 @@ bool CvVideoWriter_GStreamer::open( const char * filename, int fourcc,
}
#else
it
=
gst_bin_iterate_sources
(
GST_BIN
(
encodebin
));
gboolean
done
=
FALSE
;
GstElement
*
element
=
NULL
;
gchar
*
name
=
NULL
;
GValue
value
=
G_VALUE_INIT
;
while
(
!
done
)
{
...
...
@@ -1399,19 +1395,20 @@ bool CvVideoWriter_GStreamer::open( const char * filename, int fourcc,
}
}
#if GST_VERSION_MAJOR == 0
// HACK: remove streamsplitter and streamcombiner from
// encodebin pipeline to prevent early EOF event handling
// We always fetch BGR or gray-scale frames, so combiner->spliter
// endge in graph is useless.
it
=
gst_bin_iterate_recurse
(
GST_BIN
(
encodebin
));
while
(
!
done
)
{
switch
(
gst_iterator_next
(
it
,
(
void
**
)
&
item
))
{
switch
(
gst_iterator_next
(
it
,
(
void
**
)
&
element
))
{
case
GST_ITERATOR_OK
:
name
=
gst_element_get_name
(
item
);
name
=
gst_element_get_name
(
element
);
if
(
strstr
(
name
,
"streamsplitter"
))
splitter
=
item
;
splitter
=
element
;
else
if
(
strstr
(
name
,
"streamcombiner"
))
combiner
=
item
;
combiner
=
element
;
break
;
case
GST_ITERATOR_RESYNC
:
gst_iterator_resync
(
it
);
...
...
@@ -1453,6 +1450,7 @@ bool CvVideoWriter_GStreamer::open( const char * filename, int fourcc,
gst_pad_link
(
sinkPeer
,
srcPeer
);
}
#endif
stateret
=
gst_element_set_state
(
GST_ELEMENT
(
pipeline
),
GST_STATE_PLAYING
);
if
(
stateret
==
GST_STATE_CHANGE_FAILURE
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录