<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[113886] trunk/dports/gnome</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/113886">113886</a></dd>
<dt>Author</dt> <dd>devans@macports.org</dd>
<dt>Date</dt> <dd>2013-11-24 21:20:21 -0800 (Sun, 24 Nov 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>gstreamer1*: update to version 1.2.1 plus some upstream applemedia fixes, dependencies, configuration (#40710, #40732).</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportsgnomegstreamer1Portfile">trunk/dports/gnome/gstreamer1/Portfile</a></li>
<li><a href="#trunkdportsgnomegstreamer1gstlibavPortfile">trunk/dports/gnome/gstreamer1-gst-libav/Portfile</a></li>
<li><a href="#trunkdportsgnomegstreamer1gstpluginsbadPortfile">trunk/dports/gnome/gstreamer1-gst-plugins-bad/Portfile</a></li>
<li><a href="#trunkdportsgnomegstreamer1gstpluginsbasePortfile">trunk/dports/gnome/gstreamer1-gst-plugins-base/Portfile</a></li>
<li><a href="#trunkdportsgnomegstreamer1gstpluginsgoodPortfile">trunk/dports/gnome/gstreamer1-gst-plugins-good/Portfile</a></li>
<li><a href="#trunkdportsgnomegstreamer1gstpluginsuglyPortfile">trunk/dports/gnome/gstreamer1-gst-plugins-ugly/Portfile</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkdportsgnomegstreamer1gstpluginsbadfilespatchapplemediavtencdiff">trunk/dports/gnome/gstreamer1-gst-plugins-bad/files/patch-applemedia-vtenc.diff</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li>trunk/dports/gnome/gstreamer1/files/</li>
<li>trunk/dports/gnome/gstreamer1-gst-libav/files/</li>
<li>trunk/dports/gnome/gstreamer1-gst-plugins-ugly/files/</li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsgnomegstreamer1Portfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/gnome/gstreamer1/Portfile (113885 => 113886)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/gnome/gstreamer1/Portfile        2013-11-25 04:54:50 UTC (rev 113885)
+++ trunk/dports/gnome/gstreamer1/Portfile        2013-11-25 05:20:21 UTC (rev 113886)
</span><span class="lines">@@ -8,7 +8,8 @@
</span><span class="cx"> 
</span><span class="cx"> name                gstreamer1
</span><span class="cx"> set my_name         gstreamer
</span><del>-version             1.0.9
</del><ins>+version             1.2.1
+set branch          [join [lrange [split ${version} .] 0 1] .]
</ins><span class="cx"> description \
</span><span class="cx">     GStreamer is a library for constructing graphs of media-handling components.
</span><span class="cx"> long_description \
</span><span class="lines">@@ -21,12 +22,11 @@
</span><span class="cx"> homepage        http://${my_name}.freedesktop.org/
</span><span class="cx"> distname    ${my_name}-${version}
</span><span class="cx"> 
</span><del>-master_sites \
-    gnome:sources/${my_name}/[join [lrange [split ${version} .] 0 1] .]/ \
-    http://${my_name}.freedesktop.org/src/${my_name}/
</del><ins>+master_sites        gnome:sources/${my_name}/${branch}/ \
+                    http://gstreamer.freedesktop.org/src/${my_name}/
</ins><span class="cx"> 
</span><del>-checksums           rmd160  1ff0531589dab9481f662dbfa1d754e417f90909 \
-                    sha256  17a2c60a82baa461ef685ad3de187edb9c03a2c7e07513daba58a5a32efacaa3
</del><ins>+checksums           rmd160  f8c2b05348cabbc895fac4a3f93fc91bee95fc71 \
+                    sha256  a4523d2471bca6cd0059a32e3b042f50faa4dadc6439852af8b43ca3f17d1fc9
</ins><span class="cx"> 
</span><span class="cx"> depends_build   \
</span><span class="cx">     port:gzip \
</span><span class="lines">@@ -43,12 +43,10 @@
</span><span class="cx"> 
</span><span class="cx"> use_xz           yes
</span><span class="cx"> 
</span><del>-patchfiles        patch-gst-gstdatetime.c.diff
-
</del><span class="cx"> configure.env-append    PERL_PATH=${prefix}/bin/perl
</span><span class="cx"> configure.cflags-append -funroll-loops -fstrict-aliasing -fno-common
</span><span class="cx"> 
</span><del>-if {[variant_isset universal]} { 
</del><ins>+if {[variant_isset universal]} {
</ins><span class="cx">     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
</span><span class="cx">     set merger_host(i386) i686-apple-${os.platform}${os.major}
</span><span class="cx">     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
</span><span class="lines">@@ -84,6 +82,5 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-livecheck.type      regex
-livecheck.url       http://${my_name}.freedesktop.org/src/${my_name}/
-livecheck.regex     &quot;${my_name}-(\\d+(?:\\.\\d+)*)${extract.suffix}&quot;
</del><ins>+livecheck.type      gnome
+livecheck.name      ${my_name}
</ins></span></pre></div>
<a id="trunkdportsgnomegstreamer1gstlibavPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/gnome/gstreamer1-gst-libav/Portfile (113885 => 113886)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/gnome/gstreamer1-gst-libav/Portfile        2013-11-25 04:54:50 UTC (rev 113885)
+++ trunk/dports/gnome/gstreamer1-gst-libav/Portfile        2013-11-25 05:20:21 UTC (rev 113886)
</span><span class="lines">@@ -10,7 +10,7 @@
</span><span class="cx"> 
</span><span class="cx"> name                gstreamer1-gst-libav
</span><span class="cx"> set my_name         gst-libav
</span><del>-version             1.0.9
</del><ins>+version             1.2.1
</ins><span class="cx"> description         This is gst-libav, a set of plug-ins for GStreamer.
</span><span class="cx"> long_description     ${description}
</span><span class="cx"> maintainers         rmstonecipher openmaintainer
</span><span class="lines">@@ -22,23 +22,14 @@
</span><span class="cx"> distname            ${my_name}-${version}
</span><span class="cx"> use_xz              yes
</span><span class="cx"> 
</span><del>-checksums           rmd160  0d1a52d8fa27efa82273e64d4a230f606b575b05 \
-                    sha256  759641c0597c24191322f40945b363b75df299a539ff4086650be6193028189a
</del><ins>+checksums           rmd160  239cb3392d9bdf97be2fb2e7b27d468c0f8f622e \
+                    sha256  fd152b7aec56ae76ad58b9759913a8bfe1792bdf64f260d0acaba75b75076676
</ins><span class="cx"> 
</span><del>-patchfiles          patch-gst-libs_ext_libav_configure.diff
-
-post-patch {
-    reinplace &quot;s|%%CONFIGURE.CC%%|${configure.cc}|g&quot; ${worksrcpath}/gst-libs/ext/libav/configure
-}
-
</del><span class="cx"> depends_build       port:pkgconfig \
</span><span class="cx">                     port:yasm
</span><span class="cx"> 
</span><span class="cx"> depends_lib         port:gstreamer1-gst-plugins-base
</span><span class="cx"> 
</span><del>-use_autoreconf      yes
-autoreconf.args     -fvi
-
</del><span class="cx"> # This will cause the installed ffmpeg headers to be used, remove it.
</span><span class="cx"> configure.cppflags-delete -I${prefix}/include
</span><span class="cx"> 
</span><span class="lines">@@ -51,7 +42,7 @@
</span><span class="cx">     compiler.blacklist-append gcc-4.2 apple-gcc-4.2 llvm-gcc-4.2 macports-llvm-gcc-4.2
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-if {[variant_isset universal]} { 
</del><ins>+if {[variant_isset universal]} {
</ins><span class="cx">     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
</span><span class="cx">     set merger_host(i386) i686-apple-${os.platform}${os.major}
</span><span class="cx">     set merger_host(ppc64) powerpc64-apple-${os.platform}${os.major}
</span></span></pre></div>
<a id="trunkdportsgnomegstreamer1gstpluginsbadPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/gnome/gstreamer1-gst-plugins-bad/Portfile (113885 => 113886)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/gnome/gstreamer1-gst-plugins-bad/Portfile        2013-11-25 04:54:50 UTC (rev 113885)
+++ trunk/dports/gnome/gstreamer1-gst-plugins-bad/Portfile        2013-11-25 05:20:21 UTC (rev 113886)
</span><span class="lines">@@ -8,8 +8,7 @@
</span><span class="cx"> 
</span><span class="cx"> name                gstreamer1-gst-plugins-bad
</span><span class="cx"> set my_name         gst-plugins-bad
</span><del>-version                    1.0.9
-revision        4
</del><ins>+version                    1.2.1
</ins><span class="cx"> description         A set of plug-ins for GStreamer that need more quality.
</span><span class="cx"> long_description    \
</span><span class="cx">     GStreamer Bad Plug-ins is a set of plug-ins that aren't up to par compared \
</span><span class="lines">@@ -25,76 +24,72 @@
</span><span class="cx"> distname            ${my_name}-${version}
</span><span class="cx"> use_xz              yes
</span><span class="cx"> 
</span><del>-checksums           rmd160  4705ef8229a561e556c097885b88afe265a5baf7 \
-                    sha256  69d236b1d8188270a3f51f6710146d0ca63c2f1a9f6cfbab3399ef01b9498f75
</del><ins>+checksums           rmd160  9cb631ab12c0c77279b8b4a9078619cdf96be662 \
+                    sha256  f33e7c81fcb742fe50b73ad87ef8a4baa7d6b59c5002a10bf63c8dee22404929
</ins><span class="cx"> 
</span><span class="cx"> depends_build port:pkgconfig
</span><span class="cx"> depends_lib port:gstreamer1-gst-plugins-base \
</span><del>-            port:XviD \
</del><span class="cx">             port:curl \
</span><del>-            port:dirac \
-            port:exempi \
</del><span class="cx">             port:faac \
</span><span class="cx">             port:faad2 \
</span><del>-            port:jasper \
-            port:libdc1394 \
</del><ins>+            port:fluidsynth \
+            port:gnutls \
+            port:libass \
</ins><span class="cx">             port:libdca \
</span><ins>+            port:libdvdread \
+            port:libdvdnav \
</ins><span class="cx">             port:libexif \
</span><del>-            port:libglade2 \
</del><span class="cx">             port:libmms \
</span><span class="cx">             port:libmodplug \
</span><span class="cx">             port:libmpcdec \
</span><del>-            port:libmusicbrainz2 \
-            port:libvpx \
</del><ins>+            port:libopus \
+            port:librsvg \
</ins><span class="cx">             port:mpg123 \
</span><ins>+            port:openjpeg15 \
+            port:schroedinger \
</ins><span class="cx">             port:soundtouch \
</span><ins>+            port:spandsp-devel \
</ins><span class="cx">             port:neon \
</span><del>-            port:schroedinger \
</del><ins>+            port:webp \
</ins><span class="cx">             port:gobject-introspection
</span><span class="cx"> 
</span><ins>+# applemedia-vtenc 
+# https://trac.macports.org/ticket/40732
+# https://trac.macports.org/ticket/41490
+# https://bugzilla.gnome.org/show_bug.cgi?id=706211
+# https://bugzilla.gnome.org/show_bug.cgi?id=709241
+
+patchfiles  modplug.patch \
+            patch-applemedia-vtenc.diff
+
</ins><span class="cx"> #
</span><span class="cx"> # could depend on tons for multimedia stuff +variants
</span><span class="cx"> # the following ports are available but don't configure
</span><span class="cx"> # and/or build correctly
</span><ins>+
</ins><span class="cx"> #
</span><span class="cx"> # port:mjpegtools (mpeg2enc mplex build fails) need to disable mpeg2enc mplex explicitly in case mjpegtools is installed
</span><del>-# path:lib/pkgconfig/sdl.pc:libsdl (builds but sdlvideosink is broken)
</del><ins>+# plugin frei0r (no dependency, seqfaults on load) 
+# port:opencv (configure fails) requires opencv &lt;= 2.4.6.1 but we are at 2.4.7
</ins><span class="cx"> # port:slv2 (builds but lv2 plugin fails to load and slv2 is not universal) disable lv2 explicitly in case slv2 is installed
</span><del>-# port:swfdec (configure wants pkg-config swfdec-0.3, we have swfdec-0.8)
-# plugin frei0r (no dependency, seqfaults on load)
</del><ins>+# port:Xvid (configure fails) plugin xvid not ported in this version
</ins><span class="cx"> #
</span><span class="cx"> # the following plugins build opportunisticly due to missing dependencies
</span><span class="cx"> # explicitly disabled for now
</span><span class="cx"> #
</span><del>-# assrender (port:libass)
-# fluidsynth (port:fluidsynth)
-# openjpeg (port:openjpeg)
-# opus (port:libopus)
-# resindvd (port:libdvdread port:libdvdnav)
-# spandsp (port:spandsp-devel)
-#
</del><ins>+#                            --disable-opencv \
</ins><span class="cx"> 
</span><span class="cx"> configure.args              --disable-silent-rules \
</span><del>-                            --disable-assrender \
-                            --disable-fluidsynth \
</del><ins>+                            --disable-dc1394 \
</ins><span class="cx">                             --disable-frei0r \
</span><span class="cx">                             --disable-quicktime \
</span><ins>+                            --disable-lv2 \
</ins><span class="cx">                             --disable-mpeg2enc \
</span><span class="cx">                             --disable-mplex \
</span><del>-                            --disable-openjpeg \
-                            --disable-opus \
-                            --disable-resindvd \
-                            --disable-spandsp \
-                            --disable-lv2 \
</del><span class="cx">                             --disable-sdltest \
</span><del>-                            --disable-opencv \
</del><span class="cx">                             --enable-experimental \
</span><span class="cx">                             --enable-static
</span><span class="cx"> 
</span><del>-# the 1.0 version of plugins-base doesn't have propertyprobe.h
-# ./gst-plugins-bad-1.0.5/sys/osxvideo/osxvideosrc.c:#include &lt;gst/interfaces/propertyprobe.h&gt;
-configure.args-append --disable-osx_video
-
</del><span class="cx"> #
</span><span class="cx"> # port:soundtouch (fails on autoreconf on darwin 8 &amp; 9, see #27533) disable soundtouch on these platforms
</span><span class="cx"> #
</span><span class="lines">@@ -108,15 +103,6 @@
</span><span class="cx"> configure.cflags-append     -funroll-loops -fstrict-aliasing
</span><span class="cx"> configure.env-append        &quot;HAVE_CXX=yes&quot;
</span><span class="cx"> 
</span><del>-patchfiles  modplug.patch
-
-post-patch {
-    reinplace &quot;s|-flat_namespace -undefined suppress|-undefined define_a_way|g&quot; \
-        ${worksrcpath}/configure
-    reinplace &quot;s|libSoundTouch|soundtouch-1.0|g&quot; \
-        ${worksrcpath}/configure
-}
-
</del><span class="cx"> variant no_x11 {
</span><span class="cx">         configure.args-append --disable-examples
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkdportsgnomegstreamer1gstpluginsbadfilespatchapplemediavtencdiff"></a>
<div class="addfile"><h4>Added: trunk/dports/gnome/gstreamer1-gst-plugins-bad/files/patch-applemedia-vtenc.diff (0 => 113886)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/gnome/gstreamer1-gst-plugins-bad/files/patch-applemedia-vtenc.diff                                (rev 0)
+++ trunk/dports/gnome/gstreamer1-gst-plugins-bad/files/patch-applemedia-vtenc.diff        2013-11-25 05:20:21 UTC (rev 113886)
</span><span class="lines">@@ -0,0 +1,269 @@
</span><ins>+From 24c79af39440e8b8642bc5e21ae463049dd09b1b Mon Sep 17 00:00:00 2001
+From: Dominik Röttsches &lt;dominik.rottsches@intel.com&gt;
+Date: Wed, 02 Oct 2013 02:49:34 +0000
+Subject: vtenc: Use correct strides, etc from the GstVideoFrame
+
+https://bugzilla.gnome.org/show_bug.cgi?id=706211
+---
+diff --git a/sys/applemedia/vtenc.c b/sys/applemedia/vtenc.c
+index 419bd9c..e728343 100644
+--- sys/applemedia/vtenc.c
++++ sys/applemedia/vtenc.c
+@@ -1,5 +1,6 @@
+ /*
+  * Copyright (C) 2010, 2013 Ole André Vadla Ravnås &lt;oleavr@soundrop.com&gt;
++ * Copyright (C) 2013 Intel Corporation
+  *
+  * This library is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Library General Public
+@@ -45,7 +46,7 @@ typedef struct _GstVTEncFrame GstVTEncFrame;
+ struct _GstVTEncFrame
+ {
+   GstBuffer *buf;
+-  GstMapInfo map;
++  GstVideoFrame videoframe;
+ };

+ static GstElementClass *parent_class = NULL;
+@@ -94,7 +95,8 @@ static VTStatus gst_vtenc_enqueue_buffer (void *data, int a2, int a3, int a4,
+ static gboolean gst_vtenc_buffer_is_keyframe (GstVTEnc * self,
+     CMSampleBufferRef sbuf);

+-static GstVTEncFrame *gst_vtenc_frame_new (GstBuffer * buf);
++static GstVTEncFrame *gst_vtenc_frame_new (GstBuffer * buf,
++    GstVideoInfo * videoinfo);
+ static void gst_vtenc_frame_free (GstVTEncFrame * frame);

+ static void
+@@ -116,7 +118,7 @@ gst_vtenc_base_init (GstVTEncClass * klass)

+   gst_element_class_set_metadata (element_class, longname,
+       &quot;Codec/Encoder/Video&quot;, description,
+-      &quot;Ole André Vadla Ravnås &lt;oleavr@soundrop.com&gt;&quot;);
++      &quot;Ole André Vadla Ravnås &lt;oleavr@soundrop.com&gt;, Dominik Röttsches &lt;dominik.rottsches@intel.com&gt;&quot;);

+   g_free (longname);
+   g_free (description);
+@@ -197,6 +199,8 @@ gst_vtenc_init (GstVTEnc * self)
+   /* These could be controlled by properties later */
+   self-&gt;dump_properties = FALSE;
+   self-&gt;dump_attributes = FALSE;
++
++  self-&gt;session = NULL;
+ }

+ static gint
+@@ -377,6 +381,9 @@ gst_vtenc_sink_setcaps (GstVTEnc * self, GstCaps * caps)
+   gst_structure_get_fraction (structure, &quot;framerate&quot;,
+       &amp;self-&gt;negotiated_fps_n, &amp;self-&gt;negotiated_fps_d);

++  if (!gst_video_info_from_caps (&amp;self-&gt;video_info, caps))
++    return FALSE;
++
+   gst_vtenc_destroy_session (self, &amp;self-&gt;session);

+   GST_OBJECT_UNLOCK (self);
+@@ -760,8 +767,7 @@ gst_vtenc_encode_frame (GstVTEnc * self, GstBuffer * buf)

+   self-&gt;cur_inbuf = buf;

+-  ts = CMTimeMake
+-      (GST_TIME_AS_MSECONDS (GST_BUFFER_TIMESTAMP (buf)), 1000);
++  ts = CMTimeMake (GST_TIME_AS_MSECONDS (GST_BUFFER_TIMESTAMP (buf)), 1000);
+   duration = CMTimeMake
+       (GST_TIME_AS_MSECONDS (GST_BUFFER_DURATION (buf)), 1000);

+@@ -774,16 +780,45 @@ gst_vtenc_encode_frame (GstVTEnc * self, GstBuffer * buf)
+     GstVTEncFrame *frame;
+     CVReturn cv_ret;

+-    frame = gst_vtenc_frame_new (buf);
+-    cv_ret = CVPixelBufferCreateWithBytes (NULL,
+-        self-&gt;negotiated_width, self-&gt;negotiated_height,
+-        kCVPixelFormatType_422YpCbCr8, frame-&gt;map.data,
+-        self-&gt;negotiated_width * 2,
+-        (CVPixelBufferReleaseBytesCallback) gst_vtenc_frame_free, frame,
+-        NULL, &amp;pbuf);
+-    if (cv_ret != kCVReturnSuccess) {
+-      gst_vtenc_frame_free (frame);
++    frame = gst_vtenc_frame_new (buf, &amp;self-&gt;video_info);
++    if (!frame)
+       goto cv_error;
++
++    {
++      const size_t num_planes = GST_VIDEO_FRAME_N_PLANES (&amp;frame-&gt;videoframe);
++      void *plane_base_addresses[num_planes];
++      size_t plane_widths[num_planes];
++      size_t plane_heights[num_planes];
++      size_t plane_bytes_per_row[num_planes];
++      size_t i;
++
++      for (i = 0; i &lt; num_planes; i++) {
++        plane_base_addresses[i] =
++            GST_VIDEO_FRAME_PLANE_DATA (&amp;frame-&gt;videoframe, i);
++        plane_widths[i] = GST_VIDEO_FRAME_COMP_WIDTH (&amp;frame-&gt;videoframe, i);
++        plane_heights[i] = GST_VIDEO_FRAME_COMP_HEIGHT (&amp;frame-&gt;videoframe, i);
++        plane_bytes_per_row[i] =
++            GST_VIDEO_FRAME_COMP_STRIDE (&amp;frame-&gt;videoframe, i);
++        plane_bytes_per_row[i] =
++            GST_VIDEO_FRAME_COMP_STRIDE (&amp;frame-&gt;videoframe, i);
++      }
++
++      cv_ret = CVPixelBufferCreateWithPlanarBytes (NULL,
++          self-&gt;negotiated_width, self-&gt;negotiated_height,
++          kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange,
++          NULL,
++          GST_VIDEO_FRAME_SIZE (&amp;frame-&gt;videoframe),
++          num_planes,
++          plane_base_addresses,
++          plane_widths,
++          plane_heights,
++          plane_bytes_per_row,
++          (CVPixelBufferReleaseBytesCallback) gst_vtenc_frame_free, frame,
++          NULL, &amp;pbuf);
++      if (cv_ret != kCVReturnSuccess) {
++        gst_vtenc_frame_free (frame);
++        goto cv_error;
++      }
+     }
+   }

+@@ -884,8 +919,7 @@ gst_vtenc_buffer_is_keyframe (GstVTEnc * self, CMSampleBufferRef sbuf)
+   gboolean result = FALSE;
+   CFArrayRef attachments_for_sample;

+-  attachments_for_sample =
+-      CMSampleBufferGetSampleAttachmentsArray (sbuf, 0);
++  attachments_for_sample = CMSampleBufferGetSampleAttachmentsArray (sbuf, 0);
+   if (attachments_for_sample != NULL) {
+     CFDictionaryRef attachments;
+     CFBooleanRef depends_on_others;
+@@ -900,13 +934,17 @@ gst_vtenc_buffer_is_keyframe (GstVTEnc * self, CMSampleBufferRef sbuf)
+ }

+ static GstVTEncFrame *
+-gst_vtenc_frame_new (GstBuffer * buf)
++gst_vtenc_frame_new (GstBuffer * buf, GstVideoInfo * video_info)
+ {
+   GstVTEncFrame *frame;

+   frame = g_slice_new (GstVTEncFrame);
+   frame-&gt;buf = gst_buffer_ref (buf);
+-  gst_buffer_map (buf, &amp;frame-&gt;map, GST_MAP_READ);
++  if (!gst_video_frame_map (&amp;frame-&gt;videoframe, video_info, buf, GST_MAP_READ)) {
++    gst_buffer_unref (frame-&gt;buf);
++    g_slice_free (GstVTEncFrame, frame);
++    return NULL;
++  }

+   return frame;
+ }
+@@ -914,7 +952,7 @@ gst_vtenc_frame_new (GstBuffer * buf)
+ static void
+ gst_vtenc_frame_free (GstVTEncFrame * frame)
+ {
+-  gst_buffer_unmap (frame-&gt;buf, &amp;frame-&gt;map);
++  gst_video_frame_unmap (&amp;frame-&gt;videoframe);
+   gst_buffer_unref (frame-&gt;buf);
+   g_slice_free (GstVTEncFrame, frame);
+ }
+diff --git a/sys/applemedia/vtenc.h b/sys/applemedia/vtenc.h
+index 594e1e2..776e04b 100644
+--- sys/applemedia/vtenc.h
++++ sys/applemedia/vtenc.h
+@@ -21,6 +21,7 @@
+ #define __GST_VTENC_H__

+ #include &lt;gst/gst.h&gt;
++#include &lt;gst/video/video.h&gt;

+ #include &quot;coremediactx.h&quot;

+@@ -72,6 +73,7 @@ struct _GstVTEnc
+   gint negotiated_fps_n, negotiated_fps_d;
+   gint caps_width, caps_height;
+   gint caps_fps_n, caps_fps_d;
++  GstVideoInfo video_info;
+   VTCompressionSessionRef session;
+   CFMutableDictionaryRef options;

+--
+cgit v0.9.0.2-2-gbebe
+From b002490ab24ea6d28eab1d7c6f6af9ec42dece14 Mon Sep 17 00:00:00 2001
+From: Dominik Röttsches &lt;dominik.rottsches@intel.com&gt;
+Date: Wed, 02 Oct 2013 02:49:43 +0000
+Subject: vtenc: Add support for I420
+
+https://bugzilla.gnome.org/show_bug.cgi?id=709241
+---
+diff --git a/sys/applemedia/vtenc.c b/sys/applemedia/vtenc.c
+index e728343..cfba838 100644
+--- sys/applemedia/vtenc.c
++++ sys/applemedia/vtenc.c
+@@ -99,6 +99,9 @@ static GstVTEncFrame *gst_vtenc_frame_new (GstBuffer * buf,
+     GstVideoInfo * videoinfo);
+ static void gst_vtenc_frame_free (GstVTEncFrame * frame);

++static GstStaticCaps sink_caps =
++GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (&quot;{ NV12, I420 }&quot;));
++
+ static void
+ gst_vtenc_base_init (GstVTEncClass * klass)
+ {
+@@ -124,14 +127,7 @@ gst_vtenc_base_init (GstVTEncClass * klass)
+   g_free (description);

+   sink_template = gst_pad_template_new (&quot;sink&quot;,
+-      GST_PAD_SINK,
+-      GST_PAD_ALWAYS,
+-      gst_caps_new_simple (&quot;video/x-raw&quot;,
+-          &quot;format&quot;, G_TYPE_STRING, &quot;NV12&quot;,
+-          &quot;width&quot;, GST_TYPE_INT_RANGE, min_width, max_width,
+-          &quot;height&quot;, GST_TYPE_INT_RANGE, min_height, max_height,
+-          &quot;framerate&quot;, GST_TYPE_FRACTION_RANGE,
+-          min_fps_n, min_fps_d, max_fps_n, max_fps_d, NULL));
++      GST_PAD_SINK, GST_PAD_ALWAYS, gst_static_caps_get (&amp;sink_caps));
+   gst_element_class_add_pad_template (element_class, sink_template);

+   src_caps = gst_caps_new_simple (codec_details-&gt;mimetype,
+@@ -537,8 +533,6 @@ gst_vtenc_create_session (GstVTEnc * self)

+   pb_attrs = CFDictionaryCreateMutable (NULL, 0, &amp;kCFTypeDictionaryKeyCallBacks,
+       &amp;kCFTypeDictionaryValueCallBacks);
+-  gst_vtutil_dict_set_i32 (pb_attrs, kCVPixelBufferPixelFormatTypeKey,
+-      kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange);
+   gst_vtutil_dict_set_i32 (pb_attrs, kCVPixelBufferWidthKey,
+       self-&gt;negotiated_width);
+   gst_vtutil_dict_set_i32 (pb_attrs, kCVPixelBufferHeightKey,
+@@ -790,6 +784,7 @@ gst_vtenc_encode_frame (GstVTEnc * self, GstBuffer * buf)
+       size_t plane_widths[num_planes];
+       size_t plane_heights[num_planes];
+       size_t plane_bytes_per_row[num_planes];
++      OSType pixel_format_type;
+       size_t i;

+       for (i = 0; i &lt; num_planes; i++) {
+@@ -803,9 +798,20 @@ gst_vtenc_encode_frame (GstVTEnc * self, GstBuffer * buf)
+             GST_VIDEO_FRAME_COMP_STRIDE (&amp;frame-&gt;videoframe, i);
+       }

++      switch (GST_VIDEO_INFO_FORMAT (&amp;self-&gt;video_info)) {
++        case GST_VIDEO_FORMAT_I420:
++          pixel_format_type = kCVPixelFormatType_420YpCbCr8Planar;
++          break;
++        case GST_VIDEO_FORMAT_NV12:
++          pixel_format_type = kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange;
++          break;
++        default:
++          goto cv_error;
++      }
++
+       cv_ret = CVPixelBufferCreateWithPlanarBytes (NULL,
+           self-&gt;negotiated_width, self-&gt;negotiated_height,
+-          kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange,
++          pixel_format_type,
+           NULL,
+           GST_VIDEO_FRAME_SIZE (&amp;frame-&gt;videoframe),
+           num_planes,
+--
+cgit v0.9.0.2-2-gbebe
</ins></span></pre></div>
<a id="trunkdportsgnomegstreamer1gstpluginsbasePortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/gnome/gstreamer1-gst-plugins-base/Portfile (113885 => 113886)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/gnome/gstreamer1-gst-plugins-base/Portfile        2013-11-25 04:54:50 UTC (rev 113885)
+++ trunk/dports/gnome/gstreamer1-gst-plugins-base/Portfile        2013-11-25 05:20:21 UTC (rev 113886)
</span><span class="lines">@@ -8,8 +8,8 @@
</span><span class="cx"> 
</span><span class="cx"> name                gstreamer1-gst-plugins-base
</span><span class="cx"> set my_name         gst-plugins-base
</span><del>-version             1.0.9
-revision            1
</del><ins>+version             1.2.1
+set branch          [join [lrange [split ${version} .] 0 1] .]
</ins><span class="cx"> description         This is gst-plugins, a set of plug-ins for GStreamer.
</span><span class="cx"> long_description    ${description}
</span><span class="cx"> maintainers         rmstonecipher openmaintainer
</span><span class="lines">@@ -19,11 +19,12 @@
</span><span class="cx"> homepage            http://gstreamer.freedesktop.org/modules/${my_name}.html
</span><span class="cx"> 
</span><span class="cx"> use_xz              yes
</span><del>-master_sites        gnome:sources/${my_name}/1.0/ http://gstreamer.freedesktop.org/src/${my_name}/
</del><ins>+master_sites        gnome:sources/${my_name}/${branch}/ \
+                    http://gstreamer.freedesktop.org/src/${my_name}/
</ins><span class="cx"> distname            ${my_name}-${version}
</span><span class="cx"> 
</span><del>-checksums           rmd160  9b48af7afa947ab7f186814a372c904b13b12bf1 \
-                    sha256  963e3b83d651661f495ca2e44ccd2d5c61e986e9d7706246e568276689a372ea
</del><ins>+checksums           rmd160  df783ce92565b2cb23a39a4ed035f0a165dbe91c \
+                    sha256  de2444a5c150d4e4b680364d7c0414cd8b015d95b305ff65d65a17683379532f
</ins><span class="cx"> 
</span><span class="cx"> depends_build \
</span><span class="cx">     port:pkgconfig
</span><span class="lines">@@ -46,7 +47,7 @@
</span><span class="cx">     --disable-cdparanoia \
</span><span class="cx">     --disable-ivorbis
</span><span class="cx"> 
</span><del>-variant no_x11 {
</del><ins>+variant no_x11 description {Disable plugins that depend on X11} {
</ins><span class="cx">     depends_lib-delete port:xorg-libice \
</span><span class="cx">                        port:xorg-libsm \
</span><span class="cx">                        port:xorg-libXv
</span><span class="lines">@@ -91,7 +92,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-if {[variant_isset universal]} { 
</del><ins>+if {[variant_isset universal]} {
</ins><span class="cx">     set merger_host(x86_64) x86_64-apple-${os.platform}${os.major}
</span><span class="cx">     set merger_host(i386) i686-apple-${os.platform}${os.major}
</span><span class="cx">     set merger_configure_args(x86_64) --build=x86_64-apple-${os.platform}${os.major}
</span><span class="lines">@@ -118,6 +119,5 @@
</span><span class="cx">     destroot.args-append    CC=&quot;${configure.cc} ${configure.cc_archflags}&quot;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-livecheck.type      regex
-livecheck.url       http://gstreamer.freedesktop.org/src/${my_name}/
-livecheck.regex     &quot;${my_name}-(\\d+(?:\\.\\d+)*)${extract.suffix}&quot;
</del><ins>+livecheck.type      gnome
+livecheck.name      ${my_name}
</ins></span></pre></div>
<a id="trunkdportsgnomegstreamer1gstpluginsgoodPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/gnome/gstreamer1-gst-plugins-good/Portfile (113885 => 113886)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/gnome/gstreamer1-gst-plugins-good/Portfile        2013-11-25 04:54:50 UTC (rev 113885)
+++ trunk/dports/gnome/gstreamer1-gst-plugins-good/Portfile        2013-11-25 05:20:21 UTC (rev 113886)
</span><span class="lines">@@ -9,8 +9,8 @@
</span><span class="cx"> 
</span><span class="cx"> name                gstreamer1-gst-plugins-good
</span><span class="cx"> set my_name         gst-plugins-good
</span><del>-version             1.0.9
-revision            2
</del><ins>+version             1.2.1
+set branch          [join [lrange [split ${version} .] 0 1] .]
</ins><span class="cx"> description         \
</span><span class="cx">     A set of good-quality plug-ins for GStreamer under GStreamer's preferred \
</span><span class="cx">     license, LGPL.
</span><span class="lines">@@ -24,12 +24,13 @@
</span><span class="cx"> license             LGPL-2+
</span><span class="cx"> platforms           darwin
</span><span class="cx"> homepage            http://gstreamer.freedesktop.org/modules/${my_name}.html
</span><del>-master_sites        http://gstreamer.freedesktop.org/src/${my_name}/ gnome:sources/${my_name}/0.10/
</del><ins>+master_sites        gnome:sources/${my_name}/${branch}/ \
+                    http://gstreamer.freedesktop.org/src/${my_name}/
</ins><span class="cx"> use_xz              yes
</span><span class="cx"> distname            ${my_name}-${version}
</span><span class="cx"> 
</span><del>-checksums           rmd160  ae681e8fcd39a7a2c9826b0c504dee61d14bc488 \
-                    sha256  cfa2e617a76f93e9ddd4ae1109297e93fb4a06b152042b996231234a72c5a5ff
</del><ins>+checksums           rmd160  507ae35815c5ff9dc42b13adb6dad8c0220b357f \
+                    sha256  660fa02dbe01086fcf702d87acc0ba5dde2559d6a11ecf438874afe504c50517
</ins><span class="cx"> 
</span><span class="cx"> depends_build \
</span><span class="cx">     port:pkgconfig
</span><span class="lines">@@ -96,6 +97,14 @@
</span><span class="cx"> # &lt;rdar://problem/9694837&gt; - Fixed in XCode 4.2 (clang 211.10.1) 
</span><span class="cx"> compiler.blacklist  {clang &lt; 211.10.1} 
</span><span class="cx"> 
</span><del>-livecheck.type  regex
-livecheck.url   http://gstreamer.freedesktop.org/src/${my_name}/
-livecheck.regex &quot;${my_name}-(\\d+(?:\\.\\d+)*)${extract.suffix}&quot;
</del><ins>+pre-activate {
+    if {![catch {set installed [lindex [registry_active gstreamer1-gst-plugins-bad] 0]}]} {
+        set _version [lindex $installed 1]
+        if {[vercmp $_version 1.2.1] &lt; 0} {
+            registry_deactivate_composite gstreamer1-gst-plugins-bad &quot;&quot; [list ports_nodepcheck 1]
+        }
+    }
+}
+
+livecheck.type  gnome
+livecheck.name  ${my_name}
</ins></span></pre></div>
<a id="trunkdportsgnomegstreamer1gstpluginsuglyPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/gnome/gstreamer1-gst-plugins-ugly/Portfile (113885 => 113886)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/gnome/gstreamer1-gst-plugins-ugly/Portfile        2013-11-25 04:54:50 UTC (rev 113885)
+++ trunk/dports/gnome/gstreamer1-gst-plugins-ugly/Portfile        2013-11-25 05:20:21 UTC (rev 113886)
</span><span class="lines">@@ -8,8 +8,7 @@
</span><span class="cx"> 
</span><span class="cx"> name                gstreamer1-gst-plugins-ugly
</span><span class="cx"> set my_name         gst-plugins-ugly
</span><del>-version             1.0.9
-revision            1
</del><ins>+version             1.2.1
</ins><span class="cx"> description         \
</span><span class="cx">     A set of good-quality plug-ins for GStreamer that might pose distribution \
</span><span class="cx">     problems.
</span><span class="lines">@@ -27,8 +26,8 @@
</span><span class="cx"> license             GPL-2+ LGPL-2+
</span><span class="cx"> use_xz              yes
</span><span class="cx"> 
</span><del>-checksums           rmd160  e404119a178c6216ab2af231f83c83afb8305eb2 \
-                    sha256  11250fe9e44b0169c3a289e981b31874b483643ed78f619682ae1644d7088379
</del><ins>+checksums           rmd160  1259d92e7411aca10347906892719a76e7b4bf27 \
+                    sha256  35ae5d45de54827604e24f57f54ab30a5ab2245b4c4120977273eb11d19c2395
</ins><span class="cx"> 
</span><span class="cx"> depends_build       port:pkgconfig
</span><span class="cx"> depends_lib         port:gstreamer1-gst-plugins-base \
</span></span></pre>
</div>
</div>

</body>
</html>