mp4mux faststart doesn't work (or how to properly stop a non-faststart pipeline)

k l kludev at gmail.com
Sat May 4 12:10:56 PDT 2013


Forgot to mention, by saying "my original pipeline", I really meant the
below one:

gst-launch-0.10 -e -vvv souphttpsrc
location=http://192.168.0.2/video.cgiuser-id=<> user-pw=<>
do-timestamp=true is_live=true timeout=5 !
multipartdemux ! jpegdec ! x264enc ! mp4mux ! filesink location=hi.mp4


On Sat, May 4, 2013 at 12:08 PM, k l <kludev at gmail.com> wrote:

> Thanks Thiago. I gave it a try in Linux, and yes, -e does work in Linux
> but not on Windows. That's definately a bug. The (test) pipeline that
> worked is:
>
> gst-launch -vvv -e videotestsrc ! queue ! x264enc ! qtmux streamable=true
> ! filesink location="hihi.mp4"
>
> Having said that, when I try my original pipeline, it now core dumps
> floating point exception, in libx264. Any help into this would be really
> appreciated.
>
>
> Here's the stack top:
>  x264_add8x8_idct8_avx.skip_prologue () from
> /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  x264_encoder_open_123 () from
> /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  gst_x264_enc_init_encoder (encoder=0x82ff2e0) at gstx264enc.c:1266
>  gst_x264_enc_sink_set_caps (pad=0x82f4330, caps=0xb5134ae0) at
> gstx264enc.c:1671
>  gst_pad_set_caps (pad=pad at entry=0x82f4330, caps=caps at entry=0xb5134ae0)
> at gstpad.c:2730
>
>
> Here's the detailed core dump info:
>
> ProblemType: Crash
> Architecture: i386
> CrashCounter: 1
> Date: Sat May  4 09:44:56 2013
> Dependencies:
>  apt-utils 0.9.7.7ubuntu4
>  debconf 1.5.49ubuntu1
>  debconf-i18n 1.5.49ubuntu1
>  dpkg 1.16.10ubuntu1
>  gcc-4.7-base 4.7.3-1ubuntu1
>  libapt-inst1.5 0.9.7.7ubuntu4
>  libapt-pkg4.12 0.9.7.7ubuntu4
>  libbz2-1.0 1.0.6-4
>  libc6 2.17-0ubuntu5
>  libdb5.1 5.1.29-5ubuntu8
>  libffi6 3.0.13-2ubuntu1
>  libgcc1 1:4.7.3-1ubuntu1
>  libglib2.0-0 2.36.0-1ubuntu2
>  libglib2.0-data 2.36.0-1ubuntu2
>  libgstreamer0.10-0 0.10.36-1ubuntu2
>  liblocale-gettext-perl 1.05-7build2
>  liblzma5 5.1.1alpha+20120614-2ubuntu1
>  libpcre3 1:8.31-2
>  libpopt0 1.16-7ubuntu3
>  libselinux1 2.1.9-5ubuntu1
>  libstdc++6 4.7.3-1ubuntu1
>  libtext-charwidth-perl 0.04-7build2
>  libtext-iconv-perl 1.7-5build1
>  libtext-wrapi18n-perl 0.06-7
>  libxml2 2.9.0+dfsg1-4ubuntu4
>  multiarch-support 2.17-0ubuntu5
>  perl-base 5.14.2-21
>  pkg-config 0.26-1ubuntu3
>  sed 4.2.1-10ubuntu2
>  sgml-base 1.26+nmu4ubuntu1
>  shared-mime-info 1.1-0ubuntu2
>  tar 1.26+dfsg-5
>  xml-core 0.13+nmu2
>  zlib1g 1:1.2.7.dfsg-13ubuntu2
> Disassembly:
>  => 0xb67e9c5e <x264_add8x8_idct8_avx.skip_prologue+36675>: div    %ecx
>     0xb67e9c60 <x264_add8x8_idct8_avx.skip_prologue+36677>: mov
>  %eax,%esi
>     0xb67e9c62 <x264_add8x8_idct8_avx.skip_prologue+36679>: xor
>  %edx,%edx
>     0xb67e9c64 <x264_add8x8_idct8_avx.skip_prologue+36681>: mov
>  %ebp,%eax
>     0xb67e9c66 <x264_add8x8_idct8_avx.skip_prologue+36683>: div    %esi
>     0xb67e9c68 <x264_add8x8_idct8_avx.skip_prologue+36685>: mov
>  %eax,%ebp
>     0xb67e9c6a <x264_add8x8_idct8_avx.skip_prologue+36687>: mov
>  %edi,%eax
>     0xb67e9c6c <x264_add8x8_idct8_avx.skip_prologue+36689>: div    %esi
>     0xb67e9c6e <x264_add8x8_idct8_avx.skip_prologue+36691>: mov
>  %ebp,%edx
>     0xb67e9c70 <x264_add8x8_idct8_avx.skip_prologue+36693>: mov
>  0x10(%esp),%esi
>     0xb67e9c74 <x264_add8x8_idct8_avx.skip_prologue+36697>: mov
>  0x14(%esp),%edi
>     0xb67e9c78 <x264_add8x8_idct8_avx.skip_prologue+36701>: mov
>  0x18(%esp),%ebp
>     0xb67e9c7c <x264_add8x8_idct8_avx.skip_prologue+36705>: add
>  $0x1c,%esp
>     0xb67e9c7f <x264_add8x8_idct8_avx.skip_prologue+36708>: ret
>     0xb67e9c80 <x264_add8x8_idct8_avx.skip_prologue+36709>: cmp
>  %ebp,%eax
>     0xb67e9c82 <x264_add8x8_idct8_avx.skip_prologue+36711>: ja
> 0xb67e9ca8 <x264_add8x8_idct8_avx.skip_prologue+36749>
> DistroRelease: Ubuntu 13.04
> ExecutablePath: /usr/bin/gst-launch-0.10
> ExecutableTimestamp: 1340706728
> Package: gstreamer0.10-tools 0.10.36-1ubuntu2
> PackageArchitecture: i386
> ProcCmdline: /usr/bin/gst-launch-0.10 -e -vvv souphttpsrc location=
> http://192.168.0.2/video.cgi user-id=<> user-pw=<> do-timestamp=true
> is_live=true timeout=5 ! multipartdemux ! jpegdec ! x264enc ! mp4mux !
> filesink location=hi.mp4
> ProcCwd: /home/someone
> ProcEnviron:
>  SHELL=/bin/bash
>  TERM=xterm
>  PATH=(custom, no user)
>  LANG=en_US.UTF-8
>  XDG_RUNTIME_DIR=<set>
> ProcMaps:
>  08048000-0804f000 r-xp 00000000 08:01 1062702    /usr/bin/gst-launch-0.10
>  0804f000-08050000 r--p 00006000 08:01 1062702    /usr/bin/gst-launch-0.10
>  08050000-08051000 rw-p 00007000 08:01 1062702    /usr/bin/gst-launch-0.10
>  081b2000-0833f000 rw-p 00000000 00:00 0          [heap]
>  b40fe000-b40ff000 ---p 00000000 00:00 0
>  b40ff000-b48ff000 rw-p 00000000 00:00 0          [stack:11731]
>  b48ff000-b4900000 ---p 00000000 00:00 0
>  b4900000-b5100000 rw-p 00000000 00:00 0          [stack:11730]
>  b5100000-b514f000 rw-p 00000000 00:00 0
>  b514f000-b5200000 ---p 00000000 00:00 0
>  b528f000-b5300000 rw-p 00000000 00:00 0
>  b5300000-b5321000 rw-p 00000000 00:00 0
>  b5321000-b5400000 ---p 00000000 00:00 0
>  b544f000-b5450000 ---p 00000000 00:00 0
>  b5450000-b5c50000 rw-p 00000000 00:00 0          [stack:11728]
>  b5c50000-b5c70000 r-xp 00000000 08:01 1052393
>  /usr/lib/i386-linux-gnu/libproxy.so.1.0.0
>  b5c70000-b5c71000 r--p 0001f000 08:01 1052393
>  /usr/lib/i386-linux-gnu/libproxy.so.1.0.0
>  b5c71000-b5c72000 rw-p 00020000 08:01 1052393
>  /usr/lib/i386-linux-gnu/libproxy.so.1.0.0
>  b5c72000-b5c73000 ---p 00000000 00:00 0
>  b5c73000-b6473000 rw-p 00000000 00:00 0          [stack:11727]
>  b6473000-b648e000 r-xp 00000000 08:01 2098016
>  /lib/i386-linux-gnu/libgcc_s.so.1
>  b648e000-b648f000 r--p 0001a000 08:01 2098016
>  /lib/i386-linux-gnu/libgcc_s.so.1
>  b648f000-b6490000 rw-p 0001b000 08:01 2098016
>  /lib/i386-linux-gnu/libgcc_s.so.1
>  b6490000-b656c000 r-xp 00000000 08:01 1052466
>  /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17
>  b656c000-b656d000 ---p 000dc000 08:01 1052466
>  /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17
>  b656d000-b6571000 r--p 000dc000 08:01 1052466
>  /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17
>  b6571000-b6572000 rw-p 000e0000 08:01 1052466
>  /usr/lib/i386-linux-gnu/libstdc++.so.6.0.17
>  b6572000-b6579000 rw-p 00000000 00:00 0
>  b658a000-b6595000 r-xp 00000000 08:01 2098064    /lib/i386-linux-gnu/
> libnss_files-2.17.so
>  b6595000-b6596000 r--p 0000a000 08:01 2098064    /lib/i386-linux-gnu/
> libnss_files-2.17.so
>  b6596000-b6597000 rw-p 0000b000 08:01 2098064    /lib/i386-linux-gnu/
> libnss_files-2.17.so
>  b65a6000-b65a8000 r-xp 00000000 08:01 1052810
>  /usr/lib/i386-linux-gnu/gconv/ISO8859-1.so
>  b65a8000-b65a9000 r--p 00001000 08:01 1052810
>  /usr/lib/i386-linux-gnu/gconv/ISO8859-1.so
>  b65a9000-b65aa000 rw-p 00002000 08:01 1052810
>  /usr/lib/i386-linux-gnu/gconv/ISO8859-1.so
>  b65aa000-b65b1000 r--s 00000000 08:01 1052866
>  /usr/lib/i386-linux-gnu/gconv/gconv-modules.cache
>  b65b1000-b65b3000 r-xp 00000000 08:01 1052899
>  /usr/lib/i386-linux-gnu/gio/modules/libgiolibproxy.so
>  b65b3000-b65b4000 r--p 00001000 08:01 1052899
>  /usr/lib/i386-linux-gnu/gio/modules/libgiolibproxy.so
>  b65b4000-b65b5000 rw-p 00002000 08:01 1052899
>  /usr/lib/i386-linux-gnu/gio/modules/libgiolibproxy.so
>  b65b5000-b65fe000 r-xp 00000000 08:01 1052934
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstcoreelements.so
>  b65fe000-b65ff000 ---p 00049000 08:01 1052934
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstcoreelements.so
>  b65ff000-b6600000 r--p 00049000 08:01 1052934
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstcoreelements.so
>  b6600000-b6601000 rw-p 0004a000 08:01 1052934
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstcoreelements.so
>  b6601000-b6610000 r-xp 00000000 08:01 1052158
>  /usr/lib/i386-linux-gnu/libgstinterfaces-0.10.so.0.25.0
>  b6610000-b6611000 ---p 0000f000 08:01 1052158
>  /usr/lib/i386-linux-gnu/libgstinterfaces-0.10.so.0.25.0
>  b6611000-b6612000 r--p 0000f000 08:01 1052158
>  /usr/lib/i386-linux-gnu/libgstinterfaces-0.10.so.0.25.0
>  b6612000-b6613000 rw-p 00010000 08:01 1052158
>  /usr/lib/i386-linux-gnu/libgstinterfaces-0.10.so.0.25.0
>  b6613000-b664f000 r-xp 00000000 08:01 1052132
>  /usr/lib/i386-linux-gnu/libgstaudio-0.10.so.0.25.0
>  b664f000-b6650000 ---p 0003c000 08:01 1052132
>  /usr/lib/i386-linux-gnu/libgstaudio-0.10.so.0.25.0
>  b6650000-b6651000 r--p 0003c000 08:01 1052132
>  /usr/lib/i386-linux-gnu/libgstaudio-0.10.so.0.25.0
>  b6651000-b6652000 rw-p 0003d000 08:01 1052132
>  /usr/lib/i386-linux-gnu/libgstaudio-0.10.so.0.25.0
>  b6652000-b6668000 r-xp 00000000 08:01 1052180
>  /usr/lib/i386-linux-gnu/libgstrtp-0.10.so.0.25.0
>  b6668000-b6669000 ---p 00016000 08:01 1052180
>  /usr/lib/i386-linux-gnu/libgstrtp-0.10.so.0.25.0
>  b6669000-b666a000 r--p 00016000 08:01 1052180
>  /usr/lib/i386-linux-gnu/libgstrtp-0.10.so.0.25.0
>  b666a000-b666b000 rw-p 00017000 08:01 1052180
>  /usr/lib/i386-linux-gnu/libgstrtp-0.10.so.0.25.0
>  b666b000-b6678000 r-xp 00000000 08:01 1052176
>  /usr/lib/i386-linux-gnu/libgstriff-0.10.so.0.25.0
>  b6678000-b6679000 r--p 0000c000 08:01 1052176
>  /usr/lib/i386-linux-gnu/libgstriff-0.10.so.0.25.0
>  b6679000-b667a000 rw-p 0000d000 08:01 1052176
>  /usr/lib/i386-linux-gnu/libgstriff-0.10.so.0.25.0
>  b667a000-b66d5000 r-xp 00000000 08:01 1052960
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstisomp4.so
>  b66d5000-b66d6000 ---p 0005b000 08:01 1052960
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstisomp4.so
>  b66d6000-b66d7000 r--p 0005b000 08:01 1052960
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstisomp4.so
>  b66d7000-b66d8000 rw-p 0005c000 08:01 1052960
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstisomp4.so
>  b66d8000-b67ff000 r-xp 00000000 08:01 1060729
>  /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  b67ff000-b6800000 r--p 00126000 08:01 1060729
>  /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  b6800000-b6801000 rw-p 00127000 08:01 1060729
>  /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  b6801000-b687c000 rw-p 00000000 00:00 0
>  b687c000-b689c000 r-xp 00000000 08:01 1052166
>  /usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0.25.0
>  b689c000-b689d000 r--p 00020000 08:01 1052166
>  /usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0.25.0
>  b689d000-b689e000 rw-p 00021000 08:01 1052166
>  /usr/lib/i386-linux-gnu/libgstpbutils-0.10.so.0.25.0
>  b689e000-b692c000 r-xp 00000000 08:01 1052341
>  /usr/lib/i386-linux-gnu/liborc-0.4.so.0.17.0
>  b692c000-b692d000 r--p 0008e000 08:01 1052341
>  /usr/lib/i386-linux-gnu/liborc-0.4.so.0.17.0
>  b692d000-b6931000 rw-p 0008f000 08:01 1052341
>  /usr/lib/i386-linux-gnu/liborc-0.4.so.0.17.0
>  b6931000-b6976000 r-xp 00000000 08:01 1052256
>  /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
>  b6976000-b6977000 r--p 00044000 08:01 1052256
>  /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
>  b6977000-b6978000 rw-p 00045000 08:01 1052256
>  /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
>  b6978000-b6988000 rw-p 00000000 00:00 0
>  b6988000-b69a4000 r-xp 00000000 08:01 1052196
>  /usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0.25.0
>  b69a4000-b69a5000 r--p 0001b000 08:01 1052196
>  /usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0.25.0
>  b69a5000-b69a6000 rw-p 0001c000 08:01 1052196
>  /usr/lib/i386-linux-gnu/libgstvideo-0.10.so.0.25.0
>  b69a8000-b69af000 r--p 00000000 08:01 1717809
>  /usr/share/glib-2.0/schemas/gschemas.compiled
>  b69af000-b69b2000 r-xp 00000000 08:01 1052897
>  /usr/lib/i386-linux-gnu/gio/modules/libgiognomeproxy.so
>  b69b2000-b69b3000 r--p 00002000 08:01 1052897
>  /usr/lib/i386-linux-gnu/gio/modules/libgiognomeproxy.so
>  b69b3000-b69b4000 rw-p 00003000 08:01 1052897
>  /usr/lib/i386-linux-gnu/gio/modules/libgiognomeproxy.so
>  b69b4000-b69be000 r-xp 00000000 08:01 1052896
>  /usr/lib/i386-linux-gnu/gio/modules/libdconfsettings.so
>  b69be000-b69bf000 r--p 00009000 08:01 1052896
>  /usr/lib/i386-linux-gnu/gio/modules/libdconfsettings.so
>  b69bf000-b69c0000 rw-p 0000a000 08:01 1052896
>  /usr/lib/i386-linux-gnu/gio/modules/libdconfsettings.so
>  b69c0000-b69d3000 r-xp 00000000 08:01 1052962
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstjpeg.so
>  b69d3000-b69d4000 r--p 00012000 08:01 1052962
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstjpeg.so
>  b69d4000-b69d5000 rw-p 00013000 08:01 1052962
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstjpeg.so
>  b69d5000-b6a56000 r-xp 00000000 08:01 2098018
>  /lib/i386-linux-gnu/libgcrypt.so.11.7.0
>  b6a56000-b6a57000 r--p 00080000 08:01 2098018
>  /lib/i386-linux-gnu/libgcrypt.so.11.7.0
>  b6a57000-b6a59000 rw-p 00081000 08:01 2098018
>  /lib/i386-linux-gnu/libgcrypt.so.11.7.0
>  b6a59000-b6aa1000 r-xp 00000000 08:01 2098003
>  /lib/i386-linux-gnu/libdbus-1.so.3.7.2
>  b6aa1000-b6aa2000 r--p 00047000 08:01 2098003
>  /lib/i386-linux-gnu/libdbus-1.so.3.7.2
>  b6aa2000-b6aa3000 rw-p 00048000 08:01 2098003
>  /lib/i386-linux-gnu/libdbus-1.so.3.7.2
>  b6aa3000-b6ab6000 r-xp 00000000 08:01 2098109    /lib/i386-linux-gnu/
> libresolv-2.17.so
>  b6ab6000-b6ab7000 r--p 00013000 08:01 2098109    /lib/i386-linux-gnu/
> libresolv-2.17.so
>  b6ab7000-b6ab8000 rw-p 00014000 08:01 2098109    /lib/i386-linux-gnu/
> libresolv-2.17.so
>  b6ab8000-b6aba000 rw-p 00000000 00:00 0
>  b6aba000-b6ad7000 r-xp 00000000 08:01 2098113
>  /lib/i386-linux-gnu/libselinux.so.1
>  b6ad7000-b6ad8000 r--p 0001c000 08:01 2098113
>  /lib/i386-linux-gnu/libselinux.so.1
>  b6ad8000-b6ad9000 rw-p 0001d000 08:01 2098113
>  /lib/i386-linux-gnu/libselinux.so.1
>  b6ad9000-b6afc000 r-xp 00000000 08:01 1052101
>  /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0
>  b6afc000-b6afd000 r--p 00022000 08:01 1052101
>  /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0
>  b6afd000-b6afe000 rw-p 00023000 08:01 1052101
>  /usr/lib/i386-linux-gnu/libgnome-keyring.so.0.2.0
>  b6afe000-b6baa000 r-xp 00000000 08:01 1052458
>  /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
>  b6baa000-b6bab000 r--p 000ac000 08:01 1052458
>  /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
>  b6bab000-b6bac000 rw-p 000ad000 08:01 1052458
>  /usr/lib/i386-linux-gnu/libsqlite3.so.0.8.6
>  b6bac000-b6bad000 rw-p 00000000 00:00 0
>  b6bad000-b6d0d000 r-xp 00000000 08:01 1052091
>  /usr/lib/i386-linux-gnu/libgio-2.0.so.0.3600.0
>  b6d0d000-b6d0f000 r--p 00160000 08:01 1052091
>  /usr/lib/i386-linux-gnu/libgio-2.0.so.0.3600.0
>  b6d0f000-b6d10000 rw-p 00162000 08:01 1052091
>  /usr/lib/i386-linux-gnu/libgio-2.0.so.0.3600.0
>  b6d10000-b6d11000 rw-p 00000000 00:00 0
>  b6d11000-b6d9a000 r-xp 00000000 08:01 1052446
>  /usr/lib/i386-linux-gnu/libsoup-2.4.so.1.5.0
>  b6d9a000-b6d9b000 r--p 00089000 08:01 1052446
>  /usr/lib/i386-linux-gnu/libsoup-2.4.so.1.5.0
>  b6d9b000-b6da8000 rw-p 0008a000 08:01 1052446
>  /usr/lib/i386-linux-gnu/libsoup-2.4.so.1.5.0
>  b6da8000-b6e07000 r-xp 00000000 08:01 1052136
>  /usr/lib/i386-linux-gnu/libgstbase-0.10.so.0.30.0
>  b6e07000-b6e08000 r--p 0005e000 08:01 1052136
>  /usr/lib/i386-linux-gnu/libgstbase-0.10.so.0.30.0
>  b6e08000-b6e09000 rw-p 0005f000 08:01 1052136
>  /usr/lib/i386-linux-gnu/libgstbase-0.10.so.0.30.0
>  b6e09000-b6e3d000 r-xp 00000000 08:01 1052192
>  /usr/lib/i386-linux-gnu/libgsttag-0.10.so.0.25.0
>  b6e3d000-b6e3e000 ---p 00034000 08:01 1052192
>  /usr/lib/i386-linux-gnu/libgsttag-0.10.so.0.25.0
>  b6e3e000-b6e3f000 r--p 00034000 08:01 1052192
>  /usr/lib/i386-linux-gnu/libgsttag-0.10.so.0.25.0
>  b6e3f000-b6e40000 rw-p 00035000 08:01 1052192
>  /usr/lib/i386-linux-gnu/libgsttag-0.10.so.0.25.0
>  b6e42000-b6e43000 r--s 00000000 00:14 25531
>  /run/user/someone/dconf/user
>  b6e43000-b6e45000 rw-p 00000000 00:00 0
>  b6e45000-b6e4f000 r-xp 00000000 08:01 1060914
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstx264.so
>  b6e4f000-b6e50000 r--p 00009000 08:01 1060914
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstx264.so
>  b6e50000-b6e51000 rw-p 0000a000 08:01 1060914
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstx264.so
>  b6e51000-b6e57000 r-xp 00000000 08:01 1052971
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstmultipart.so
>  b6e57000-b6e58000 ---p 00006000 08:01 1052971
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstmultipart.so
>  b6e58000-b6e59000 r--p 00006000 08:01 1052971
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstmultipart.so
>  b6e59000-b6e5a000 rw-p 00007000 08:01 1052971
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstmultipart.so
>  b6e5a000-b6e9a000 r--p 002bd000 08:01 1056866
>  /usr/lib/locale/locale-archive
>  b6e9a000-b709a000 r--p 00000000 08:01 1056866
>  /usr/lib/locale/locale-archive
>  b709a000-b709c000 rw-p 00000000 00:00 0
>  b709c000-b70c1000 r-xp 00000000 08:01 2098038
>  /lib/i386-linux-gnu/liblzma.so.5.0.0
>  b70c1000-b70c2000 r--p 00024000 08:01 2098038
>  /lib/i386-linux-gnu/liblzma.so.5.0.0
>  b70c2000-b70c3000 rw-p 00025000 08:01 2098038
>  /lib/i386-linux-gnu/liblzma.so.5.0.0
>  b70c3000-b70da000 r-xp 00000000 08:01 2098142
>  /lib/i386-linux-gnu/libz.so.1.2.7
>  b70da000-b70db000 r--p 00016000 08:01 2098142
>  /lib/i386-linux-gnu/libz.so.1.2.7
>  b70db000-b70dc000 rw-p 00017000 08:01 2098142
>  /lib/i386-linux-gnu/libz.so.1.2.7
>  b70dc000-b70dd000 rw-p 00000000 00:00 0
>  b70dd000-b711c000 r-xp 00000000 08:01 2098086
>  /lib/i386-linux-gnu/libpcre.so.3.13.1
>  b711c000-b711d000 r--p 0003f000 08:01 2098086
>  /lib/i386-linux-gnu/libpcre.so.3.13.1
>  b711d000-b711e000 rw-p 00040000 08:01 2098086
>  /lib/i386-linux-gnu/libpcre.so.3.13.1
>  b711e000-b7123000 r-xp 00000000 08:01 1052040
>  /usr/lib/i386-linux-gnu/libffi.so.6.0.1
>  b7123000-b7124000 r--p 00005000 08:01 1052040
>  /usr/lib/i386-linux-gnu/libffi.so.6.0.1
>  b7124000-b7125000 rw-p 00006000 08:01 1052040
>  /usr/lib/i386-linux-gnu/libffi.so.6.0.1
>  b7125000-b7128000 r-xp 00000000 08:01 2098006    /lib/i386-linux-gnu/
> libdl-2.17.so
>  b7128000-b7129000 r--p 00002000 08:01 2098006    /lib/i386-linux-gnu/
> libdl-2.17.so
>  b7129000-b712a000 rw-p 00003000 08:01 2098006    /lib/i386-linux-gnu/
> libdl-2.17.so
>  b712a000-b7131000 r-xp 00000000 08:01 2098111    /lib/i386-linux-gnu/
> librt-2.17.so
>  b7131000-b7132000 r--p 00006000 08:01 2098111    /lib/i386-linux-gnu/
> librt-2.17.so
>  b7132000-b7133000 rw-p 00007000 08:01 2098111    /lib/i386-linux-gnu/
> librt-2.17.so
>  b7133000-b7174000 r-xp 00000000 08:01 2098039    /lib/i386-linux-gnu/
> libm-2.17.so
>  b7174000-b7175000 r--p 00040000 08:01 2098039    /lib/i386-linux-gnu/
> libm-2.17.so
>  b7175000-b7176000 rw-p 00041000 08:01 2098039    /lib/i386-linux-gnu/
> libm-2.17.so
>  b7176000-b7177000 rw-p 00000000 00:00 0
>  b7177000-b72c7000 r-xp 00000000 08:01 1052555
>  /usr/lib/i386-linux-gnu/libxml2.so.2.9.0
>  b72c7000-b72cb000 r--p 00150000 08:01 1052555
>  /usr/lib/i386-linux-gnu/libxml2.so.2.9.0
>  b72cb000-b72cc000 rw-p 00154000 08:01 1052555
>  /usr/lib/i386-linux-gnu/libxml2.so.2.9.0
>  b72cc000-b72cd000 rw-p 00000000 00:00 0
>  b72cd000-b72d0000 r-xp 00000000 08:01 1052095
>  /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0.3600.0
>  b72d0000-b72d1000 r--p 00002000 08:01 1052095
>  /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0.3600.0
>  b72d1000-b72d2000 rw-p 00003000 08:01 1052095
>  /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0.3600.0
>  b72d2000-b747f000 r-xp 00000000 08:01 2097991    /lib/i386-linux-gnu/
> libc-2.17.so
>  b747f000-b7481000 r--p 001ad000 08:01 2097991    /lib/i386-linux-gnu/
> libc-2.17.so
>  b7481000-b7482000 rw-p 001af000 08:01 2097991    /lib/i386-linux-gnu/
> libc-2.17.so
>  b7482000-b7485000 rw-p 00000000 00:00 0
>  b7485000-b749c000 r-xp 00000000 08:01 2098103    /lib/i386-linux-gnu/
> libpthread-2.17.so
>  b749c000-b749d000 r--p 00016000 08:01 2098103    /lib/i386-linux-gnu/
> libpthread-2.17.so
>  b749d000-b749e000 rw-p 00017000 08:01 2098103    /lib/i386-linux-gnu/
> libpthread-2.17.so
>  b749e000-b74a0000 rw-p 00000000 00:00 0
>  b74a0000-b759f000 r-xp 00000000 08:01 2098020
>  /lib/i386-linux-gnu/libglib-2.0.so.0.3600.0
>  b759f000-b75a0000 r--p 000fe000 08:01 2098020
>  /lib/i386-linux-gnu/libglib-2.0.so.0.3600.0
>  b75a0000-b75a1000 rw-p 000ff000 08:01 2098020
>  /lib/i386-linux-gnu/libglib-2.0.so.0.3600.0
>  b75a1000-b75a2000 rw-p 00000000 00:00 0
>  b75a2000-b75f0000 r-xp 00000000 08:01 1052107
>  /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.3600.0
>  b75f0000-b75f1000 r--p 0004d000 08:01 1052107
>  /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.3600.0
>  b75f1000-b75f2000 rw-p 0004e000 08:01 1052107
>  /usr/lib/i386-linux-gnu/libgobject-2.0.so.0.3600.0
>  b75f2000-b76d4000 r-xp 00000000 08:01 1052172
>  /usr/lib/i386-linux-gnu/libgstreamer-0.10.so.0.30.0
>  b76d4000-b76d7000 r--p 000e1000 08:01 1052172
>  /usr/lib/i386-linux-gnu/libgstreamer-0.10.so.0.30.0
>  b76d7000-b76d8000 rw-p 000e4000 08:01 1052172
>  /usr/lib/i386-linux-gnu/libgstreamer-0.10.so.0.30.0
>  b76d8000-b76d9000 rw-p 00000000 00:00 0
>  b76d9000-b76dc000 r-xp 00000000 08:01 2098022
>  /lib/i386-linux-gnu/libgpg-error.so.0.8.0
>  b76dc000-b76dd000 r--p 00002000 08:01 2098022
>  /lib/i386-linux-gnu/libgpg-error.so.0.8.0
>  b76dd000-b76de000 rw-p 00003000 08:01 2098022
>  /lib/i386-linux-gnu/libgpg-error.so.0.8.0
>  b76de000-b76e2000 r-xp 00000000 08:01 1052448
>  /usr/lib/i386-linux-gnu/libsoup-gnome-2.4.so.1.5.0
>  b76e2000-b76e3000 r--p 00003000 08:01 1052448
>  /usr/lib/i386-linux-gnu/libsoup-gnome-2.4.so.1.5.0
>  b76e3000-b76e4000 rw-p 00004000 08:01 1052448
>  /usr/lib/i386-linux-gnu/libsoup-gnome-2.4.so.1.5.0
>  b76e4000-b76f0000 r-xp 00000000 08:01 1052990
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstsouphttpsrc.so
>  b76f0000-b76f1000 r--p 0000b000 08:01 1052990
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstsouphttpsrc.so
>  b76f1000-b76f2000 rw-p 0000c000 08:01 1052990
>  /usr/lib/i386-linux-gnu/gstreamer-0.10/libgstsouphttpsrc.so
>  b76f2000-b76f3000 r--p 0043a000 08:01 1056866
>  /usr/lib/locale/locale-archive
>  b76f3000-b76f5000 rw-p 00000000 00:00 0
>  b76f5000-b76f6000 r-xp 00000000 00:00 0          [vdso]
>  b76f6000-b7716000 r-xp 00000000 08:01 2097965    /lib/i386-linux-gnu/
> ld-2.17.so
>  b7716000-b7717000 r--p 0001f000 08:01 2097965    /lib/i386-linux-gnu/
> ld-2.17.so
>  b7717000-b7718000 rw-p 00020000 08:01 2097965    /lib/i386-linux-gnu/
> ld-2.17.so
>  bfd7e000-bfd9f000 rw-p 00000000 00:00 0          [stack]
> ProcStatus:
>  Name: gst-launch-0.10
>  State: D (disk sleep)
>  Tgid: 11726
>  Pid: 11726
>  PPid: 11644
>  TracerPid: 0
>  Uid: 1000 1000 1000 1000
>  Gid: 1000 1000 1000 1000
>  FDSize: 256
>  Groups: 4 24 27 30 46 108 123 1000
>  VmPeak:   56128 kB
>  VmSize:   56128 kB
>  VmLck:       0 kB
>  VmPin:       0 kB
>  VmHWM:    8896 kB
>  VmRSS:    8896 kB
>  VmData:   37540 kB
>  VmStk:     136 kB
>  VmExe:      28 kB
>  VmLib:   15512 kB
>  VmPTE:      68 kB
>  VmSwap:       0 kB
>  Threads: 5
>  SigQ: 0/15894
>  SigPnd: 0000000000000000
>  ShdPnd: 0000000000000000
>  SigBlk: 0000000000000000
>  SigIgn: 0000000000001000
>  SigCgt: 0000000180010e06
>  CapInh: 0000000000000000
>  CapPrm: 0000000000000000
>  CapEff: 0000000000000000
>  CapBnd: 0000001fffffffff
>  Seccomp: 0
>  Cpus_allowed: ff
>  Cpus_allowed_list: 0-7
>  Mems_allowed: 1
>  Mems_allowed_list: 0
>  voluntary_ctxt_switches: 48
>  nonvoluntary_ctxt_switches: 17
> Registers:
>  eax            0x1 1
>  ecx            0x0 0
>  edx            0x0 0
>  ebx            0xb5129974 -1257072268
>  esp            0xb5c4e3e0 0xb5c4e3e0
>  ebp            0x0 0x0
>  esi            0x0 0
>  edi            0x77359400 2000000000
>  eip            0xb67e9c5e 0xb67e9c5e
> <x264_add8x8_idct8_avx.skip_prologue+36675>
>  eflags         0x210246 [ PF ZF IF RF ID ]
>  cs             0x73 115
>  ss             0x7b 123
>  ds             0x7b 123
>  es             0x7b 123
>  fs             0x0 0
>  gs             0x33 51
> Signal: 8
> SourcePackage: gstreamer0.10
> Stacktrace:
>  #0  0xb67e9c5e in x264_add8x8_idct8_avx.skip_prologue () from
> /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  No symbol table info available.
>  #1  0xb67b5151 in x264_encoder_open_123 () from
> /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  No symbol table info available.
>  #2  0xb6e49eca in gst_x264_enc_init_encoder (encoder=0x82ff2e0) at
> gstx264enc.c:1266
>          pass = <optimized out>
>  #3  gst_x264_enc_sink_set_caps (pad=0x82f4330, caps=0xb5134ae0) at
> gstx264enc.c:1671
>          encoder = 0x82ff2e0
>          format = GST_VIDEO_FORMAT_I420
>          width = 640
>          height = 480
>          fps_num = 0
>          fps_den = 1
>          par_num = 1
>          par_den = 1
>          i = <optimized out>
>          peer_caps = <optimized out>
>          template_caps = <optimized out>
>          allowed_caps = <optimized out>
>          level_ok = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_x264_enc_sink_set_caps"
>  #4  0xb7646181 in gst_pad_set_caps (pad=pad at entry=0x82f4330,
> caps=caps at entry=0xb5134ae0) at gstpad.c:2730
>          setcaps = 0xb6e49240 <gst_x264_enc_sink_set_caps>
>          existing = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_pad_set_caps"
>  #5  0xb760c59e in gst_pad_configure_sink (pad=0x82f4330, caps=0xb5134ae0)
> at gstpad.c:2790
>          res = <optimized out>
>  #6  0xb7647489 in gst_pad_chain_data_unchecked (pad=0x82f4330,
> is_buffer=1, data=0x81ccb60, cache=0xb5c4eb38) at gstpad.c:4247
>          _g_boolean_var_ = <optimized out>
>          caps = 0xb5134ae0
>          caps_changed = 1
>          ret = <optimized out>
>          emit_signal = <optimized out>
>  #7  0xb7647dda in gst_pad_push_data (pad=pad at entry=0x82f4268,
> is_buffer=is_buffer at entry=1, data=data at entry=0x81ccb60, cache=<optimized
> out>, cache at entry=0xb5c4eb38) at gstpad.c:4506
>          peer = 0x82f4330
>          ret = <optimized out>
>          caps = 0x1
>          caps_changed = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_pad_push_data"
>  #8  0xb764af7c in gst_pad_push (pad=0x82f4268, buffer=buffer at entry=0x81ccb60)
> at gstpad.c:4730
>          scache = {peer = 0x0, caps = 0x0}
>          cache = 0x81ccb60
>          ret = <optimized out>
>          cache_ptr = 0x82f432c
>          peer = <optimized out>
>          caps = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_pad_push"
>  #9  0xb69c90f6 in gst_jpeg_dec_chain (pad=pad at entry=0x82f41a0, buf=0x0,
> buf at entry=0xb5113f10) at gstjpegdec.c:1597
>          ret = <optimized out>
>          dec = 0x82f99b0
>          outbuf = 0x81ccb60
>          data = <optimized out>
>          outdata = 0xb528f008 "5432112255544", '3' <repeats 11 times>,
> "........-./00/.-,-./0//.--------...----,1.,+.02357;@GR^gw}\207\222\233\241\244\245\255\260\264\266\267\271\275\301\300\301\302\303\303\302\301\301\304\305\307\311\312\313\312\312",
> '\314' <repeats 12 times>,
> "\315\315\315\315\314\313\312\311\310\307\306ŷ\266\266\265\263\262\260\257\250\250\247\246\245\244\243\243\234\231\230\231\234\237\237\236\242\242\243\245\246\247\247\247\254\255\257\261\262\263\263\263\266\266\266\266\266\266\266\266\264\263\265\270\275\300\300\276\270\273\276\276\275\274\275\276"...
>          base = <optimized out>
>          img_len = <optimized out>
>          outsize = <optimized out>
>          width = 640
>          height = 480
>          r_h = 2
>          r_v = 1
>          code = <optimized out>
>          hdr_ok = <optimized out>
>          timestamp = 0
>          duration = 18446744073709551615
>          __FUNCTION__ = "gst_jpeg_dec_chain"
>  #10 0xb7647374 in gst_pad_chain_data_unchecked (pad=0x82f41a0,
> is_buffer=1, data=0xb5113f10, cache=0xb5c4f0b8) at gstpad.c:4271
>          chainfunc = 0xb69c65d0 <gst_jpeg_dec_chain>
>          caps = 0xb5101920
>          caps_changed = -1231264304
>          ret = <optimized out>
>          emit_signal = <optimized out>
>  #11 0xb7647dda in gst_pad_push_data (pad=pad at entry=0x83274b8,
> is_buffer=is_buffer at entry=1, data=data at entry=0xb5113f10, cache=<optimized
> out>, cache at entry=0xb5c4f0b8) at gstpad.c:4506
>          peer = 0x82f41a0
>          ret = <optimized out>
>          caps = 0x1
>          caps_changed = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_pad_push_data"
>  #12 0xb764af7c in gst_pad_push (pad=0x83274b8, buffer=buffer at entry=0xb5113f10)
> at gstpad.c:4730
>          scache = {peer = 0x82f41a0, caps = 0xb5101920}
>          cache = 0xb5113f10
>          ret = <optimized out>
>          cache_ptr = 0x832757c
>          peer = <optimized out>
>          caps = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_pad_push"
>  #13 0xb6e534be in gst_multipart_demux_chain (pad=0x82f40d8,
> buf=0xb5113eb0) at multipartdemux.c:615
>          outbuf = 0xb5113f10
>          created = <optimized out>
>          datalen = 32732
>          multipart = 0x82f5030
>          adapter = 0x82f5818
>          timestamp = 317031600
>          size = <optimized out>
>          res = GST_FLOW_OK
>          __FUNCTION__ = "gst_multipart_demux_chain"
>  #14 0xb764b0c8 in gst_pad_push (pad=pad at entry=0x82f4010,
> buffer=0xb5113eb0) at gstpad.c:4710
>          cache = 0xb5109b40
>          ret = <optimized out>
>          cache_ptr = 0x82f40d4
>          peer = 0x82f40d8
>          caps = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_pad_push"
>  #15 0xb6dd8fdb in gst_base_src_loop (pad=0x82f4010) at gstbasesrc.c:2559
>          src = <optimized out>
>          buf = 0xb5113eb0
>          ret = <optimized out>
>          position = <optimized out>
>          eos = 0
>          blocksize = <optimized out>
>          pending_events = <optimized out>
>          tmp = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_base_src_loop"
>  #16 0xb7674e10 in gst_task_func (task=task at entry=0x832d8e0) at
> gsttask.c:327
>          lock = 0x81bd718
>          tself = 0x831f030
>          priv = 0x832d930
>          __PRETTY_FUNCTION__ = "gst_task_func"
>  #17 0xb7675fb8 in default_func (tdata=0x8323bb8, pool=0x81c2808) at
> gsttaskpool.c:70
>          func = 0xb7674bb0 <gst_task_func>
>          user_data = 0x832d8e0
>  #18 0xb750e9d8 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #19 0xb750dfc3 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #20 0xb748bd78 in start_thread (arg=0xb5c4fb40) at pthread_create.c:311
>          __res = <optimized out>
>          pd = 0xb5c4fb40
>          now = <optimized out>
>          unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1219899392, 0,
> 4001536, -1245383576, -365239655, -223909732}, mask_was_saved = 0}}, priv =
> {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype
> = 0}}}
>          not_first_call = 0
>          pagesize_m1 = <optimized out>
>          sp = <optimized out>
>          freesize = <optimized out>
>          __PRETTY_FUNCTION__ = "start_thread"
>  #21 0xb73c33de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131
>  No locals.
> StacktraceAddressSignature:
> /usr/bin/gst-launch-0.10:8:i686:/usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123+111c5e:/usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123+dd151:/usr/lib/i386-linux-gnu/gstreamer-0.10/libgstx264.so+4eca:/usr/lib/i386-linux-gnu/libgstreamer-0.10.so.0.30.0+54181:/usr/lib/i386-linux-gnu/libgstreamer-0.10.so.0.30.0+1a59e:/usr/lib/i386-linux-gnu/libgstreamer-0.10.so.0.30.0+55489:/usr/lib/i386-linux-gnu/libgstreamer-0.10.so.0.30.0+55dda:/usr/lib/i386-linux-gnu/libgstreamer-0.10.so.0.30.0+58f7c:/usr/lib/i386-linux-gnu/gstreamer-0.10/libgstjpeg.so+90f6:/usr/lib/i386-linux-gnu/libgstreamer-0.10.so.0.30.0+55374:/usr/lib/i386-linux-gnu/libgstreamer-0.10.so.0.30.0+55dda:/usr/lib/i386-linux-gnu/libgstreamer-0.10.so.0.30.0+58f7c:/usr/lib/i386-linux-gnu/gstreamer-0.10/libgstmultipart.so+24be:/usr/lib/i386-linux-gnu/libgstreamer-0.10.so.0.30.0+590c8:/usr/lib/i386-linux-gnu/libgstbase-0.10.so.0.30.0+30fdb
> StacktraceSource:
>  #0  0xb67e9c5e in x264_add8x8_idct8_avx.skip_prologue () from
> /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  #1  0xb67b5151 in x264_encoder_open_123 () from
> /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  #2  0xb6e49eca in gst_x264_enc_init_encoder (encoder=0x82ff2e0) at
> gstx264enc.c:1266
>    [Error: gstx264enc.c was not found in source tree]
>  #3  gst_x264_enc_sink_set_caps (pad=0x82f4330, caps=0xb5134ae0) at
> gstx264enc.c:1671
>    [Error: gstx264enc.c was not found in source tree]
>  #4  0xb7646181 in gst_pad_set_caps (pad=pad at entry=0x82f4330,
> caps=caps at entry=0xb5134ae0) at gstpad.c:2730
>    2725:    * caps is not NULL */
>    2726:   if (setcaps != NULL && caps) {
>    2727:     if (!GST_PAD_IS_IN_SETCAPS (pad)) {
>    2728:       GST_OBJECT_FLAG_SET (pad, GST_PAD_IN_SETCAPS);
>    2729:       GST_OBJECT_UNLOCK (pad);
>    2730:       if (!setcaps (pad, caps))
>    2731:         goto could_not_set;
>    2732:       GST_OBJECT_LOCK (pad);
>    2733:       GST_OBJECT_FLAG_UNSET (pad, GST_PAD_IN_SETCAPS);
>    2734:     } else {
>    2735:       GST_CAT_DEBUG_OBJECT (GST_CAT_CAPS, pad, "pad was
> dispatching");
>  #5  0xb760c59e in gst_pad_configure_sink (pad=0x82f4330, caps=0xb5134ae0)
> at gstpad.c:2790
>    2785:   /* See if pad accepts the caps */
>    2786:   if (!gst_caps_can_intersect (caps,
> gst_pad_get_pad_template_caps (pad)))
>    2787:     goto not_accepted;
>    2788:
>    2789:   /* set caps on pad if call succeeds */
>    2790:   res = gst_pad_set_caps (pad, caps);
>    2791:   /* no need to unref the caps here, set_caps takes a ref and
>    2792:    * our ref goes away when we leave this function. */
>    2793:
>    2794:   return res;
>    2795:
>  #6  0xb7647489 in gst_pad_chain_data_unchecked (pad=0x82f4330,
> is_buffer=1, data=0x81ccb60, cache=0xb5c4eb38) at gstpad.c:4247
>    4242:   }
>    4243:
>    4244:   /* we got a new datatype on the pad, see if it can handle it */
>    4245:   if (G_UNLIKELY (caps_changed)) {
>    4246:     GST_DEBUG_OBJECT (pad, "caps changed to %p %" GST_PTR_FORMAT,
> caps, caps);
>    4247:     if (G_UNLIKELY (!gst_pad_configure_sink (pad, caps)))
>    4248:       goto not_negotiated;
>    4249:   }
>    4250:
>    4251:   /* NOTE: we read the chainfunc unlocked.
>    4252:    * we cannot hold the lock for the pad so we might send
>  #7  0xb7647dda in gst_pad_push_data (pad=pad at entry=0x82f4268,
> is_buffer=is_buffer at entry=1, data=data at entry=0x81ccb60, cache=<optimized
> out>, cache at entry=0xb5c4eb38) at gstpad.c:4506
>    4501:
>    4502:   /* take ref to peer pad before releasing the lock */
>    4503:   gst_object_ref (peer);
>    4504:   GST_OBJECT_UNLOCK (pad);
>    4505:
>    4506:   ret = gst_pad_chain_data_unchecked (peer, is_buffer, data,
> cache);
>    4507:
>    4508:   gst_object_unref (peer);
>    4509:
>    4510:   return ret;
>    4511:
>  #8  0xb764af7c in gst_pad_push (pad=0x82f4268, buffer=buffer at entry=0x81ccb60)
> at gstpad.c:4730
>    4725:   {
>    4726:     GstPadPushCache scache = { NULL, };
>    4727:
>    4728:     GST_LOG_OBJECT (pad, "Taking slow path");
>    4729:
>    4730:     ret = gst_pad_push_data (pad, TRUE, buffer, &scache);
>    4731:
>    4732:     if (scache.peer) {
>    4733:       GstPadPushCache *ncache;
>    4734:
>    4735:       GST_LOG_OBJECT (pad, "Caching push data");
>  #9  0xb69c90f6 in gst_jpeg_dec_chain (pad=pad at entry=0x82f41a0, buf=0x0,
> buf at entry=0xb5113f10) at gstjpegdec.c:1597
>    [Error: gstjpegdec.c was not found in source tree]
>  #10 0xb7647374 in gst_pad_chain_data_unchecked (pad=0x82f41a0,
> is_buffer=1, data=0xb5113f10, cache=0xb5c4f0b8) at gstpad.c:4271
>    4266:     if (cache) {
>    4267:       cache->peer = gst_object_ref (pad);
>    4268:       cache->caps = caps ? gst_caps_ref (caps) : NULL;
>    4269:     }
>    4270:
>    4271:     ret = chainfunc (pad, GST_BUFFER_CAST (data));
>    4272:
>    4273:     GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
>    4274:         "called chainfunction &%s with buffer %p, returned %s",
>    4275:         GST_DEBUG_FUNCPTR_NAME (chainfunc), data,
> gst_flow_get_name (ret));
>    4276:   } else {
>  #11 0xb7647dda in gst_pad_push_data (pad=pad at entry=0x83274b8,
> is_buffer=is_buffer at entry=1, data=data at entry=0xb5113f10, cache=<optimized
> out>, cache at entry=0xb5c4f0b8) at gstpad.c:4506
>    4501:
>    4502:   /* take ref to peer pad before releasing the lock */
>    4503:   gst_object_ref (peer);
>    4504:   GST_OBJECT_UNLOCK (pad);
>    4505:
>    4506:   ret = gst_pad_chain_data_unchecked (peer, is_buffer, data,
> cache);
>    4507:
>    4508:   gst_object_unref (peer);
>    4509:
>    4510:   return ret;
>    4511:
>  #12 0xb764af7c in gst_pad_push (pad=0x83274b8, buffer=buffer at entry=0xb5113f10)
> at gstpad.c:4730
>    4725:   {
>    4726:     GstPadPushCache scache = { NULL, };
>    4727:
>    4728:     GST_LOG_OBJECT (pad, "Taking slow path");
>    4729:
>    4730:     ret = gst_pad_push_data (pad, TRUE, buffer, &scache);
>    4731:
>    4732:     if (scache.peer) {
>    4733:       GstPadPushCache *ncache;
>    4734:
>    4735:       GST_LOG_OBJECT (pad, "Caching push data");
>  #13 0xb6e534be in gst_multipart_demux_chain (pad=0x82f40d8,
> buf=0xb5113eb0) at multipartdemux.c:615
>    [Error: multipartdemux.c was not found in source tree]
>  #14 0xb764b0c8 in gst_pad_push (pad=pad at entry=0x82f4010,
> buffer=0xb5113eb0) at gstpad.c:4710
>    4705:
>    4706:   GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
>    4707:       "calling chainfunction &%s with buffer %" GST_PTR_FORMAT,
>    4708:       GST_DEBUG_FUNCPTR_NAME (GST_PAD_CHAINFUNC (peer)), buffer);
>    4709:
>    4710:   ret = GST_PAD_CHAINFUNC (peer) (peer, buffer);
>    4711:
>    4712:   GST_CAT_LOG_OBJECT (GST_CAT_SCHEDULING, pad,
>    4713:       "called chainfunction &%s with buffer %p, returned %s",
>    4714:       GST_DEBUG_FUNCPTR_NAME (GST_PAD_CHAINFUNC (peer)), buffer,
>    4715:       gst_flow_get_name (ret));
>  #15 0xb6dd8fdb in gst_base_src_loop (pad=0x82f4010) at gstbasesrc.c:2559
>    2554:     GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DISCONT);
>    2555:     src->priv->discont = FALSE;
>    2556:   }
>    2557:   GST_LIVE_UNLOCK (src);
>    2558:
>    2559:   ret = gst_pad_push (pad, buf);
>    2560:   if (G_UNLIKELY (ret != GST_FLOW_OK)) {
>    2561:     GST_INFO_OBJECT (src, "pausing after gst_pad_push() = %s",
>    2562:         gst_flow_get_name (ret));
>    2563:     goto pause;
>    2564:   }
>  #16 0xb7674e10 in gst_task_func (task=task at entry=0x832d8e0) at
> gsttask.c:327
>    322:         }
>    323:       }
>    324:       GST_OBJECT_UNLOCK (task);
>    325:     }
>    326:
>    327:     task->func (task->data);
>    328:   }
>    329: done:
>    330:   g_static_rec_mutex_unlock (lock);
>    331:
>    332:   GST_OBJECT_LOCK (task);
>  #17 0xb7675fb8 in default_func (tdata=0x8323bb8, pool=0x81c2808) at
> gsttaskpool.c:70
>    65:
>    66:   func = tdata->func;
>    67:   user_data = tdata->user_data;
>    68:   g_slice_free (TaskData, tdata);
>    69:
>    70:   func (user_data);
>    71: }
>    72:
>    73: static void
>    74: default_prepare (GstTaskPool * pool, GError ** error)
>    75: {
>  #18 0xb750e9d8 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  #19 0xb750dfc3 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  #20 0xb748bd78 in start_thread (arg=0xb5c4fb40) at pthread_create.c:311
>    [Error: pthread_create.c was not found in source tree]
>  #21 0xb73c33de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131
>    [Error: ../sysdeps/unix/sysv/linux/i386/clone.S was not found in source
> tree]
>
> StacktraceTop:
>  x264_add8x8_idct8_avx.skip_prologue () from
> /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  x264_encoder_open_123 () from
> /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  gst_x264_enc_init_encoder (encoder=0x82ff2e0) at gstx264enc.c:1266
>  gst_x264_enc_sink_set_caps (pad=0x82f4330, caps=0xb5134ae0) at
> gstx264enc.c:1671
>  gst_pad_set_caps (pad=pad at entry=0x82f4330, caps=caps at entry=0xb5134ae0)
> at gstpad.c:2730
> ThreadStacktrace:
>  .
>  Thread 5 (Thread 0xb6472b40 (LWP 11727)):
>  #0  0xb76f5424 in __kernel_vsyscall ()
>  No symbol table info available.
>  #1  0xb73b3dcb in poll () at ../sysdeps/unix/syscall-template.S:81
>  No locals.
>  #2  0xb74f72db in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #3  0xb74e86d0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #4  0xb74e8831 in g_main_context_iteration () from
> /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #5  0xb69b9e80 in ?? () from
> /usr/lib/i386-linux-gnu/gio/modules/libdconfsettings.so
>  No symbol table info available.
>  #6  0xb750dfc3 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #7  0xb748bd78 in start_thread (arg=0xb6472b40) at pthread_create.c:311
>          __res = <optimized out>
>          pd = 0xb6472b40
>          now = <optimized out>
>          unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1219899392, 0,
> 4001536, -1236851608, -308616546, -223909732}, mask_was_saved = 0}}, priv =
> {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype
> = 0}}}
>          not_first_call = 0
>          pagesize_m1 = <optimized out>
>          sp = <optimized out>
>          freesize = <optimized out>
>          __PRETTY_FUNCTION__ = "start_thread"
>  #8  0xb73c33de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131
>  No locals.
>  .
>  Thread 4 (Thread 0xb709a6c0 (LWP 11726)):
>  #0  0xb76f5424 in __kernel_vsyscall ()
>  No symbol table info available.
>  #1  0xb73b3dcb in poll () at ../sysdeps/unix/syscall-template.S:81
>  No locals.
>  #2  0xb74f72db in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #3  0xb74e86d0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #4  0xb74e8c2b in g_main_loop_run () from
> /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #5  0xb761dcec in gst_bus_poll (bus=bus at entry=0x81cc5a0,
> events=events at entry=GST_MESSAGE_ANY, timeout=-1) at gstbus.c:1078
>          poll_data = 0x8335b78
>          ret = <optimized out>
>          id = 40
>          __PRETTY_FUNCTION__ = "gst_bus_poll"
>  #6  0x0804c8e6 in event_loop (pipeline=0x8320120, blocking=blocking at entry=1,
> target_state=target_state at entry=GST_STATE_PLAYING) at gst-launch.c:623
>          timeout_id = 32
>          bus = 0x81cc5a0
>          message = <optimized out>
>          res = ELR_NO_ERROR
>          buffering = 0
>  #7  0x0804afdc in main (argc=19, argv=0xbfd9c3c4) at gst-launch.c:1157
>          tfthen = 225379406424900
>          tfnow = <optimized out>
>          diff = <optimized out>
>          state = GST_STATE_VOID_PENDING
>          pending = 3074953216
>          ret = <optimized out>
>          bus = 0x81cc5a0
>          verbose = 1
>          no_fault = 0
>          no_sigusr_handler = 0
>          trace = 0
>          eos_on_shutdown = 1
>          check_index = 0
>          savefile = 0x0
>          exclude_args = 0x0
>          options = {{long_name = 0x804dc18 "tags", short_name = 116 't',
> flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x8050214 <tags>,
> description = 0x804e14c "Output tags (also known as metadata)",
> arg_description = 0x0}, {long_name = 0x804dc1d "verbose", short_name = 118
> 'v', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0xbfd9bfd0, description
> = 0x804e174 "Output status information and property notifications",
> arg_description = 0x0}, {long_name = 0x804dc25 "quiet", short_name = 113
> 'q', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x8050218 <quiet>,
> description = 0x804e1ac "Do not print any progress information",
> arg_description = 0x0}, {long_name = 0x804dc32 "messages", short_name = 109
> 'm', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x805021c <messages>,
> description = 0x804dc2b "Output messages", arg_description = 0x0},
> {long_name = 0x804dc3b "exclude", short_name = 88 'X', flags = 0, arg =
> G_OPTION_ARG_NONE, arg_data = 0xbfd9bfec, description = 0x804e1d4 "Do not
> output status information of TYPE", arg_description = 0x804dc43
> "TYPE1,TYPE2,..."}, {long_name = 0x804dc53 "output", short_name = 111 'o',
> flags = 0, arg = G_OPTION_ARG_STRING, arg_data = 0xbfd9bfe8, description =
> 0x804e200 "Save xml representation of pipeline to FILE and exit",
> arg_description = 0x804dc5a "FILE"}, {long_name = 0x804dc5f "no-fault",
> short_name = 102 'f', flags = 0, arg = G_OPTION_ARG_NONE, arg_data =
> 0xbfd9bfd4, description = 0x804e238 "Do not install a fault handler",
> arg_description = 0x0}, {long_name = 0x804dc68 "no-sigusr-handler",
> short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data =
> 0xbfd9bfd8, description = 0x804e258 "Do not install signal handlers for
> SIGUSR1 and SIGUSR2", arg_description = 0x0}, {long_name = 0x804dc7a
> "trace", short_name = 84 'T', flags = 0, arg = G_OPTION_ARG_NONE, arg_data
> = 0xbfd9bfdc, description = 0x804e290 "Print alloc trace (if enabled at
> compile time)", arg_description = 0x0}, {long_name = 0x804dc80
> "eos-on-shutdown", short_name = 101 'e', flags = 0, arg =
> G_OPTION_ARG_NONE, arg_data = 0xbfd9bfe0, description = 0x804e2c0 "Force
> EOS on sources before shutting the pipeline down", arg_description = 0x0},
> {long_name = 0x804dc90 "index", short_name = 105 'i', flags = 0, arg =
> G_OPTION_ARG_NONE, arg_data = 0xbfd9bfe4, description = 0x804e2f8 "Gather
> and print index statistics", arg_description = 0x0}, {long_name = 0x804dc96
> "version", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE,
> arg_data = 0x8050220 <__gst_tools_version>, description = 0x804e31c "Print
> version information and exit", arg_description = 0x0}, {long_name = 0x0,
> short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x0,
> description = 0x0, arg_description = 0x0}}
>          ctx = <optimized out>
>          err = 0x0
>          index = <optimized out>
>          index_stats = 0x0
>          argvn = 0x82eb1e0
>          error = 0x0
>          res = 0
>  .
>  Thread 3 (Thread 0xb48feb40 (LWP 11731)):
>  #0  0xb76f5424 in __kernel_vsyscall ()
>  No symbol table info available.
>  #1  0xb73b3dcb in poll () at ../sysdeps/unix/syscall-template.S:81
>  No locals.
>  #2  0xb74f72db in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #3  0xb74e86d0 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #4  0xb74e8831 in g_main_context_iteration () from
> /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #5  0xb74e88be in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #6  0xb750dfc3 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #7  0xb748bd78 in start_thread (arg=0xb48feb40) at pthread_create.c:311
>          __res = <optimized out>
>          pd = 0xb48feb40
>          now = <optimized out>
>          unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1219899392, 0,
> 4001536, -1265638296, 2082136731, -223909732}, mask_was_saved = 0}}, priv
> = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
> canceltype = 0}}}
>          not_first_call = 0
>          pagesize_m1 = <optimized out>
>          sp = <optimized out>
>          freesize = <optimized out>
>          __PRETTY_FUNCTION__ = "start_thread"
>  #8  0xb73c33de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131
>  No locals.
>  .
>  Thread 2 (Thread 0xb50ffb40 (LWP 11730)):
>  #0  0xb76f5424 in __kernel_vsyscall ()
>  No symbol table info available.
>  #1  0xb748fc33 in pthread_cond_timedwait@@GLIBC_2.3.2 () at
> ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:250
>  No locals.
>  #2  0xb752c260 in g_cond_wait_until () from
> /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #3  0xb74ba929 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #4  0xb750e8bf in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #5  0xb750dfc3 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #6  0xb748bd78 in start_thread (arg=0xb50ffb40) at pthread_create.c:311
>          __res = <optimized out>
>          pd = 0xb50ffb40
>          now = <optimized out>
>          unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1219899392, 0,
> 4001536, -1257245592, 2084233880, -223909732}, mask_was_saved = 0}}, priv
> = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
> canceltype = 0}}}
>          not_first_call = 0
>          pagesize_m1 = <optimized out>
>          sp = <optimized out>
>          freesize = <optimized out>
>          __PRETTY_FUNCTION__ = "start_thread"
>  #7  0xb73c33de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131
>  No locals.
>  .
>  Thread 1 (Thread 0xb5c4fb40 (LWP 11728)):
>  #0  0xb67e9c5e in x264_add8x8_idct8_avx.skip_prologue () from
> /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  No symbol table info available.
>  #1  0xb67b5151 in x264_encoder_open_123 () from
> /usr/lib/i386-linux-gnu/i686/sse2/libx264.so.123
>  No symbol table info available.
>  #2  0xb6e49eca in gst_x264_enc_init_encoder (encoder=0x82ff2e0) at
> gstx264enc.c:1266
>          pass = <optimized out>
>  #3  gst_x264_enc_sink_set_caps (pad=0x82f4330, caps=0xb5134ae0) at
> gstx264enc.c:1671
>          encoder = 0x82ff2e0
>          format = GST_VIDEO_FORMAT_I420
>          width = 640
>          height = 480
>          fps_num = 0
>          fps_den = 1
>          par_num = 1
>          par_den = 1
>          i = <optimized out>
>          peer_caps = <optimized out>
>          template_caps = <optimized out>
>          allowed_caps = <optimized out>
>          level_ok = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_x264_enc_sink_set_caps"
>  #4  0xb7646181 in gst_pad_set_caps (pad=pad at entry=0x82f4330,
> caps=caps at entry=0xb5134ae0) at gstpad.c:2730
>          setcaps = 0xb6e49240 <gst_x264_enc_sink_set_caps>
>          existing = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_pad_set_caps"
>  #5  0xb760c59e in gst_pad_configure_sink (pad=0x82f4330, caps=0xb5134ae0)
> at gstpad.c:2790
>          res = <optimized out>
>  #6  0xb7647489 in gst_pad_chain_data_unchecked (pad=0x82f4330,
> is_buffer=1, data=0x81ccb60, cache=0xb5c4eb38) at gstpad.c:4247
>          _g_boolean_var_ = <optimized out>
>          caps = 0xb5134ae0
>          caps_changed = 1
>          ret = <optimized out>
>          emit_signal = <optimized out>
>  #7  0xb7647dda in gst_pad_push_data (pad=pad at entry=0x82f4268,
> is_buffer=is_buffer at entry=1, data=data at entry=0x81ccb60, cache=<optimized
> out>, cache at entry=0xb5c4eb38) at gstpad.c:4506
>          peer = 0x82f4330
>          ret = <optimized out>
>          caps = 0x1
>          caps_changed = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_pad_push_data"
>  #8  0xb764af7c in gst_pad_push (pad=0x82f4268, buffer=buffer at entry=0x81ccb60)
> at gstpad.c:4730
>          scache = {peer = 0x0, caps = 0x0}
>          cache = 0x81ccb60
>          ret = <optimized out>
>          cache_ptr = 0x82f432c
>          peer = <optimized out>
>          caps = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_pad_push"
>  #9  0xb69c90f6 in gst_jpeg_dec_chain (pad=pad at entry=0x82f41a0, buf=0x0,
> buf at entry=0xb5113f10) at gstjpegdec.c:1597
>          ret = <optimized out>
>          dec = 0x82f99b0
>          outbuf = 0x81ccb60
>          data = <optimized out>
>          outdata = 0xb528f008 "5432112255544", '3' <repeats 11 times>,
> "........-./00/.-,-./0//.--------...----,1.,+.02357;@GR^gw}\207\222\233\241\244\245\255\260\264\266\267\271\275\301\300\301\302\303\303\302\301\301\304\305\307\311\312\313\312\312",
> '\314' <repeats 12 times>,
> "\315\315\315\315\314\313\312\311\310\307\306ŷ\266\266\265\263\262\260\257\250\250\247\246\245\244\243\243\234\231\230\231\234\237\237\236\242\242\243\245\246\247\247\247\254\255\257\261\262\263\263\263\266\266\266\266\266\266\266\266\264\263\265\270\275\300\300\276\270\273\276\276\275\274\275\276"...
>          base = <optimized out>
>          img_len = <optimized out>
>          outsize = <optimized out>
>          width = 640
>          height = 480
>          r_h = 2
>          r_v = 1
>          code = <optimized out>
>          hdr_ok = <optimized out>
>          timestamp = 0
>          duration = 18446744073709551615
>          __FUNCTION__ = "gst_jpeg_dec_chain"
>  #10 0xb7647374 in gst_pad_chain_data_unchecked (pad=0x82f41a0,
> is_buffer=1, data=0xb5113f10, cache=0xb5c4f0b8) at gstpad.c:4271
>          chainfunc = 0xb69c65d0 <gst_jpeg_dec_chain>
>          caps = 0xb5101920
>          caps_changed = -1231264304
>          ret = <optimized out>
>          emit_signal = <optimized out>
>  #11 0xb7647dda in gst_pad_push_data (pad=pad at entry=0x83274b8,
> is_buffer=is_buffer at entry=1, data=data at entry=0xb5113f10, cache=<optimized
> out>, cache at entry=0xb5c4f0b8) at gstpad.c:4506
>          peer = 0x82f41a0
>          ret = <optimized out>
>          caps = 0x1
>          caps_changed = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_pad_push_data"
>  #12 0xb764af7c in gst_pad_push (pad=0x83274b8, buffer=buffer at entry=0xb5113f10)
> at gstpad.c:4730
>          scache = {peer = 0x82f41a0, caps = 0xb5101920}
>          cache = 0xb5113f10
>          ret = <optimized out>
>          cache_ptr = 0x832757c
>          peer = <optimized out>
>          caps = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_pad_push"
>  #13 0xb6e534be in gst_multipart_demux_chain (pad=0x82f40d8,
> buf=0xb5113eb0) at multipartdemux.c:615
>          outbuf = 0xb5113f10
>          created = <optimized out>
>          datalen = 32732
>          multipart = 0x82f5030
>          adapter = 0x82f5818
>          timestamp = 317031600
>          size = <optimized out>
>          res = GST_FLOW_OK
>          __FUNCTION__ = "gst_multipart_demux_chain"
>  #14 0xb764b0c8 in gst_pad_push (pad=pad at entry=0x82f4010,
> buffer=0xb5113eb0) at gstpad.c:4710
>          cache = 0xb5109b40
>          ret = <optimized out>
>          cache_ptr = 0x82f40d4
>          peer = 0x82f40d8
>          caps = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_pad_push"
>  #15 0xb6dd8fdb in gst_base_src_loop (pad=0x82f4010) at gstbasesrc.c:2559
>          src = <optimized out>
>          buf = 0xb5113eb0
>          ret = <optimized out>
>          position = <optimized out>
>          eos = 0
>          blocksize = <optimized out>
>          pending_events = <optimized out>
>          tmp = <optimized out>
>          __PRETTY_FUNCTION__ = "gst_base_src_loop"
>  #16 0xb7674e10 in gst_task_func (task=task at entry=0x832d8e0) at
> gsttask.c:327
>          lock = 0x81bd718
>          tself = 0x831f030
>          priv = 0x832d930
>          __PRETTY_FUNCTION__ = "gst_task_func"
>  #17 0xb7675fb8 in default_func (tdata=0x8323bb8, pool=0x81c2808) at
> gsttaskpool.c:70
>          func = 0xb7674bb0 <gst_task_func>
>          user_data = 0x832d8e0
>  #18 0xb750e9d8 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #19 0xb750dfc3 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
>  No symbol table info available.
>  #20 0xb748bd78 in start_thread (arg=0xb5c4fb40) at pthread_create.c:311
>          __res = <optimized out>
>          pd = 0xb5c4fb40
>          now = <optimized out>
>          unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1219899392, 0,
> 4001536, -1245383576, -365239655, -223909732}, mask_was_saved = 0}}, priv =
> {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype
> = 0}}}
>          not_first_call = 0
>          pagesize_m1 = <optimized out>
>          sp = <optimized out>
>          freesize = <optimized out>
>          __PRETTY_FUNCTION__ = "start_thread"
>  #21 0xb73c33de in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:131
>  No locals.
> Uname: Linux 3.8.0-19-generic i686
> UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
> CoreDump: base64
> ...
>
>
>
> On Tue, Apr 23, 2013 at 10:37 AM, Thiago Sousa Santos <
> thiago.sousa.santos at collabora.com> wrote:
>
>> On Mon, 2013-04-22 at 15:30 -0700, k l wrote:
>> > Hi Thiago,
>> >
>> >
>> > Thanks for the reply. I'm not sure why your pipeline would work, but
>> > it gave me an error. I'm using gst-launch-0.10 version 0.10.31. I
>> > tried this on Windows and Linux, but neither of them worked.
>> >
>> >
>> > >> gst-launch.exe -vvv -e videotestsrc ! mp4mux ! filesink
>> > 0:00:00.631905000  8912   00540540 ERROR           GST_PIPELINE
>> > grammar.tab.c:713:gst_parse_perform_link: could not link videotestsrc0
>> > to mp4mux0
>> > WARNING: erroneous pipeline: could not link videotestsrc0 to mp4mux0
>>
>> It also works here with 0.10. Try replacing mp4mux with qtmux (they are
>> nearly the same element) as qtmux accepts raw video input.
>>
>> Now that you mentioned that you're working on windows, it might be
>> possible that the interrupt handling in gst-launch doesn't work in
>> windows yet. You can fix that if you want and contribute the patch
>> upstream, this would be very nice. gstreamer-launch.c is at
>> gstreamer/tools/ at the core module.
>>
>> In your application you can send the EOS to the pipeline when you want
>> to interrupt the streaming and wait for the EOS message on the bus to
>> set the pipeline to NULL and it should work.
>> >
>> --
>> Thiago
>>
>> >
>> >
>> >
>> > On Mon, Apr 22, 2013 at 9:22 AM, Thiago Sousa Santos
>> > <thiago.sousa.santos at collabora.com> wrote:
>> >         On Sun, 2013-04-21 at 14:44 -0700, k l wrote:
>> >         > I have a pipeline that streams a webcam to an mp4 sink. I
>> >         have the
>> >         > pipeline as the following:
>> >         >
>> >         >
>> >         > gst-launch -v --eos-on-shutdown souphttpsrc
>> >         > location="http://192.168.0.20:81/video.cgi"
>> >         do-timestamp=true
>> >         > is_live=true timeout=5 ! multipartdemux ! jpegdec !
>> >         x264enc ! mp4mux
>> >         > faststart=true ! filesink location="hi.mp4"
>> >         >
>> >         >
>> >         >
>> >         > This would just stuck without producing any content. I
>> >         debugged with
>> >         > fakesink, the below is the output [1].
>> >         >
>> >         >
>> >         > If I removed the faststart flag, it did produce a mp4 with
>> >         contents.
>> >         > But it's not playable, due to the reason that (I think) the
>> >         metadata
>> >         > was not written to the end of the file with me shutting the
>> >         pipeline
>> >         > down with ctrl-c. Here's a comparison at the end of the file
>> >         it
>> >         > produced, with one that's from a valid mp4 file[2].
>> >         >
>> >         >
>> >         > I could use a non-faststart mp4mux. But I don't know how to
>> >         shutdown
>> >         > the pipeline gracefully in gst-launch so that the metadata
>> >         is written
>> >         > to the end of the file. I've tried starting gst-launch with
>> >         -e option
>> >         > but no difference.
>> >         >
>> >
>> >
>> >         It works here for me with a simpler pipeline.
>> >         videotestsrc ! mp4mux ! filesink
>> >
>> >         Both with and without the faststart option. For mp4mux to
>> >         finish the
>> >         file correctly (in both modes) it must receive the EOS event
>> >         to know
>> >         that it can write the headers.
>> >
>> >         You should check that the EOS event is being pushed to the
>> >         pipeline and
>> >         that it reaches mp4mux. gst-launch will print some text about
>> >         pushing
>> >         EOS once you press ctrl-c. When that happens, be sure to wait
>> >         and not
>> >         press ctrl-c again, that will abort gst-launch without
>> >         properly waiting
>> >         for EOS.
>> >
>> >         --
>> >         Thiago
>> >
>> >         >
>> >         > Please help. Let me know if I need to further clarify my
>> >         question.
>> >         >
>> >         >
>> >         > K.
>> >         >
>> >         >
>> >         >
>> >         >
>> >         >
>> >         >
>> >         >
>> >         >
>> >         > [1] fakesink's output with "faststart" option on
>> >         >
>> >         >
>> >         > Setting pipeline to PAUSED ...
>> >         > Pipeline is live and does not need PREROLL ...
>> >         > Setting pipeline to PLAYING ...
>> >         > New clock: GstSystemClock
>> >         > /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:sink: caps
>> >         =
>> >         > image/jpeg
>> >         > /GstPipeline:pipeline0/GstJpegDec:jpegdec0.GstPad:src: caps
>> >         =
>> >         > video/x-raw-yuv, format=(fourcc)I420, width=(int)640,
>> >         height=(int)480,
>> >         > framerate=(fraction)0/1
>> >         > /GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:src: caps
>> >         =
>> >         > video/x-h264, width=(int)640, height=(int)480,
>> >         > framerate=(fraction)0/1, pixel-aspect-ratio=(fracti
>> >         > on)1/1,
>> >         >
>> >
>> codec_data=(buffer)014d4016ffe10016674d4016dc0a03db0110000003001773594000f162f801000468eb8cb2,
>> stream-format=(string)avc, alignment=(string)au
>> >         > /GstPipeline:pipeline0/GstX264Enc:x264enc0.GstPad:sink: caps
>> >         =
>> >         > video/x-raw-yuv, format=(fourcc)I420, width=(int)640,
>> >         height=(int)480,
>> >         > framerate=(fraction)0/1
>> >         > /GstPipeline:pipeline0/GstMP4Mux:mp4mux0.GstPad:video_00:
>> >         caps =
>> >         > video/x-h264, width=(int)640, height=(int)480,
>> >         > framerate=(fraction)0/1, pixel-aspect-ratio=(fra
>> >         > ction)1/1,
>> >         >
>> >
>> codec_data=(buffer)014d4016ffe10016674d4016dc0a03db0110000003001773594000f162f801000468eb8cb2,
>> stream-format=(string)avc, alignment=(string)au
>> >         > /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink:
>> >         caps =
>> >         > video/quicktime, variant=(string)iso
>> >         > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message =
>> >         "preroll
>> >         > ******* "
>> >         > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message =
>> >         "event
>> >         > ******* E (type: 118, taglist,
>> >         container-format=(string)Multipart;)
>> >         > 025356A8"
>> >         > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message =
>> >         "event
>> >         > ******* E (type: 102, GstEventNewsegment,
>> >         update=(boolean)false,
>> >         > rate=(double)1, applied-r
>> >         > ate=(double)1, format=(GstFormat)GST_FORMAT_BYTES,
>> >         start=(gint64)0,
>> >         > stop=(gint64)-1, position=(gint64)0;) 0252CB00"
>> >         > /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message =
>> >         "chain
>> >         > ******* < (    0 bytes, timestamp: none, duration: none,
>> >         offset: -1,
>> >         > offset_end: -1, flags
>> >         > : 0) 025374D8"
>> >         >
>> >         >
>> >         > [2] Comparison at the end of the produced mp4 file
>> >         >
>> >         >
>> >         > -------------
>> >         > Produced without mp4mux's faststart option:
>> >         > -------------
>> >         > (...more data)
>> >         > 03d1c30: 977d c867 8550 59c7 1a7b 0732 876e 77e4
>> >          .}.g.PY..{.2.nw.
>> >         > 03d1c40: e787 e43a 73cf 2b59 be3f 4208 9b67 6073
>> >          ...:s.+Y.?B..g`s
>> >         > 03d1c50: e04f 5d4c 601f 0967 0cc4 70fa e3d3 302d
>> >          .O]L`..g..p...0-
>> >         > 03d1c60: d3e7 eb90 f27c c784 c979 4979 5ca4 ba78
>> >          .....|...yIy\..x
>> >         > 03d1c70: a9b8 5f36 e748 4a50 7cf6 32b0 a5e9 fed3
>> >          .._6.HJP|.2.....
>> >         > 03d1c80: df77 dc95 b558 9c4c c9c5 c67c efda cc0f
>> >          .w...X.L...|....
>> >         > 03d1c90: 5b09 38a5 f83e 35e0 c719 a1e3 c469 0393
>> >          [.8..>5......i..
>> >         > 03d1ca0: 869b e78c 35eb 4488 348e 2348 4bfb 6b11
>> >          ....5.D.4.#HK.k.
>> >         > 03d1cb0: ba7b 3188 762e e2d1 c93b e73f e9a4 27b3
>> >          .{1.v....;.?..'.
>> >         > 03d1cc0: 3866 6684 cdb8 4bec 60c5 9342 940b fd75
>> >          8ff...K.`..B...u
>> >         > 03d1cd0: 7b75 b27d 1764 750a 2089 5ec3 7d5a df13
>> >          {u.}.du. .^.}Z..
>> >         > 03d1ce0: 610d 4580 21b4 8504 15be 6799 dd2b cad8
>> >          a.E.!.....g..+..
>> >         > 03d1cf0: 114a 4c0b 5d21 3f79 5db0 3b42 6598 3ba7
>> >          .JL.]!?y].;Be.;.
>> >         > 03d1d00: 734e 798c 570b 6620 2da9 59a5 6c12 98ed  sNy.W.f
>> >         -.Y.l...
>> >         > 03d1d10: 1fed 4585 f74e a214 afba 7de0 c086 a7e0
>> >          ..E..N....}.....
>> >         > 03d1d20: 0a                                       .
>> >         >
>> >         >
>> >         > -----------------
>> >         > A valid mp4 file (note the "Xmeta" thingy)
>> >         > -----------------
>> >         > ...(more data)
>> >         > 00687a0: 0000 b300 0000 0100 0000 bc00 0000 0100
>> >          ................
>> >         > 00687b0: 0000 0000 0000 1473 7473 7300 0000 0000
>> >          .......stss.....
>> >         > 00687c0: 0000 0100 0000 0100 0000 1c73 7473 6300
>> >          ...........stsc.
>> >         > 00687d0: 0000 0000 0000 0100 0000 0100 0000 1200
>> >          ................
>> >         > 00687e0: 0000 0100 0000 5c73 7473 7a00 0000 0000
>> >          ......\stsz.....
>> >         > 00687f0: 0000 0000 0000 1200 009e 2200 00a3 b200
>> >          ..........".....
>> >         > 0068800: 0063 5f00 005c a300 0057 6d00 0059 4900
>> >          .c_..\...Wm..YI.
>> >         > 0068810: 005a cf00 0060 4700 0056 b300 0056 b200
>> >          .Z...`G..V...V..
>> >         > 0068820: 0054 3f00 0058 4d00 004e a600 0054 6700
>> >          .T?..XM..N...Tg.
>> >         > 0068830: 0057 7f00 004b 9600 0045 2c00 0031 f900
>> >          .W...K...E,..1..
>> >         > 0068840: 0000 1473 7463 6f00 0000 0000 0000 0100
>> >          ...stco.........
>> >         > 0068850: 0000 3000 0000 6075 6474 6100 0000 586d
>> >          ..0...`udta...Xm
>> >         > 0068860: 6574 6100 0000 0000 0000 2168 646c 7200
>> >          eta.......!hdlr.
>> >         > 0068870: 0000 0000 0000 006d 6469 7261 7070 6c00
>> >          .......mdirappl.
>> >         > 0068880: 0000 0000 0000 0000 0000 002b 696c 7374
>> >          ...........+ilst
>> >         > 0068890: 0000 0023 a974 6f6f 0000 001b 6461 7461
>> >          ...#.too....data
>> >         > 00688a0: 0000 0001 0000 0000 4c61 7666 3533 2e32
>> >          ........Lavf53.2
>> >         > 00688b0: 322e 300a                                2.0.
>> >         >
>> >         >
>> >
>> >         > _______________________________________________
>> >         > gstreamer-devel mailing list
>> >         > gstreamer-devel at lists.freedesktop.org
>> >         >
>> >         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> >
>> >
>> >         _______________________________________________
>> >         gstreamer-devel mailing list
>> >         gstreamer-devel at lists.freedesktop.org
>> >         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> >
>> >
>> > _______________________________________________
>> > gstreamer-devel mailing list
>> > gstreamer-devel at lists.freedesktop.org
>> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130504/9aefe206/attachment-0001.html>


More information about the gstreamer-devel mailing list