Merge branch 'master' into 0.11
authorWim Taymans <wim.taymans@collabora.co.uk>
Wed, 3 Aug 2011 16:58:09 +0000 (18:58 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Wed, 3 Aug 2011 16:58:09 +0000 (18:58 +0200)
Conflicts:
common
gst/asfdemux/gstrtpasfdepay.c

1  2 
gst/asfdemux/gstrtpasfdepay.c

@@@ -320,10 -321,6 +320,7 @@@ gst_rtp_asf_depay_process (GstBaseRTPDe
    guint payload_len, hdr_len, offset;
    guint len_offs;
    GstClockTime timestamp;
-   gpointer bufdata;
-   guint8 *data;
-   gsize bufsize;
 +  GstRTPBuffer rtpbuf;
  
    depay = GST_RTP_ASF_DEPAY (depayload);
  
  
    do {
      guint packet_len;
++    gsize plen;
  
      /* packet header is at least 4 bytes */
      if (payload_len < 4)
        return NULL;
  
      /* we need to pad with zeroes to packet_size if it's smaller */
-     bufdata = gst_buffer_map (outbuf, &bufsize, NULL, GST_MAP_READ);
-     g_assert (packet_len == bufsize);
-     packet_len = bufsize;
-     if (packet_len < depay->packet_size) {
 -    if (GST_BUFFER_SIZE (outbuf) < depay->packet_size) {
++    plen = gst_buffer_get_size (outbuf);
++    if (plen < depay->packet_size) {
        GstBuffer *tmp;
 -      gint plen = GST_BUFFER_SIZE (outbuf);
  
        GST_LOG_OBJECT (depay, "padding buffer size %d to packet size %d",
-           packet_len, depay->packet_size);
+           plen, depay->packet_size);
++
        tmp = gst_buffer_new_and_alloc (depay->packet_size);
-       gst_buffer_copy_into (tmp, outbuf, GST_BUFFER_COPY_ALL, 0, packet_len);
-       gst_buffer_unmap (outbuf, bufdata, bufsize);
 -      memcpy (GST_BUFFER_DATA (tmp), GST_BUFFER_DATA (outbuf), plen);
 -      gst_buffer_copy_metadata (tmp, outbuf, GST_BUFFER_COPY_ALL);
++      gst_buffer_copy_into (tmp, outbuf, GST_BUFFER_COPY_ALL, 0, plen);
        gst_buffer_unref (outbuf);
        outbuf = tmp;
 -      memset (GST_BUFFER_DATA (outbuf) + plen, 0, depay->packet_size - plen);
 +
-       bufdata = gst_buffer_map (outbuf, &bufsize, NULL, GST_MAP_WRITE);
-       data = (guint8 *) bufdata;
-       memset (data + packet_len, 0, depay->packet_size - packet_len);
-       gst_rtp_asf_depay_set_padding (depay, outbuf,
-           depay->packet_size - packet_len);
++      gst_buffer_memset (outbuf, plen, 0, depay->packet_size - plen);
+       gst_rtp_asf_depay_set_padding (depay, outbuf, depay->packet_size - plen);
      }
  
 -    gst_buffer_set_caps (outbuf, GST_PAD_CAPS (depayload->srcpad));
 -
      if (!S)
        GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DELTA_UNIT);