[prev in list] [next in list] [prev in thread] [next in thread]
List: gstreamer-cvs
Subject: gst-plugins-good: avidemux: Always set PTS=DTS on raw video streams
From: tsaunier () kemper ! freedesktop ! org (Thibault Saunier)
Date: 2014-03-31 17:01:30
Message-ID: 20140331170130.6F9F076244 () kemper ! freedesktop ! org
[Download RAW message or body]
Module: gst-plugins-good
Branch: master
Commit: b95d9cfb21e1a040505023b987a33fea138470e4
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=b95d9cfb21e1a040505023b987a33fea138470e4
Author: Thibault Saunier <tsaunier@gnome.org>
Date: Mon Mar 31 18:34:13 2014 +0200
avidemux: Always set PTS=DTS on raw video streams
---
gst/avi/gstavidemux.c | 10 ++++++----
gst/avi/gstavidemux.h | 1 +
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index f8f05cd..0dc2517 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -1934,8 +1934,8 @@ gst_avi_demux_roundup_list (GstAviDemux * avi, GstBuffer ** \
buf) }
static GstCaps *
-gst_avi_demux_check_caps (GstAviDemux * avi, GstCaps * caps,
- GstBuffer ** rgb8_palette)
+gst_avi_demux_check_caps (GstAviDemux * avi, GstAviStream * stream,
+ GstCaps * caps)
{
GstStructure *s;
const GValue *val;
@@ -2317,7 +2317,7 @@ gst_avi_demux_parse_stream (GstAviDemux * avi, GstBuffer * buf)
g_free (vprp);
vprp = NULL;
}
- caps = gst_avi_demux_check_caps (avi, caps, &stream->rgb8_palette);
+ caps = gst_avi_demux_check_caps (avi, stream, caps);
tag_name = GST_TAG_VIDEO_CODEC;
avi->num_v_streams++;
} else {
@@ -5239,14 +5239,16 @@ gst_avi_demux_loop_data (GstAviDemux * avi)
buf = gst_avi_demux_invert (stream, buf);
/* mark non-keyframes */
- if (keyframe) {
+ if (keyframe || stream->is_raw) {
GST_BUFFER_FLAG_UNSET (buf, GST_BUFFER_FLAG_DELTA_UNIT);
GST_BUFFER_PTS (buf) = timestamp;
} else {
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT);
GST_BUFFER_PTS (buf) = GST_CLOCK_TIME_NONE;
}
+
GST_BUFFER_DTS (buf) = timestamp;
+
GST_BUFFER_DURATION (buf) = duration;
GST_BUFFER_OFFSET (buf) = out_offset;
GST_BUFFER_OFFSET_END (buf) = out_offset_end;
diff --git a/gst/avi/gstavidemux.h b/gst/avi/gstavidemux.h
index 3ca5bc6..0e8786f 100644
--- a/gst/avi/gstavidemux.h
+++ b/gst/avi/gstavidemux.h
@@ -119,6 +119,7 @@ typedef struct {
GstTagList *taglist;
gint index_id;
+ gboolean is_raw;
} GstAviStream;
typedef enum {
_______________________________________________
gstreamer-commits mailing list
gstreamer-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic