GStreamer 1.0 Good Plugins: level Return RMS = [-699.9999998436322, -699.9999998436322]

Stefan Sauer ensonic at hora-obscura.de
Sun Jan 11 04:51:29 PST 2015


On 01/11/2015 06:12 AM, ivsatel wrote:
> *GST_DEBUG_NO_COLOR=1 GST_DEBUG=level:5 gst-launch-1.0 -m audiotestsrc
> wave=square volume=1.0 ! level ! fakesink > log 2>&1*
Sorry this is a bit silly, level posts level messages containing boxed
arrays with the measurements per level. And gst-launch prints NULL for
the arrays (which is a bit misleading) :/ So we have to grab the level
from the debug log.

GST_DEBUG_NO_COLOR=1 GST_DEBUG="level:8" gst-launch-1.0 2>&1
audiotestsrc wave=square volume=1.0 ! level ! fakesink | grep "message: "

But looking at your code again made me spot the mistake. In your code you do

if str(Gst.Structure.get_name(s)) == 'level':
                a = s.get_value('rms')
                print(a)

This is only the boxed array. What you will have to do instead is:
http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/tests/examples/level/level-example.c#n49
Sorry for asking you to provide all the logs.

Stefan
>
> Установка конвейера в состояние PAUSED…
> Подготовка конвейера (PREROLL)…
> Получено сообщение #6 от элемента «fakesink0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL,
> new-state=(GstState)GST_STATE_READY,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #7 от элемента «level0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL,
> new-state=(GstState)GST_STATE_READY,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #8 от элемента «audiotestsrc0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL,
> new-state=(GstState)GST_STATE_READY,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #9 от элемента «pipeline0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL,
> new-state=(GstState)GST_STATE_READY,
> pending-state=(GstState)GST_STATE_PAUSED;
> Получено сообщение #11 от элемента «level0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_READY,
> new-state=(GstState)GST_STATE_PAUSED,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #14 от контактного гнезда «audiotestsrc0:src»
> (stream-status): GstMessageStreamStatus,
> type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE,
> owner=(GstElement)"\(GstAudioTestSrc\)\ audiotestsrc0",
> object=(GstTask)"\(GstTask\)\ audiotestsrc0:src";
> Получено сообщение #15 от элемента «audiotestsrc0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_READY,
> new-state=(GstState)GST_STATE_PAUSED,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #16 от контактного гнезда «audiotestsrc0:src»
> (stream-status): GstMessageStreamStatus,
> type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER,
> owner=(GstElement)"\(GstAudioTestSrc\)\ audiotestsrc0",
> object=(GstTask)"\(GstTask\)\ audiotestsrc0:src";
> Получено сообщение #17 от элемента «pipeline0» (stream-start):
> GstMessageStreamStart, group-id=(uint)0;
> Получено сообщение #25 от элемента «fakesink0» (tag): GstMessageTag,
> taglist=(taglist)"taglist\,\ description\=\(string\)\"audiotest\\\
> wave\"\;";
> Получено сообщение #26 от элемента «fakesink0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_READY,
> new-state=(GstState)GST_STATE_PAUSED,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #29 от элемента «pipeline0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_READY,
> new-state=(GstState)GST_STATE_PAUSED,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Конвейер подготовлен (PREROLLED)…
> Получено сообщение #28 от элемента «pipeline0» (async-done):
> GstMessageAsyncDone, running-time=(guint64)18446744073709551615;
> Установка конвейера в состояние PLAYING…
> Получено сообщение #30 от элемента «pipeline0» (new-clock):
> GstMessageNewClock, clock=(GstClock)"\(GstSystemClock\)\ GstSystemClock";
> New clock: GstSystemClock
> Получено сообщение #32 от элемента «fakesink0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED,
> new-state=(GstState)GST_STATE_PLAYING,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #33 от элемента «level0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED,
> new-state=(GstState)GST_STATE_PLAYING,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #34 от элемента «audiotestsrc0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED,
> new-state=(GstState)GST_STATE_PLAYING,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #35 от элемента «pipeline0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED,
> new-state=(GstState)GST_STATE_PLAYING,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #36 от элемента «level0» (element): level,
> endtime=(guint64)100000000, timestamp=(guint64)0, stream-time=(guint64)0,
> running-time=(guint64)0, duration=(guint64)100000000, rms=(GValueArray)NULL,
> peak=(GValueArray)NULL, decay=(GValueArray)NULL;
> Получено сообщение #37 от элемента «level0» (element): level,
> endtime=(guint64)200000000, timestamp=(guint64)100000000,
> stream-time=(guint64)100000000, running-time=(guint64)100000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #38 от элемента «level0» (element): level,
> endtime=(guint64)300000000, timestamp=(guint64)200000000,
> stream-time=(guint64)200000000, running-time=(guint64)200000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #39 от элемента «level0» (element): level,
> endtime=(guint64)400000000, timestamp=(guint64)300000000,
> stream-time=(guint64)300000000, running-time=(guint64)300000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #40 от элемента «level0» (element): level,
> endtime=(guint64)500000000, timestamp=(guint64)400000000,
> stream-time=(guint64)400000000, running-time=(guint64)400000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #41 от элемента «level0» (element): level,
> endtime=(guint64)600000000, timestamp=(guint64)500000000,
> stream-time=(guint64)500000000, running-time=(guint64)500000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #42 от элемента «level0» (element): level,
> endtime=(guint64)700000000, timestamp=(guint64)600000000,
> stream-time=(guint64)600000000, running-time=(guint64)600000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #43 от элемента «level0» (element): level,
> endtime=(guint64)800000000, timestamp=(guint64)700000000,
> stream-time=(guint64)700000000, running-time=(guint64)700000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #44 от элемента «level0» (element): level,
> endtime=(guint64)900000000, timestamp=(guint64)800000000,
> stream-time=(guint64)800000000, running-time=(guint64)800000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #45 от элемента «level0» (element): level,
> endtime=(guint64)1000000000, timestamp=(guint64)900000000,
> stream-time=(guint64)900000000, running-time=(guint64)900000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #46 от элемента «level0» (element): level,
> endtime=(guint64)1100000000, timestamp=(guint64)1000000000,
> stream-time=(guint64)1000000000, running-time=(guint64)1000000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #47 от элемента «level0» (element): level,
> endtime=(guint64)1200000000, timestamp=(guint64)1100000000,
> stream-time=(guint64)1100000000, running-time=(guint64)1100000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #48 от элемента «level0» (element): level,
> endtime=(guint64)1300000000, timestamp=(guint64)1200000000,
> stream-time=(guint64)1200000000, running-time=(guint64)1200000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #49 от элемента «level0» (element): level,
> endtime=(guint64)1400000000, timestamp=(guint64)1300000000,
> stream-time=(guint64)1300000000, running-time=(guint64)1300000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #50 от элемента «level0» (element): level,
> endtime=(guint64)1500000000, timestamp=(guint64)1400000000,
> stream-time=(guint64)1400000000, running-time=(guint64)1400000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #51 от элемента «level0» (element): level,
> endtime=(guint64)1600000000, timestamp=(guint64)1500000000,
> stream-time=(guint64)1500000000, running-time=(guint64)1500000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
>
> *GST_DEBUG_NO_COLOR=1 GST_DEBUG=audiotestsrc:5 gst-launch-1.0 -m
> audiotestsrc wave=square volume=1.0 ! level !akesink > log 2>&1*
>
> Установка конвейера в состояние PAUSED…
> 0:00:00.063458625  2765  0x9b6e180 DEBUG           audiotestsrc
> gstaudiotestsrc.c:1054:gst_audio_test_src_do_seek:<audiotestsrc0> seeking
> time segment start=0:00:00.000000000, offset=0:00:00.000000000,
> stop=99:99:99.999999999, rate=1,000000, applied_rate=1,000000, flags=0x00,
> time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000,
> duration 99:99:99.999999999
> 0:00:00.063619339  2765  0x9b6e180 DEBUG           audiotestsrc
> gstaudiotestsrc.c:1073:gst_audio_test_src_do_seek:<audiotestsrc0> seeking
> next_sample=0 next_time=0:00:00.000000000
> Подготовка конвейера (PREROLL)…
> 0:00:00.064461982  2765  0x9b80e60 DEBUG           audiotestsrc
> gstaudiotestsrc.c:269:gst_audio_test_src_fixate:<audiotestsrc0> fixating
> samplerate to 44100
> 0:00:00.064745974  2765  0x9b80e60 DEBUG           audiotestsrc
> gstaudiotestsrc.c:293:gst_audio_test_src_setcaps:<audiotestsrc0> negotiated
> to caps audio/x-raw, format=(string)S16LE, layout=(string)interleaved,
> rate=(int)44100, channels=(int)1
> Получено сообщение #6 от элемента «fakesink0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL,
> new-state=(GstState)GST_STATE_READY,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #7 от элемента «level0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL,
> new-state=(GstState)GST_STATE_READY,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #8 от элемента «audiotestsrc0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL,
> new-state=(GstState)GST_STATE_READY,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #9 от элемента «pipeline0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL,
> new-state=(GstState)GST_STATE_READY,
> pending-state=(GstState)GST_STATE_PAUSED;
> Получено сообщение #11 от элемента «level0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_READY,
> new-state=(GstState)GST_STATE_PAUSED,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #14 от контактного гнезда «audiotestsrc0:src»
> (stream-status): GstMessageStreamStatus,
> type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE,
> owner=(GstElement)"\(GstAudioTestSrc\)\ audiotestsrc0",
> object=(GstTask)"\(GstTask\)\ audiotestsrc0:src";
> Получено сообщение #15 от элемента «audiotestsrc0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_READY,
> new-state=(GstState)GST_STATE_PAUSED,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #16 от контактного гнезда «audiotestsrc0:src»
> (stream-status): GstMessageStreamStatus,
> type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER,
> owner=(GstElement)"\(GstAudioTestSrc\)\ audiotestsrc0",
> object=(GstTask)"\(GstTask\)\ audiotestsrc0:src";
> Получено сообщение #17 от элемента «pipeline0» (stream-start):
> GstMessageStreamStart, group-id=(uint)0;
> Получено сообщение #25 от элемента «fakesink0» (tag): GstMessageTag,
> taglist=(taglist)"taglist\,\ description\=\(string\)\"audiotest\\\
> wave\"\;";
> Получено сообщение #26 от элемента «fakesink0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_READY,
> new-state=(GstState)GST_STATE_PAUSED,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #29 от элемента «pipeline0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_READY,
> new-state=(GstState)GST_STATE_PAUSED,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Конвейер подготовлен (PREROLLED)…
> Получено сообщение #28 от элемента «pipeline0» (async-done):
> GstMessageAsyncDone, running-time=(guint64)18446744073709551615;
> Установка конвейера в состояние PLAYING…
> Получено сообщение #30 от элемента «pipeline0» (new-clock):
> GstMessageNewClock, clock=(GstClock)"\(GstSystemClock\)\ GstSystemClock";
> New clock: GstSystemClock
> Получено сообщение #32 от элемента «fakesink0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED,
> new-state=(GstState)GST_STATE_PLAYING,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #33 от элемента «level0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED,
> new-state=(GstState)GST_STATE_PLAYING,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #34 от элемента «audiotestsrc0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED,
> new-state=(GstState)GST_STATE_PLAYING,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #35 от элемента «pipeline0» (state-changed):
> GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED,
> new-state=(GstState)GST_STATE_PLAYING,
> pending-state=(GstState)GST_STATE_VOID_PENDING;
> Получено сообщение #36 от элемента «level0» (element): level,
> endtime=(guint64)100000000, timestamp=(guint64)0, stream-time=(guint64)0,
> running-time=(guint64)0, duration=(guint64)100000000, rms=(GValueArray)NULL,
> peak=(GValueArray)NULL, decay=(GValueArray)NULL;
> Получено сообщение #37 от элемента «level0» (element): level,
> endtime=(guint64)200000000, timestamp=(guint64)100000000,
> stream-time=(guint64)100000000, running-time=(guint64)100000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #38 от элемента «level0» (element): level,
> endtime=(guint64)300000000, timestamp=(guint64)200000000,
> stream-time=(guint64)200000000, running-time=(guint64)200000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #39 от элемента «level0» (element): level,
> endtime=(guint64)400000000, timestamp=(guint64)300000000,
> stream-time=(guint64)300000000, running-time=(guint64)300000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #40 от элемента «level0» (element): level,
> endtime=(guint64)500000000, timestamp=(guint64)400000000,
> stream-time=(guint64)400000000, running-time=(guint64)400000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #41 от элемента «level0» (element): level,
> endtime=(guint64)600000000, timestamp=(guint64)500000000,
> stream-time=(guint64)500000000, running-time=(guint64)500000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #42 от элемента «level0» (element): level,
> endtime=(guint64)700000000, timestamp=(guint64)600000000,
> stream-time=(guint64)600000000, running-time=(guint64)600000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #43 от элемента «level0» (element): level,
> endtime=(guint64)800000000, timestamp=(guint64)700000000,
> stream-time=(guint64)700000000, running-time=(guint64)700000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #44 от элемента «level0» (element): level,
> endtime=(guint64)900000000, timestamp=(guint64)800000000,
> stream-time=(guint64)800000000, running-time=(guint64)800000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
> Получено сообщение #45 от элемента «level0» (element): level,
> endtime=(guint64)1000000000, timestamp=(guint64)900000000,
> stream-time=(guint64)900000000, running-time=(guint64)900000000,
> duration=(guint64)100000000, rms=(GValueArray)NULL, peak=(GValueArray)NULL,
> decay=(GValueArray)NULL;
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/GStreamer-1-0-Good-Plugins-level-Return-RMS-699-9999998436322-699-9999998436322-tp4670184p4670220.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list