Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Liquidsoap freezes when using gstreamer #278

Closed
xorinzor opened this issue Dec 13, 2015 · 3 comments
Closed

Liquidsoap freezes when using gstreamer #278

xorinzor opened this issue Dec 13, 2015 · 3 comments
Labels

Comments

@xorinzor
Copy link

I seem to be unable to produce a video stream using gstreamer, it will load my script and then just do nothing, when pressing ctrl+c it says that it's waiting for the remaining processes to terminate, but that never happens.

Liquidsoap ./configure compilation output:

 ----------------------------------------------------------------- Compilation

 Compiler       : ocamlfind ocamlopt
 Version        : 4.01.0
 OS             : Unix
 Plugins        :
 Custom path    : no
 OCAML_CFLAGS   : -ccopt "$(CFLAGS)" -package graphics -package pcre -package str -package unix -package threads -package syslog -package dtools -package unix -package threads -package pcre -package bigarray -package duppy -package camlp4 -package duppy.syntax -package unix -package cry -package unix -package bigarray -package mm -package xmlm -package xmlplaylist -package pcre -package xmlm -package xmlplaylist -package unix -package bigarray -package netsys -package str -package netstring -package equeue -package netclient -package lastfm -package ogg -package unix -package ogg -package vorbis -package unix -package ogg -package opus -package ogg -package speex -package unix -package mad -package ogg -package flac -package ogg -package flac -package flac.ogg -package dynlink -package lame -package shine -package unix -package bigarray -package gstreamer -package frei0r -package voaacenc -package unix -package bigarray -package ogg -package theora -package ogg -package schroedinger -package unix -package bigarray -package gavl -package bjack -package alsa -package ao -package samplerate -package unix -package taglib -package magic -package unix -package bigarray -package camomile -package unix -package inotify -package faad -package soundtouch -package portaudio -package pulseaudio -package ladspa -package ladspa -package dssi -package unix -package bigarray -package sdl -package sdl.sdlmixer -package sdl.sdlttf -package sdl.sdlimage -package camlimages.core -package camlimages.gif -package camlimages.jpeg -package camlimages.png -package camlimages.tiff -package camlimages.xpm -package camlimages.ps -package camlimages.all_formats -package lo -package easy-format -package biniou -package yojson -package gd
 OCAML_LFLAGS   : -linkpkg -package unix -package threads -package str -package bigarray
 CFLAGS         :  -I$(top_srcdir) -fPIC -I/usr/lib/ocaml
 LDFLAGS        :
 CAMLP4O        : camlp4o /usr/lib/ocaml/duppy/pa_duppy.cmo

 ---------------------------------------------------------------- Installation

 prefix         : /usr/local
 exec_prefix    : ${prefix}
 binary         : ${exec_prefix}/bin
 configuration  : ${prefix}/etc/liquidsoap
 logging        : ${prefix}/var/log/liquidsoap
 PIDs           : ${prefix}/var/run/liquidsoap
 logrotate conf : ${prefix}/etc/logrotate.d
 man page       : ${datarootdir}/man/man1
 doc            : ${datarootdir}/doc

 -------------------------------------------------------------------- Features

 * Supported input formats
   - Vorbis            : yes
   - Theora            : yes
   - Speex             : yes
   - Dirac             : yes
   - Flac (native)     : yes
   - Flac (ogg)        : yes
   - MP3               : yes
   - AAC               : yes
   - text-to-speech    : yes
   - XML playlists     : yes
   - Lastfm            : yes

 * Supported output formats
   - Vorbis            : yes
   - MP3               : yes
   - MP3 (fixed-point) : yes
   - AAC               : yes
   - AAC+              : detected at runtime
   - FDK-AAC           : no (requires fdkaac)
   - SPEEX             : yes
   - Opus              : yes
   - Theora            : yes
   - Dirac             : yes

 * Tags
   - Taglib (ID3 tags) : yes
   - Vorbis            : yes
   - charset detection : yes

 * Input / output
   - Icecast/Shoutcast : yes
   - AO                : yes
   - OSS               : yes
   - ALSA              : yes
   - Portaudio         : yes
   - Pulseaudio        : yes
   - JACK              : yes
   - GStreamer         : yes

 * Audio manipulation
   - Samplerate        : yes
   - SoundTouch        : yes
   - LADSPA            : yes

 * Video manipulation
   - Gavl              : yes
   - FFmpeg            : no (requires ffmpeg)
   - frei0r            : yes
   - camlimages        : yes

 * MIDI manipulation
   - DSSI              : yes

 * Visualization
   - Graphics          : yes
   - SDL               : yes
   - GD                : yes

 * Additional libraries
   - dynlink           : yes
   - inotify           : yes
   - lo                : yes
   - magic             : yes
   - yojson            : yes
   - windows service   : no (requires winsvc)

 * Graphical interfaces
   - Python GUI        : yes (requires >=pyGTK-2.0)

I'm using this script:

%include "config.liq"

set("log.file.path",                log_file_path_wrapper)
set("log.stdout",                   log_stdout_enabled_wrapper)
set("server.telnet",                enable_telnet_wrapper)
set("server.socket",                enable_socket_wrapper)
set("server.socket.path",           socket_path_wrapper)
set("server.socket.permissions",    socket_file_permission)

set("frame.video.width", stream_video_width)
set("frame.video.height", stream_video_height)
set("frame.video.samplerate", stream_video_framerate)

video_base = single("../images/novideosignal.avi")
clock.assign_new(sync=false, [video_base])
video_base = mksafe(video_base)

#input from the shoutzor script
live = input.harbor(stream_input_mount, port=stream_input_port, password=stream_input_password)

output = fallback(track_sensitive=false, [live, video_base])

logo_overlay = video.add_image(
       width=stream_video_logo_width, height=stream_video_logo_height,
       x=5, y=5,
       file=stream_video_logo,
       drop_audio(output))
output = mux_video(video=logo_overlay, drop_video(output))

#stream output to the public
output.icecast(
  format="video/ogg",
  %gstreamer(audio="vorbisenc",
          muxer="oggmux",
          video="theoraenc",
          channels=2,
          log=1),
  mount="/#{stream_output_mount}",
  id="shoutzorOutput",
  icy_metadata="false",
  fallible=false,
  host=stream_output_host, port=stream_output_port, password=stream_output_password,
  output)

This is the console output:

2015/12/14 00:07:03 >>> LOG START
2015/12/14 00:07:02 [protocols.external:3] Found "/usr/bin/wget".
2015/12/14 00:07:02 [main:3] Liquidsoap 1.1.1
2015/12/14 00:07:02 [main:3] Using: graphics=[distributed with Ocaml] pcre=7.0.4 dtools=0.3.1 duppy=0.5.1 duppy.syntax=0.5.1 cry=0.2.2 mm=0.2.1 xmlplaylist=0.1.3 lastfm=0.3.0 ogg=0.4.5 vorbis=0.6.1 opus=0.1.0 speex=0.2.0 mad=0.4.4 flac=0.1.1 flac.ogg=0.1.1 dynlink=[distributed with Ocaml] lame=0.3.2 shine=0.2.0 gstreamer=0.2.0 frei0r=0.1.0 voaacenc=0.1.0 theora=0.3.0 schroedinger=0.1.0 gavl=0.1.5 bjack=0.1.4 alsa=0.2.1 ao=0.2.0 samplerate=0.1.2 taglib=0.3.1 magic=0.7.3 camomile=0.8.4 inotify=1.0 faad=0.3.2 soundtouch=0.1.7 portaudio=0.2.0 pulseaudio=0.1.2 ladspa=0.1.4 dssi=0.1.1 sdl=0.9.1 camlimages=4.0.0 lo=0.1.0 yojson=1.1.8 gd=1.0a5
2015/12/14 00:07:02 [dynamic.loader:3] Could not find dynamic module for fdkaac encoder.
2015/12/14 00:07:02 [dynamic.loader:3] Could not find dynamic module for aacplus encoder.
2015/12/14 00:07:03 [decoder:3] Method "GSTREAMER" accepted "../images/novideosignal.avi".
2015/12/14 00:07:03 [single:3] "../images/novideosignal.avi" is static, resolving once for all...
2015/12/14 00:07:03 [frame:3] Using 44100Hz audio, 60Hz video, 44100Hz master.
2015/12/14 00:07:03 [frame:3] Frame size must be a multiple of 735 ticks = 735 audio samples = 1 video samples.
2015/12/14 00:07:03 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2015/12/14 00:07:03 [frame:3] Frames last 0.05s = 2205 audio samples = 3 video samples = 2205 ticks.
2015/12/14 00:07:03 [single:3] "annotate:width=434,height=97,x=5,y=5:../images/logo-overlay.ppm" will be queued.
2015/12/14 00:07:03 [threads:3] Created thread "generic queue #1".
2015/12/14 00:07:03 [threads:3] Created thread "generic queue #2".
2015/12/14 00:07:03 [threads:3] Created thread "non-blocking queue #1".
2015/12/14 00:07:03 [threads:3] Created thread "non-blocking queue #2".
2015/12/14 00:07:03 [harbor:3] Adding mountpoint '/streaminput' on port 1337
2015/12/14 00:07:03 [decoder:3] Method "PPM" accepted "../images/logo-overlay.ppm".
2015/12/14 00:07:03 [decoder:3] Method "IMAGE" accepted "../images/logo-overlay.ppm".
2015/12/14 00:07:03 [single_8690:3] Prepared "../images/novideosignal.avi" (RID 0).
2015/12/14 00:07:03 [single_8703:3] Prepared "../images/logo-overlay.ppm" (RID 1).
2015/12/14 00:07:03 [encoder.gstreamer:1] Gstreamer encoder pipeline: appsrc name="audio_src" block=true caps="audio/x-raw,format=S16LE,layout=interleaved,channels=2,rate=44100" format=time ! queue ! audioconvert ! audioresample ! vorbisenc ! muxer. appsrc name="video_src" block=true caps="video/x-raw,format=RGBA,width=1280,height=720,framerate=60/1,pixel-aspect-ratio=1/1" format=time blocksize=3686400 ! queue ! videoconvert ! videoscale add-borders=true ! videorate ! theoraenc ! muxer. oggmux name=muxer ! appsink name=sink sync=false emit-signals=true
2015/12/14 00:07:03 [shoutzorOutput:3] Connecting mount /shoutzor for source@localhost...
2015/12/14 00:07:03 [shoutzorOutput:3] Connection setup was successful.
2015/12/14 00:07:03 [threads:3] Created thread "wallclock_single_8690" (1 total).
2015/12/14 00:07:03 [clock.wallclock_single_8690:3] Streaming loop starts, synchronized by active sources.
2015/12/14 00:07:03 [fallback_8700:3] Switch to mksafe.
2015/12/14 00:07:03 [mksafe:3] Switch to single_8690.
^C2015/12/14 00:07:50 [server:3] Unlink wrapperSocket
2015/12/14 00:07:50 [main:3] Shutdown started!
2015/12/14 00:07:50 [main:3] Waiting for threads to terminate...

And this is the stacktrace:

Thread 19 (Thread 0x7fc6f2567700 (LWP 28224)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fc70bb4e53c in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc6f3715f28 in gst_queue_chain (pad=0x7fc6cc00abc0, parent=0x7fc6cc00a910, buffer=0x1)
    at gstqueue.c:1065
#3  0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#4  gst_pad_push_data (pad=0x7fc6cc0178d0, type=4084292352, data=0x7fc6d8033aa0) at gstpad.c:4069
#5  0x00007fc70b6827e5 in gst_base_src_loop (pad=0x7fc6cc0178d0) at gstbasesrc.c:2835
#6  0x00007fc70c0b5ad6 in gst_task_func (task=0x7fc6e4014a70) at gsttask.c:317
#7  0x00007fc70bb312c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007fc70bb30935 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007fc70eab40a4 in start_thread (arg=0x7fc6f2567700) at pthread_create.c:309
#10 0x00007fc70939b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 18 (Thread 0x7fc6f1716700 (LWP 28225)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fc70bb4e53c in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc6f3714857 in gst_queue_loop (pad=0x7fc6cc00a8b8) at gstqueue.c:1286
#3  0x00007fc70c0b5ad6 in gst_task_func (task=0x7fc6e4014710) at gsttask.c:317
#4  0x00007fc70bb312c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fc70bb30935 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fc70eab40a4 in start_thread (arg=0x7fc6f1716700) at pthread_create.c:309
#7  0x00007fc70939b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 17 (Thread 0x7fc6f0f15700 (LWP 28226)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fc70bb4e53c in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc70b8b6c5b in gst_app_src_create (bsrc=0x7fc6cc01aa90, offset=0, size=4096,
    buf=0xffffffffffffffff) at gstappsrc.c:1122
#3  0x00007fc70b680691 in gst_base_src_get_range (src=0x7fc6cc01aa90, offset=18446744073709551615,
    length=4096, buf=0xffffffffffffffff) at gstbasesrc.c:2445
#4  0x00007fc70b682513 in gst_base_src_loop (pad=0x7fc6cc016520) at gstbasesrc.c:2721
#5  0x00007fc70c0b5ad6 in gst_task_func (task=0x7fc6e4014830) at gsttask.c:317
#6  0x00007fc70bb312c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007fc70bb30935 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007fc70eab40a4 in start_thread (arg=0x7fc6f0f15700) at pthread_create.c:309
#9  0x00007fc70939b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 16 (Thread 0x7fc6ebfff700 (LWP 28227)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fc70bb4e53c in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc70b692ceb in gst_collect_pads_chain (pad=0x7fc6cc04f930, parent=0x0, buffer=0x7fc6e4062060)
    at gstcollectpads.c:2227
#3  0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#4  gst_pad_push_data (pad=0x7fc6cc04f070, type=191440848, data=0x7fc6e4062060) at gstpad.c:4069
#5  0x00007fc6f2dff6db in gst_video_encoder_finish_frame (encoder=0x7fc6cc053890, frame=0x7fc6e4068d80)
    at gstvideoencoder.c:2083
#6  0x00007fc6d0a87abd in theora_enc_handle_frame (benc=0x7fc6cc053890, frame=0x0) at gsttheoraenc.c:1015
#7  0x00007fc6f2dfdc6b in gst_video_encoder_chain (pad=0x7fc6cc057228, parent=0x7fc6cc053890,
    buf=0x7fc6cc0538a8) at gstvideoencoder.c:1452
#8  0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#9  gst_pad_push_data (pad=0x7fc6cc04ec10, type=4074755184, data=0x7fc6e407ce80) at gstpad.c:4069
#10 0x00007fc6df57d729 in gst_video_rate_transform_ip (trans=0x7fc6cc051930, buffer=0x1fca054)
---Type <return> to continue, or q <return> to quit---
    at gstvideorate.c:1051
#11 0x00007fc70b68a24b in gst_base_transform_handle_buffer (trans=0x7fc6cc051930, inbuf=0x7fc6e4078d50,
    outbuf=0x7fc6ebffea80) at gstbasetransform.c:2112
#12 0x00007fc70b68aa0f in gst_base_transform_chain (pad=0x7fc6cc057228, parent=0x7fc6cc051930,
    buffer=0x7fc6e4078d50) at gstbasetransform.c:2224
#13 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#14 gst_pad_push_data (pad=0x7fc6cc04e7b0, type=191408544, data=0x7fc6e4078d50) at gstpad.c:4069
#15 0x00007fc70b68abe4 in gst_base_transform_chain (pad=0x7fc6cc057228, parent=0x7fc6cc0511f0, buffer=0x0)
    at gstbasetransform.c:2260
#16 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#17 gst_pad_push_data (pad=0x7fc6cc04e350, type=191408544, data=0x7fc6e4078d50) at gstpad.c:4069
#18 0x00007fc70b68abe4 in gst_base_transform_chain (pad=0x7fc6cc057228, parent=0x7fc6cc050b50, buffer=0x0)
    at gstbasetransform.c:2260
#19 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#20 gst_pad_push_data (pad=0x7fc6cc017d30, type=191408544, data=0x7fc6e40681d0) at gstpad.c:4069
#21 0x00007fc6f3714f4e in gst_queue_push_one (queue=<optimized out>) at gstqueue.c:1169
#22 gst_queue_loop (pad=0x7fc6cc057228) at gstqueue.c:1298
#23 0x00007fc70c0b5ad6 in gst_task_func (task=0x7fc6e4014950) at gsttask.c:317
#24 0x00007fc70bb312c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007fc70bb30935 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007fc70eab40a4 in start_thread (arg=0x7fc6ebfff700) at pthread_create.c:309
#27 0x00007fc70939b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 15 (Thread 0x7fc6d40a5700 (LWP 28228)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x000000000091402b in caml_condition_wait ()
#2  0x000000000086f382 in camlDuppy__queue_1114 () at duppy.ml:298
#3  0x000000000077472e in camlTutils__queue_1190 ()
#4  0x0000000000773fda in camlTutils__fun_1346 ()
#5  0x0000000000888869 in camlThread__fun_1081 () at thread.ml:37
#6  0x000000000092a296 in caml_start_program ()
#7  0x0000000002b8e5f0 in ?? ()
#8  0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7fc6d38a4700 (LWP 28229)):
#0  0x00007fc7093942b3 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000000000913644 in caml_thread_tick ()
#2  0x00007fc70eab40a4 in start_thread (arg=0x7fc6d38a4700) at pthread_create.c:309
#3  0x00007fc70939b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 13 (Thread 0x7fc6d30a3700 (LWP 28230)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x000000000091402b in caml_condition_wait ()
#2  0x000000000086f382 in camlDuppy__queue_1114 () at duppy.ml:298
#3  0x000000000077472e in camlTutils__queue_1190 ()
#4  0x0000000000773fda in camlTutils__fun_1346 ()
#5  0x0000000000888869 in camlThread__fun_1081 () at thread.ml:37
#6  0x000000000092a296 in caml_start_program ()
#7  0x0000000002b8e0c0 in ?? ()
#8  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7fc6d28a2700 (LWP 28231)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x000000000091402b in caml_condition_wait ()
---Type <return> to continue, or q <return> to quit---
#2  0x000000000086f382 in camlDuppy__queue_1114 () at duppy.ml:298
#3  0x00000000007746eb in camlTutils__queue_1190 ()
#4  0x0000000000773fda in camlTutils__fun_1346 ()
#5  0x0000000000888869 in camlThread__fun_1081 () at thread.ml:37
#6  0x000000000092a296 in caml_start_program ()
#7  0x0000000002b98160 in ?? ()
#8  0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7fc6d20a1700 (LWP 28232)):
#0  0x00007fc7093942b3 in select () at ../sysdeps/unix/syscall-template.S:81
#1  0x00000000009165bb in unix_select ()
#2  0x000000000086c593 in camlDuppy__f_1092 () at duppy.ml:178
#3  0x000000000086ecd4 in camlDuppy__process_1083 () at duppy.ml:201
#4  0x000000000086f2f6 in camlDuppy__queue_1114 () at duppy.ml:295
#5  0x00000000007746eb in camlTutils__queue_1190 ()
#6  0x0000000000773fda in camlTutils__fun_1346 ()
#7  0x0000000000888869 in camlThread__fun_1081 () at thread.ml:37
#8  0x000000000092a296 in caml_start_program ()
#9  0x0000000002b8e6d0 in ?? ()
#10 0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7fc6d18a0700 (LWP 28233)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x000000000091402b in caml_condition_wait ()
#2  0x0000000000774a0a in camlTutils__fun_1425 ()
#3  0x0000000000774e20 in camlTutils__mutexify_1081 ()
#4  0x0000000000874689 in camlDtools__thread_1318 ()
#5  0x0000000000888869 in camlThread__fun_1081 () at thread.ml:37
#6  0x000000000092a296 in caml_start_program ()
#7  0x0000000002c2fd50 in ?? ()
#8  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7fc6c3fff700 (LWP 28235)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fc70bb4e53c in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc70b8b7aef in gst_app_src_push_buffer_full (appsrc=0x7fc6cc04d8e0, buffer=0x7fc6e407c4f0,
    steal_ref=15) at gstappsrc.c:1553
#3  0x00000000008f68fc in ocaml_gstreamer_appsrc_push_buffer ()
#4  0x0000000000695e0c in camlGstreamer_encoder__encode_1151 ()
#5  0x00000000006f4f6d in camlOutput__f_1354 ()
#6  0x00000000006f4fd1 in camlOutput__fun_1740 ()
#7  0x00000000006f5804 in camlOutput__fun_1600 ()
#8  0x0000000000755aa1 in camlClock__fun_1848 ()
#9  0x0000000000894c54 in camlList__fold_left_1073 ()
#10 0x0000000000756811 in camlClock__fun_1813 ()
#11 0x000000000075623e in camlClock__loop_1351 ()
#12 0x0000000000756f92 in camlClock__fun_2074 ()
#13 0x0000000000773fda in camlTutils__fun_1346 ()
#14 0x0000000000888869 in camlThread__fun_1081 () at thread.ml:37
#15 0x000000000092a296 in caml_start_program ()
#16 0x00007fc6cc06ba70 in ?? ()
#17 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7fc6c37fe700 (LWP 28236)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fc70bb4e53c in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc70c0b5d31 in gst_task_func (task=0x7fc6e4014ef0) at gsttask.c:302
---Type <return> to continue, or q <return> to quit---
#3  0x00007fc70bb312c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fc70bb30935 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fc70eab40a4 in start_thread (arg=0x7fc6c37fe700) at pthread_create.c:309
#6  0x00007fc70939b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 7 (Thread 0x7fc6c2ffd700 (LWP 28237)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fc70bb4e53c in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc70c0b5d31 in gst_task_func (task=0x7fc6e4014dd0) at gsttask.c:302
#3  0x00007fc70bb312c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fc70bb30935 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fc70eab40a4 in start_thread (arg=0x7fc6c2ffd700) at pthread_create.c:309
#6  0x00007fc70939b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 6 (Thread 0x7fc6c27fc700 (LWP 28238)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fc70bb4e53c in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc70c0b5d31 in gst_task_func (task=0x7fc6e4014cb0) at gsttask.c:302
#3  0x00007fc70bb312c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fc70bb30935 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fc70eab40a4 in start_thread (arg=0x7fc6c27fc700) at pthread_create.c:309
#6  0x00007fc70939b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 5 (Thread 0x7fc6c1ffb700 (LWP 28240)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fc70bb4e53c in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc70b8b9794 in gst_app_sink_render (psink=0x7fc6cc010b00, buffer=0x0) at gstappsink.c:736
#3  0x00007fc70b67b927 in gst_base_sink_chain_unlocked (basesink=0x7fc6cc010b00, obj=0x7fc6ec01e0d0,
    is_list=58, is_list@entry=0, pad=<optimized out>) at gstbasesink.c:3430
#4  0x00007fc70b67cdf4 in gst_base_sink_chain_main (basesink=0x7fc6cc010b00, pad=<optimized out>,
    obj=0x7fc6ec01e0d0, is_list=0) at gstbasesink.c:3538
#5  0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#6  gst_pad_push_data (pad=0x7fc6e42e69b0, type=191352592, data=0x7fc6ec01e0d0) at gstpad.c:4069
#7  0x00007fc70b68abe4 in gst_base_transform_chain (pad=0x7fc6cc010800, parent=0x7fc6cc00f6e0, buffer=0x0)
    at gstbasetransform.c:2260
#8  0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#9  gst_pad_push_data (pad=0x7fc6e4009d10, type=191408544, data=0x7fc6ec01e0d0) at gstpad.c:4069
#10 0x00007fc70b68abe4 in gst_base_transform_chain (pad=0x7fc6cc010800, parent=0x7fc6cc00f0d0, buffer=0x0)
    at gstbasetransform.c:2260
#11 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#12 gst_pad_push_data (pad=0x7fc6e0075a80, type=191408544, data=0x7fc6ec01e0d0) at gstpad.c:4069
#13 0x00007fc70c08ec36 in gst_pad_push (pad=pad@entry=0x7fc6e0075a80, buffer=buffer@entry=0x7fc6ec01e0d0)
    at gstpad.c:4180
#14 0x00007fc70c0787f3 in gst_proxy_pad_chain_default (pad=0x7fc6d801bb30, parent=<optimized out>,
    buffer=0x7fc6ec01e0d0) at gstghostpad.c:126
#15 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#16 gst_pad_push_data (pad=0x7fc6e400d4d0, type=201819968, data=0x7fc6ec01e0d0) at gstpad.c:4069
#17 0x00007fc6f303a414 in gst_audio_decoder_push_forward (dec=0x7fc6ec07eaa0, buf=0x7fc6ec01e0d0)
    at gstaudiodecoder.c:973
#18 0x00007fc6f303a6e7 in gst_audio_decoder_output (dec=0x7fc6ec07eaa0, buf=0x0) at gstaudiodecoder.c:1049
#19 0x00007fc6f303f04b in gst_audio_decoder_finish_frame (dec=0x7fc6ec07eaa0, buf=0x0, frames=0)
    at gstaudiodecoder.c:1281
#20 0x00007fc6dfbb4ef2 in ?? () from /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstflump3dec.so
---Type <return> to continue, or q <return> to quit---
#21 0x00007fc6f303c047 in gst_audio_decoder_push_buffers (dec=0x7fc6ec07eaa0, force=0)
    at gstaudiodecoder.c:1416
#22 0x00007fc6f303c42b in gst_audio_decoder_chain_forward (dec=0x7fc6ec07eaa0, buffer=0x7fc6c804a550)
    at gstaudiodecoder.c:1519
#23 0x00007fc6f303d4f8 in gst_audio_decoder_chain (pad=0x7fc70c3304c0 <_gst_debug_min>,
    parent=0x7fc6ec07eaa0, buffer=0x7fc6c804a550) at gstaudiodecoder.c:1798
#24 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#25 gst_pad_push_data (pad=0x7fc6c4013240, type=4077113696, data=0x7fc6c804a550) at gstpad.c:4069
#26 0x00007fc70b66b524 in gst_base_parse_push_frame (parse=0x7fc6c4016220, frame=0x7fc6ec07de80)
    at gstbaseparse.c:2302
#27 0x00007fc70b66eb7f in gst_base_parse_handle_and_push_frame (frame=<optimized out>,
    parse=<optimized out>) at gstbaseparse.c:2134
#28 gst_base_parse_finish_frame (parse=0x7fc6c4016220, frame=0x7fc6ec07de80, size=24869)
    at gstbaseparse.c:2459
#29 0x00007fc6f00a00eb in gst_mpeg_audio_parse_handle_frame (parse=0x7fc6c4016220, frame=0x7fc6ec07de80,
    skipsize=0x7fc6c1ffabe8) at gstmpegaudioparse.c:770
#30 0x00007fc70b667ac5 in gst_base_parse_handle_buffer (parse=0x7fc6c4016220, buffer=0x7fc6ec01e0d0,
    skip=0x7fc6c1ffabe8, flushed=0x7fc6c1ffabec) at gstbaseparse.c:1961
#31 0x00007fc70b66c025 in gst_base_parse_chain (pad=0x7fc6cc010800, parent=0x7fc6c4016220, buffer=0x6)
    at gstbaseparse.c:2897
#32 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#33 gst_pad_push_data (pad=0x7fc6c4012de0, type=191281856, data=0x7fc6e4070050) at gstpad.c:4069
#34 0x00007fc6f3711b3c in gst_single_queue_push_one (object=<optimized out>, sq=<optimized out>,
    mq=<optimized out>) at gstmultiqueue.c:1229
#35 gst_multi_queue_loop (pad=0x7fc6cc010800) at gstmultiqueue.c:1484
#36 0x00007fc70c0b5ad6 in gst_task_func (task=0x7fc6bc043950) at gsttask.c:317
#37 0x00007fc70bb312c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#38 0x00007fc70bb30935 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#39 0x00007fc70eab40a4 in start_thread (arg=0x7fc6c1ffb700) at pthread_create.c:309
#40 0x00007fc70939b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 4 (Thread 0x7fc6c17fa700 (LWP 28241)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fc70bb4e53c in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc6f37117fc in gst_multi_queue_loop (pad=0x7fc6c400f998) at gstmultiqueue.c:1433
#3  0x00007fc70c0b5ad6 in gst_task_func (task=0x7fc6bc043830) at gsttask.c:317
#4  0x00007fc70bb312c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fc70bb30935 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fc70eab40a4 in start_thread (arg=0x7fc6c17fa700) at pthread_create.c:309
#7  0x00007fc70939b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7fc6c0ff9700 (LWP 28242)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fc70bb4e53c in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc70b8b9794 in gst_app_sink_render (psink=0x7fc6cc014f80, buffer=0x0) at gstappsink.c:736
#3  0x00007fc70b67b927 in gst_base_sink_chain_unlocked (basesink=0x7fc6cc014f80, obj=0x7fc6e40583f0,
    is_list=84, is_list@entry=0, pad=<optimized out>) at gstbasesink.c:3430
#4  0x00007fc70b67cdf4 in gst_base_sink_chain_main (basesink=0x7fc6cc014f80, pad=<optimized out>,
    obj=0x7fc6e40583f0, is_list=0) at gstbasesink.c:3538
#5  0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#6  gst_pad_push_data (pad=0x7fc6cc0160c0, type=191352592, data=0x7fc6e40583f0) at gstpad.c:4069
#7  0x00007fc6df57d729 in gst_video_rate_transform_ip (trans=0x7fc6cc0145e0, buffer=0x3b9aca00)
    at gstvideorate.c:1051
#8  0x00007fc70b68a24b in gst_base_transform_handle_buffer (trans=0x7fc6cc0145e0, inbuf=0x7fc6e4054700,
---Type <return> to continue, or q <return> to quit---
    outbuf=0x7fc6c0ff7cf0) at gstbasetransform.c:2112
#9  0x00007fc70b68aa0f in gst_base_transform_chain (pad=0x7fc6cc014c80, parent=0x7fc6cc0145e0,
    buffer=0x7fc6e4054700) at gstbasetransform.c:2224
#10 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#11 gst_pad_push_data (pad=0x7fc6e42e7b30, type=191408544, data=0x7fc6e4054700) at gstpad.c:4069
#12 0x00007fc70b68abe4 in gst_base_transform_chain (pad=0x7fc6cc014c80, parent=0x7fc6cc013e20, buffer=0x0)
    at gstbasetransform.c:2260
#13 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#14 gst_pad_push_data (pad=0x7fc6e42e76d0, type=191408544, data=0x7fc6c804a880) at gstpad.c:4069
#15 0x00007fc70b68abe4 in gst_base_transform_chain (pad=0x7fc6cc014c80, parent=0x7fc6cc013670, buffer=0x0)
    at gstbasetransform.c:2260
#16 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#17 gst_pad_push_data (pad=0x7fc6e0074e00, type=191408544, data=0x7fc6c804add0) at gstpad.c:4069
#18 0x00007fc70c08ec36 in gst_pad_push (pad=pad@entry=0x7fc6e0074e00, buffer=buffer@entry=0x7fc6c804add0)
    at gstpad.c:4180
#19 0x00007fc70c0787f3 in gst_proxy_pad_chain_default (pad=0x7fc6d801aff0, parent=<optimized out>,
    buffer=0x7fc6c804add0) at gstghostpad.c:126
#20 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#21 gst_pad_push_data (pad=0x7fc6c40138d0, type=201819968, data=0x7fc6c804add0) at gstpad.c:4069
#22 0x00007fc70c08ec36 in gst_pad_push (pad=<optimized out>, buffer=buffer@entry=0x7fc6c804add0)
    at gstpad.c:4180
#23 0x00007fc6f2df2f47 in gst_video_decoder_clip_and_push_buf (decoder=0x7fc6d80329e0, buf=0x7fc6c804add0)
    at gstvideodecoder.c:2805
#24 0x00007fc6f2df90df in gst_video_decoder_finish_frame (decoder=0x7fc6d80329e0, frame=0x7fc6c804abb0)
    at gstvideodecoder.c:2711
#25 0x00007fc6eb5e2b69 in gst_ffmpegviddec_video_frame (ffmpegdec=0x7fc6d80329e0,
    data=0x139 <error: Cannot access memory at address 0x139>, size=84, have_data=0x0,
    frame=0x7fc6c804abb0, ret=0x7fc6cc014c60) at gstavviddec.c:1352
#26 0x00007fc6eb5e2ea6 in gst_ffmpegviddec_frame (ffmpegdec=0x7fc6d80329e0, data=0x7fc6d8049010 "",
    size=313, have_data=0x7fc6c0ff8658, frame=0x246, ret=0x7fc6c0ff865c) at gstavviddec.c:1409
#27 0x00007fc6eb5e3d2c in gst_ffmpegviddec_handle_frame (decoder=0x7fc6d80329e0, frame=0x7fc6c804abb0)
    at gstavviddec.c:1521
#28 0x00007fc6f2df1b66 in gst_video_decoder_decode_frame (decoder=0x7fc6d80329e0, frame=0x7fc6c804abb0)
    at gstvideodecoder.c:3007
#29 0x00007fc6f2df201d in gst_video_decoder_chain_forward (decoder=0x7fc6d80329e0, buf=0x7fc6e40625b0,
    at_eos=0) at gstvideodecoder.c:1874
#30 0x00007fc6f2df487d in gst_video_decoder_chain (pad=0x7fc6cc014c80, parent=0x7fc6d80329e0,
    buf=0x7fc6e40625b0) at gstvideodecoder.c:2175
#31 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#32 gst_pad_push_data (pad=0x7fc6c800ce40, type=4074718128, data=0x7fc6e40625b0) at gstpad.c:4069
#33 0x00007fc70b66b524 in gst_base_parse_push_frame (parse=0x7fc6c8013670, frame=0x7fc6d8009050)
    at gstbaseparse.c:2302
#34 0x00007fc70b66eb7f in gst_base_parse_handle_and_push_frame (frame=<optimized out>,
    parse=<optimized out>) at gstbaseparse.c:2134
#35 gst_base_parse_finish_frame (parse=0x7fc6c8013670, frame=0x7fc6d8009050, size=78708)
    at gstbaseparse.c:2459
#36 0x00007fc6f04ff0bb in gst_mpeg4vparse_handle_frame (parse=0x7fc6c8013670, frame=0x7fc6d8009050,
    skipsize=0x54) at gstmpeg4videoparse.c:541
#37 0x00007fc70b667ac5 in gst_base_parse_handle_buffer (parse=0x7fc6c8013670, buffer=0x7fc6c804add0,
    skip=0x7fc6c0ff8be8, flushed=0x7fc6c0ff8bec) at gstbaseparse.c:1961
#38 0x00007fc70b66c025 in gst_base_parse_chain (pad=0x7fc6cc014c80, parent=0x7fc6c8013670, buffer=0x6)
    at gstbaseparse.c:2897
---Type <return> to continue, or q <return> to quit---
#39 0x00007fc70c087d6f in gst_pad_chain_data_unchecked (data=<optimized out>, type=<optimized out>,
    pad=<optimized out>) at gstpad.c:3836
#40 gst_pad_push_data (pad=0x7fc6c800c9e0, type=191281856, data=0x7fc6e40505d0) at gstpad.c:4069
#41 0x00007fc6f3711b3c in gst_single_queue_push_one (object=<optimized out>, sq=<optimized out>,
    mq=<optimized out>) at gstmultiqueue.c:1229
#42 gst_multi_queue_loop (pad=0x7fc6cc014c80) at gstmultiqueue.c:1484
#43 0x00007fc70c0b5ad6 in gst_task_func (task=0x7fc6bc043290) at gsttask.c:317
#44 0x00007fc70bb312c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007fc70bb30935 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007fc70eab40a4 in start_thread (arg=0x7fc6c0ff9700) at pthread_create.c:309
#47 0x00007fc70939b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7fc6bbfff700 (LWP 28243)):
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007fc70bb4e53c in g_cond_wait () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fc6f37117fc in gst_multi_queue_loop (pad=0x7fc6c8015a58) at gstmultiqueue.c:1433
#3  0x00007fc70c0b5ad6 in gst_task_func (task=0x7fc6bc0433b0) at gsttask.c:317
#4  0x00007fc70bb312c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fc70bb30935 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007fc70eab40a4 in start_thread (arg=0x7fc6bbfff700) at pthread_create.c:309
#7  0x00007fc70939b04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7fc7118597c0 (LWP 28223)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x0000000000913de6 in caml_thread_join ()
#2  0x000000000077508c in camlTutils__join_all_1160 ()
#3  0x0000000000649670 in camlMain__cleanup_1284 ()
#4  0x00000000008744b0 in camlDtools__exec_1301 ()
#5  0x0000000000894ba1 in camlList__iter_1061 ()
#6  0x0000000000874471 in camlDtools__exec_1301 ()
#7  0x00000000008770dc in camlDtools__main_1313 ()
#8  0x0000000000877204 in camlDtools__catch_1324 ()
#9  0x000000000064b501 in camlMain__Make_1287 ()
#10 0x0000000000648425 in camlRunner__entry ()
#11 0x00000000006415d9 in caml_program ()
#12 0x000000000092a296 in caml_start_program ()
#13 0x0000000000000000 in ?? ()
@toots toots added the video label Jul 2, 2018
@toots
Copy link
Member

toots commented Aug 20, 2018

Hi! There's been extensive work done on gstreamer. Let me know if you're able to test on the latest code or need help doing it.

@xorinzor
Copy link
Author

Glad to hear so, I don't think I'll be able to test it anytime soon though as I've not been into programming for quite a while now.

@toots
Copy link
Member

toots commented Aug 20, 2018

Ok, thanks. I'm gonna close this one, then. We're working on a similar issue with another user, hopefully that will take care of it. Thks for your interest in liquidsoap!

@toots toots closed this as completed Aug 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants