summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2012-01-09 15:46:10 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2012-01-09 15:46:10 +0100
commit58787102e9ee0e28fae79999ccecd949ecc0cad5 (patch)
tree51489c1a14026e99732409b0e709008a657391bb
parent9c646f59ac10e816fc9f0ea856ba4c2782b8e546 (diff)
asfdemux: Only change writable caps and make sure to set updated caps on the srcpad
-rw-r--r--gst/asfdemux/gstasfdemux.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gst/asfdemux/gstasfdemux.c b/gst/asfdemux/gstasfdemux.c
index f70522af..ac444e10 100644
--- a/gst/asfdemux/gstasfdemux.c
+++ b/gst/asfdemux/gstasfdemux.c
@@ -1449,6 +1449,7 @@ gst_asf_demux_push_complete_payloads (GstASFDemux * demux, gboolean force)
stream->par_x, stream->par_y, payload->par_x, payload->par_y);
stream->par_x = payload->par_x;
stream->par_y = payload->par_y;
+ stream->caps = gst_caps_make_writable (stream->caps);
gst_caps_set_simple (stream->caps, "pixel-aspect-ratio",
GST_TYPE_FRACTION, stream->par_x, stream->par_y, NULL);
gst_pad_set_caps (stream->pad, stream->caps);
@@ -1458,8 +1459,10 @@ gst_asf_demux_push_complete_payloads (GstASFDemux * demux, gboolean force)
GST_DEBUG ("Updating interlaced status (%d => %d)", stream->interlaced,
payload->interlaced);
stream->interlaced = payload->interlaced;
+ stream->caps = gst_caps_make_writable (stream->caps);
gst_caps_set_simple (stream->caps, "interlaced", G_TYPE_BOOLEAN,
stream->interlaced, NULL);
+ gst_pad_set_caps (stream->pad, stream->caps);
}
/* (sort of) interpolate timestamps using upstream "frame of reference",