
Recherche avancée
Médias (29)
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#4 Emo Creates
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#2 Typewriter Dance
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (107)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...) -
Personnaliser les catégories
21 juin 2013, parFormulaire de création d’une catégorie
Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire.
Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)
Sur d’autres sites (11713)
-
How can I rotate AND flip horizontally a video in ffmpeg ?
11 novembre 2022, par Tarsila Costalonga -
ffmpeg encoding leaves me with blank space at the end where the video pauses and there is nothing ahead
6 novembre 2022, par Nisarg DesaiI was trying to slice some of the video being played and clip it in mpv.net using a .lua script which uses ffmpeg to encode the webm output. ffmpeg sometimes leaves some seconds blank and without any video/audio ahead while clipping from source. Is there any solution to this ?


The code for the script is given below (was taken from here https://github.com/occivink/mpv-scripts) :


local utils = require "mp.utils"
local msg = require "mp.msg"
local options = require "mp.options"

local ON_WINDOWS = (package.config:sub(1,1) ~= "/")

local start_timestamp = nil
local profile_start = ""

-- implementation detail of the osd message
local timer = nil
local timer_duration = 2

-- folder creation if it doesnt exist
function exists(file)
 local ok, err, code = os.rename(file, file)
 if not ok then
 if code == 13 then
 return true
 end
 end
 return ok, err
end

--- Check if a directory exists in this path
function create_dir(path)
 local dir = "\"" .. path .. "\""
 if not exists(path .."/") then
 os.execute("mkdir " .. dir)
 end
end

function append_table(lhs, rhs)
 for i = 1,#rhs do
 lhs[#lhs+1] = rhs[i]
 end
 return lhs
end

function file_exists(name)
 local f = io.open(name, "r")
 if f ~= nil then
 io.close(f)
 return true
 else
 return false
 end
end

function get_extension(path)
 local candidate = string.match(path, "%.([^.]+)$")
 if candidate then
 for _, ext in ipairs({ "mkv", "webm", "mp4", "avi" }) do
 if candidate == ext then
 return candidate
 end
 end
 end
 return "mkv"
end

function get_output_string(dir, format, input, extension, title, from, to, profile)
 local res = utils.readdir(dir)
 if not res then
 return nil
 end
 local files = {}
 for _, f in ipairs(res) do
 files[f] = true
 end
 local output = format
 output = string.gsub(output, "$f", function() return input end)
 output = string.gsub(output, "$t", function() return title end)
 output = string.gsub(output, "$s", function() return seconds_to_time_string(from, true) end)
 output = string.gsub(output, "$e", function() return seconds_to_time_string(to, true) end)
 output = string.gsub(output, "$d", function() return seconds_to_time_string(to-from, true) end)
 output = string.gsub(output, "$x", function() return extension end)
 output = string.gsub(output, "$p", function() return profile end)
 if ON_WINDOWS then
 output = string.gsub(output, "[/\\|<>?:\"*]", "_")
 end
 if not string.find(output, "$n") then
 return files[output] and nil or output
 end
 local i = 1
 while true do
 local potential_name = string.gsub(output, "$n", tostring(i))
 if not files[potential_name] then
 return potential_name
 end
 i = i + 1
 end
end

function get_video_filters()
 local filters = {}
 for _, vf in ipairs(mp.get_property_native("vf")) do
 local name = vf["name"]
 name = string.gsub(name, '^lavfi%-', '')
 local filter
 if name == "crop" then
 local p = vf["params"]
 filter = string.format("crop=%d:%d:%d:%d", p.w, p.h, p.x, p.y)
 elseif name == "mirror" then
 filter = "hflip"
 elseif name == "flip" then
 filter = "vflip"
 elseif name == "rotate" then
 local rotation = vf["params"]["angle"]
 -- rotate is NOT the filter we want here
 if rotation == "90" then
 filter = "transpose=clock"
 elseif rotation == "180" then
 filter = "transpose=clock,transpose=clock"
 elseif rotation == "270" then
 filter = "transpose=cclock"
 end
 end
 filters[#filters + 1] = filter
 end
 return filters
end

function get_input_info(default_path, only_active)
 local accepted = {
 video = true,
 audio = not mp.get_property_bool("mute"),
 sub = mp.get_property_bool("sub-visibility")
 }
 local ret = {}
 for _, track in ipairs(mp.get_property_native("track-list")) do
 local track_path = track["external-filename"] or default_path
 if not only_active or (track["selected"] and accepted[track["type"]]) then
 local tracks = ret[track_path]
 if not tracks then
 ret[track_path] = { track["ff-index"] }
 else
 tracks[#tracks + 1] = track["ff-index"]
 end
 end
 end
 return ret
end

function seconds_to_time_string(seconds, full)
 local ret = string.format("%02d:%02d.%03d"
 , math.floor(seconds / 60) % 60
 , math.floor(seconds) % 60
 , seconds * 1000 % 1000
 )
 if full or seconds > 3600 then
 ret = string.format("%d:%s", math.floor(seconds / 3600), ret)
 end
 return ret
end

function start_encoding(from, to, settings)
 local args = {
 settings.ffmpeg_command,
 "-loglevel", "panic", "-hide_banner",
 }
 local append_args = function(table) args = append_table(args, table) end

 local path = mp.get_property("path")
 local is_stream = not file_exists(path)
 if is_stream then
 path = mp.get_property("stream-path")
 end

 local track_args = {}
 local start = seconds_to_time_string(from, false)
 local input_index = 0
 for input_path, tracks in pairs(get_input_info(path, settings.only_active_tracks)) do
 append_args({
 "-ss", start,
 "-i", input_path,
 })
 if settings.only_active_tracks then
 for _, track_index in ipairs(tracks) do
 track_args = append_table(track_args, { "-map", string.format("%d:%d", input_index, track_index)})
 end
 else
 track_args = append_table(track_args, { "-map", tostring(input_index)})
 end
 input_index = input_index + 1
 end

 append_args({"-to", tostring(to-from)})
 append_args(track_args)

 -- apply some of the video filters currently in the chain
 local filters = {}
 if settings.preserve_filters then
 filters = get_video_filters()
 end
 if settings.append_filter ~= "" then
 filters[#filters + 1] = settings.append_filter
 end
 if #filters > 0 then
 append_args({ "-filter:v", table.concat(filters, ",") })
 end

 -- split the user-passed settings on whitespace
 for token in string.gmatch(settings.codec, "[^%s]+") do
 args[#args + 1] = token
 end

 -- path of the output
 local output_directory = mp.get_property("options/screenshot-directory")
 -- local checkbool = exists(output_directory.."/")
 -- mp.osd_message("" .. type(checkbool), timer_duration)
 -- if not checkbool then 
 -- os.execute("mkdir" .. output_directory)
 -- end
 if output_directory == "" then
 if is_stream then
 output_directory = "."
 else
 output_directory, _ = utils.split_path(path)
 end
 else
 output_directory = string.gsub(output_directory, "^~", os.getenv("HOME") or "~")
 end
 local input_name = mp.get_property("filename/no-ext") or "encode"
 local title = mp.get_property("media-title")
 local extension = get_extension(path)
 local output_name = get_output_string(output_directory, settings.output_format, input_name, extension, title, from, to, settings.profile)
 if not output_name then
 mp.osd_message("Invalid path " .. output_directory)
 return
 end
 args[#args + 1] = utils.join_path(output_directory, output_name)

 if settings.print then
 local o = ""
 -- fuck this is ugly
 for i = 1, #args do
 local fmt = ""
 if i == 1 then
 fmt = "%s%s"
 elseif i >= 2 and i <= 4 then
 fmt = "%s"
 elseif args[i-1] == "-i" or i == #args or args[i-1] == "-filter:v" then
 fmt = "%s '%s'"
 else
 fmt = "%s %s"
 end
 o = string.format(fmt, o, args[i])
 end
 print(o)
 end
 if settings.detached then
 utils.subprocess_detached({ args = args })
 else
 local res = utils.subprocess({ args = args, max_size = 0, cancellable = false })
 if res.status == 0 then
 mp.osd_message("Finished encoding succesfully")
 else
 mp.osd_message("Failed to encode, check the log")
 end
 end
end

function clear_timestamp()
 timer:kill()
 start_timestamp = nil
 profile_start = ""
 mp.remove_key_binding("encode-ESC")
 mp.remove_key_binding("encode-ENTER")
 mp.osd_message("", 0)
end

function set_timestamp(profile)
 if not mp.get_property("path") then
 mp.osd_message("No file currently playing")
 return
 end
 if not mp.get_property_bool("seekable") then
 mp.osd_message("Cannot encode non-seekable media")
 return
 end
 create_dir(mp.get_property("options/screenshot-directory"))
 if not start_timestamp or profile ~= profile_start then
 profile_start = profile
 start_timestamp = mp.get_property_number("time-pos")
 local msg = function()
 mp.osd_message(
 string.format("encode [%s]: waiting for end timestamp", profile or "default"),
 timer_duration
 )
 end
 msg()
 timer = mp.add_periodic_timer(timer_duration, msg)
 mp.add_forced_key_binding("ESC", "encode-ESC", clear_timestamp)
 mp.add_forced_key_binding("ENTER", "encode-ENTER", function() set_timestamp(profile) end)
 else
 local from = start_timestamp
 local to = mp.get_property_number("time-pos")
 if to <= from then
 mp.osd_message("Second timestamp cannot be before the first", timer_duration)
 timer:kill()
 timer:resume()
 return
 end
 clear_timestamp()
 mp.osd_message(string.format("Encoding from %s to %s"
 , seconds_to_time_string(from, false)
 , seconds_to_time_string(to, false)
 ), timer_duration)
 -- include the current frame into the extract
 local fps = mp.get_property_number("container-fps") or 30
 to = to + 1 / fps / 2
 local settings = {
 detached = false,
 container = "",
 only_active_tracks = false,
 preserve_filters = true,
 append_filter = "",
 codec = "-c:v libvpx-vp9 -lossless 1 -b:v 1000k -deadline good",
 output_format = "$f_$n.webm",
 output_directory = "",
 ffmpeg_command = "ffmpeg",
 print = true,
 }
 if profile then
 options.read_options(settings, profile)
 if settings.container ~= "" then
 msg.warn("The 'container' setting is deprecated, use 'output_format' now")
 settings.output_format = settings.output_format .. "." .. settings.container
 end
 settings.profile = profile
 else
 settings.profile = "default"
 end 
 start_encoding(from, to, settings)
 end
end

mp.add_key_binding(nil, "set-timestamp", set_timestamp)



-
Android player, FFMPEG, JNI
14 septembre 2022, par Nikita PavlenkoCan I use
std::async
withjni
or I should throughstd::thread
orpthread_create
? Because i'm writing android player with my C++ lib that uses std::async for demuxing, video and audio. I saw that every callCallVoidMethod
(of course with attach and detach thread) create new thread (thread id in Java methods is increased). And in some time a big error occurres

A/e.androidplaye: java_vm_ext.cc:594] JNI DETECTED ERROR IN APPLICATION: thread Thread[2,tid=3420,Native,Thread*=0xb400007bd4470c00,peer=0x12cc1510,"Thread-8687"] using JNIEnv* from thread Thread[3,tid=3419,Native,Thread*=0xb400007aadc2e400,peer=0x12d00000,"Thread-8688"]
 java_vm_ext.cc:594] in call to CallVoidMethodV
A/e.androidplaye: runtime.cc:675] Runtime aborting...
 runtime.cc:675] Dumping all threads without mutator lock held
 runtime.cc:675] All threads:
 runtime.cc:675] DALVIK THREADS (23):
 runtime.cc:675] "Thread-8687" prio=10 tid=2 Runnable
 runtime.cc:675] | group="" sCount=0 ucsCount=0 flags=0 obj=0x12d80000 self=0xb400007bd4470c00
 runtime.cc:675] | sysTid=3420 nice=-10 cgrp=default sched=0/0 handle=0x7aa4166cb0
 runtime.cc:675] | state=R schedstat=( 6040359820 215025421 9416 ) utm=498 stm=105 core=1 HZ=100
 runtime.cc:675] | stack=0x7aa406f000-0x7aa4071000 stackSize=991KB
 runtime.cc:675] | held mutexes= "abort lock" "mutator lock"(shared held)
 runtime.cc:675] native: #00 pc 00000000005376cc /apex/com.android.art/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+128) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #01 pc 00000000006f0e24 /apex/com.android.art/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream >&, bool, BacktraceMap*, bool) const+236) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #02 pc 00000000006fe6b0 /apex/com.android.art/lib64/libart.so (art::DumpCheckpoint::Run(art::Thread*)+208) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #03 pc 0000000000364174 /apex/com.android.art/lib64/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+440) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #04 pc 00000000006fce50 /apex/com.android.art/lib64/libart.so (art::ThreadList::Dump(std::__1::basic_ostream >&, bool)+280) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #05 pc 00000000006d7ec4 /apex/com.android.art/lib64/libart.so (art::AbortState::Dump(std::__1::basic_ostream >&) const+212) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #06 pc 00000000006d2b24 /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+1016) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #07 pc 0000000000016ea8 /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void>&&)::$_3::__invoke(char const*)+80) (BuildId: b77c57f68a484ed93d5a7eda59d83bf9)
 runtime.cc:675] native: #08 pc 0000000000016450 /apex/com.android.art/lib64/libbase.so (android::base::LogMessage::~LogMessage()+352) (BuildId: b77c57f68a484ed93d5a7eda59d83bf9)
 runtime.cc:675] native: #09 pc 0000000000445224 /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1612) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #10 pc 0000000000329258 /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbortV(char const*, char const*, std::__va_list)+108) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #11 pc 000000000048d59c /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::AbortF(char const*, ...) (.__uniq.99033978352804627313491551960229047428)+144) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #12 pc 0000000000453ad0 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::(anonymous namespace)::JniValueType*) (.__uniq.99033978352804627313491551960229047428)+4648) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #13 pc 0000000000475e2c /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CheckCallArgs(art::ScopedObjectAccess&, art::(anonymous namespace)::ScopedCheck&, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, art::InvokeType, art::(anonymous namespace)::VarArgs const*) (.__uniq.99033978352804627313491551960229047428)+76) (BuildId: 56e704c544e6c624201be2ab4933e853)
A/e.androidplaye: runtime.cc:675] native: #14 pc 0000000000474d4c /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, std::__va_list, art::Primitive::Type, art::InvokeType) (.__uniq.99033978352804627313491551960229047428)+268) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #15 pc 00000000005ca9ec /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list) (.__uniq.99033978352804627313491551960229047428.llvm.5591279935177935698)+72) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #16 pc 0000000000024ad4 /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 174000) (_JNIEnv::CallVoidMethod(_jobject*, _jmethodID*, ...)+172) (BuildId: 2f8cba1fdcec13c03a15bf3de18a4ddd1c91325d)
 runtime.cc:675] native: #17 pc 000000000002173c /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 174000) (ffmpeg::AndroidPlayer::handleAudioFrame(ffmpeg::Frame const&)+184) (BuildId: 2f8cba1fdcec13c03a15bf3de18a4ddd1c91325d)
 runtime.cc:675] native: #18 pc 0000000000028488 /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 174000) (???) (BuildId: 2f8cba1fdcec13c03a15bf3de18a4ddd1c91325d)
 runtime.cc:675] native: #19 pc 00000000000283c0 /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 174000) (???) (BuildId: 2f8cba1fdcec13c03a15bf3de18a4ddd1c91325d)
 runtime.cc:675] native: #20 pc 000000000002835c /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 174000) (std::__ndk1::__bind_return<void> >, std::__ndk1::tuple, __is_valid_bind_return<void> >, std::__ndk1::tuple >::value>::type std::__ndk1::__bind<void> const&>::operator()(ffmpeg::Frame const&)+76) (BuildId: 2f8cba1fdcec13c03a15bf3de18a4ddd1c91325d)
 runtime.cc:675] native: #21 pc 00000000000282ec /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 174000) (???) (BuildId: 2f8cba1fdcec13c03a15bf3de18a4ddd1c91325d)
 runtime.cc:675] native: #22 pc 0000000000028288 /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 174000) (void std::__ndk1::__invoke_void_return_wrapper<void>::__call const&>&, ffmpeg::Frame const&>(std::__ndk1::__bind<void> const&>&, ffmpeg::Frame const&)+48) (BuildId: 2f8cba1fdcec13c03a15bf3de18a4ddd1c91325d)
 runtime.cc:675] native: #23 pc 0000000000028234 /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 174000) (???) (BuildId: 2f8cba1fdcec13c03a15bf3de18a4ddd1c91325d)
A/e.androidplaye: runtime.cc:675] native: #24 pc 000000000002725c /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 174000) (std::__ndk1::__function::__func const&>, std::__ndk1::allocator const&> >, void (ffmpeg::Frame const&)>::operator()(ffmpeg::Frame const&)+48) (BuildId: 2f8cba1fdcec13c03a15bf3de18a4ddd1c91325d)
 runtime.cc:675] native: #25 pc 000000000004039c /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 380000) (???) (BuildId: 9a9d303cb440eed7364800d0ead0962a65175480)
 runtime.cc:675] native: #26 pc 000000000003b1f8 /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 380000) (std::__ndk1::function<void>::operator()(ffmpeg::Frame const&) const+44) (BuildId: 9a9d303cb440eed7364800d0ead0962a65175480)
 runtime.cc:675] native: #27 pc 0000000000039dd4 /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 380000) (ffmpeg::Player::playAudio()+164) (BuildId: 9a9d303cb440eed7364800d0ead0962a65175480)
 runtime.cc:675] native: #28 pc 000000000003db90 /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 380000) (???) (BuildId: 9a9d303cb440eed7364800d0ead0962a65175480)
 runtime.cc:675] native: #29 pc 000000000003db1c /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 380000) (???) (BuildId: 9a9d303cb440eed7364800d0ead0962a65175480)
 runtime.cc:675] native: #30 pc 000000000003dacc /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 380000) (???) (BuildId: 9a9d303cb440eed7364800d0ead0962a65175480)
 runtime.cc:675] native: #31 pc 000000000003da10 /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 380000) (???) (BuildId: 9a9d303cb440eed7364800d0ead0962a65175480)
 runtime.cc:675] native: #32 pc 000000000003e6cc /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 380000) (???) (BuildId: 9a9d303cb440eed7364800d0ead0962a65175480)
 runtime.cc:675] native: #33 pc 000000000003e5e0 /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 380000) (???) (BuildId: 9a9d303cb440eed7364800d0ead0962a65175480)
 runtime.cc:675] native: #34 pc 000000000003df50 /data/app/~~kWvaZj7JOt9YyFawweYvtw==/com.example.androidplayer-_Vqw2zfb57LpijMAPW6U4w==/base.apk (offset 380000) (???) (BuildId: 9a9d303cb440eed7364800d0ead0962a65175480)
 runtime.cc:675] native: #35 pc 00000000000efb14 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #36 pc 000000000008c35c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] (no managed stack frames)
 runtime.cc:675] 
 runtime.cc:675] "main" prio=10 tid=1 Native
 runtime.cc:675] | group="" sCount=1 ucsCount=0 flags=1 obj=0x71915d18 self=0xb400007bd4472800
 runtime.cc:675] | sysTid=3241 nice=-10 cgrp=default sched=0/0 handle=0x7bd5ac64f8
 runtime.cc:675] | state=S schedstat=( 20358355629 2398850818 13099 ) utm=1560 stm=474 core=5 HZ=100
 runtime.cc:675] | stack=0x7ff2616000-0x7ff2618000 stackSize=8188KB
 runtime.cc:675] | held mutexes=
 runtime.cc:675] native: #00 pc 0000000000086f90 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 94065bf91428f6ae9fb310c478171302)
A/e.androidplaye: runtime.cc:675] native: #01 pc 000000000047cc80 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+140) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #02 pc 00000000005c8cac /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::FindClass(_JNIEnv*, char const*) (.__uniq.99033978352804627313491551960229047428.llvm.5591279935177935698)+1096) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #03 pc 000000000011aae0 /system/lib64/libandroid_runtime.so (android::NativeDisplayEventReceiver::dispatchVsync(long, android::PhysicalDisplayId, unsigned int, android::VsyncEventData)+80) (BuildId: f73b7e7fab15dc5b96680181e111fb8f)
 runtime.cc:675] native: #04 pc 00000000000af3f0 /system/lib64/libgui.so (android::DisplayEventDispatcher::handleEvent(int, int, void*)+204) (BuildId: 3f01a4a30b5fa3a4804b8361ddccc4a3)
 runtime.cc:675] native: #05 pc 0000000000018184 /system/lib64/libutils.so (android::Looper::pollInner(int)+916) (BuildId: 16796d84bdcf185b2112267dbd820c19)
 runtime.cc:675] native: #06 pc 0000000000017d84 /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+116) (BuildId: 16796d84bdcf185b2112267dbd820c19)
 runtime.cc:675] native: #07 pc 0000000000154668 /system/lib64/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long, int)+48) (BuildId: f73b7e7fab15dc5b96680181e111fb8f)
 runtime.cc:675] at android.os.MessageQueue.nativePollOnce(Native method)
 runtime.cc:675] at android.os.MessageQueue.next(MessageQueue.java:337)
 runtime.cc:675] at android.os.Looper.loopOnce(Looper.java:168)
 runtime.cc:675] at android.os.Looper.loop(Looper.java:299)
 runtime.cc:675] at android.app.ActivityThread.main(ActivityThread.java:8250)
 runtime.cc:675] at java.lang.reflect.Method.invoke(Native method)
 runtime.cc:675] at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
 runtime.cc:675] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)
 runtime.cc:675] 
 runtime.cc:675] "Signal Catcher" prio=10 tid=4 WaitingInMainSignalCatcherLoop
 runtime.cc:675] | group="" sCount=1 ucsCount=0 flags=1 obj=0x13340270 self=0xb400007b1f611800
 runtime.cc:675] | sysTid=3247 nice=-20 cgrp=default sched=0/0 handle=0x7b209aecb0
 runtime.cc:675] | state=S schedstat=( 300521 0 2 ) utm=0 stm=0 core=6 HZ=100
 runtime.cc:675] | stack=0x7b208b7000-0x7b208b9000 stackSize=991KB
 runtime.cc:675] | held mutexes=
 runtime.cc:675] native: #00 pc 00000000000db77c /apex/com.android.runtime/lib64/bionic/libc.so (__rt_sigtimedwait+12) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #01 pc 000000000009a1b8 /apex/com.android.runtime/lib64/bionic/libc.so (sigwait64+92) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #02 pc 000000000057420c /apex/com.android.art/lib64/libart.so (art::SignalCatcher::WaitForSignal(art::Thread*, art::SignalSet&)+108) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #03 pc 0000000000573e1c /apex/com.android.art/lib64/libart.so (art::SignalCatcher::Run(void*)+228) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #04 pc 00000000000efb14 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #05 pc 000000000008c35c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] (no managed stack frames)
 runtime.cc:675] 
 runtime.cc:675] "perfetto_hprof_listener" prio=10 tid=7 Native (still starting up)
 runtime.cc:675] | group="" sCount=1 ucsCount=0 flags=1 obj=0x0 self=0xb400007b138a8800
 runtime.cc:675] | sysTid=3248 nice=-20 cgrp=default sched=0/0 handle=0x7b208b0cb0
 runtime.cc:675] | state=S schedstat=( 175052 0 3 ) utm=0 stm=0 core=6 HZ=100
A/e.androidplaye: runtime.cc:675] | stack=0x7b207b9000-0x7b207bb000 stackSize=991KB
 runtime.cc:675] | held mutexes=
 runtime.cc:675] native: #00 pc 00000000000daad8 /apex/com.android.runtime/lib64/bionic/libc.so (read+8) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #01 pc 000000000001d840 /apex/com.android.art/lib64/libperfetto_hprof.so (void* std::__1::__thread_proxy >, ArtPlugin_Initialize::$_34> >(void*)+260) (BuildId: d60314cb99f035c98d20ab286d52fc6d)
 runtime.cc:675] native: #02 pc 00000000000efb14 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #03 pc 000000000008c35c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] (no managed stack frames)
 runtime.cc:675] 
 runtime.cc:675] "ADB-JDWP Connection Control Thread" prio=10 tid=8 WaitingInMainDebuggerLoop
 runtime.cc:675] | group="" sCount=1 ucsCount=0 flags=1 obj=0x133402e8 self=0xb400007b1f64d800
 runtime.cc:675] | sysTid=3249 nice=-20 cgrp=default sched=0/0 handle=0x7b207b2cb0
 runtime.cc:675] | state=S schedstat=( 935055 0 13 ) utm=0 stm=0 core=4 HZ=100
 runtime.cc:675] | stack=0x7b206bb000-0x7b206bd000 stackSize=991KB
 runtime.cc:675] | held mutexes=
 runtime.cc:675] native: #00 pc 00000000000dbe3c /apex/com.android.runtime/lib64/bionic/libc.so (__ppoll+12) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #01 pc 00000000000973b4 /apex/com.android.runtime/lib64/bionic/libc.so (poll+96) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #02 pc 00000000000099e4 /apex/com.android.art/lib64/libadbconnection.so (adbconnection::AdbConnectionState::RunPollLoop(art::Thread*)+724) (BuildId: c4c03b03ed50414e876ae23cd04eae7e)
 runtime.cc:675] native: #03 pc 00000000000080ac /apex/com.android.art/lib64/libadbconnection.so (adbconnection::CallbackFunction(void*)+1320) (BuildId: c4c03b03ed50414e876ae23cd04eae7e)
 runtime.cc:675] native: #04 pc 00000000000efb14 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #05 pc 000000000008c35c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] (no managed stack frames)
 runtime.cc:675] 
 runtime.cc:675] "Jit thread pool worker thread 0" prio=5 tid=9 Native
 runtime.cc:675] | group="" sCount=1 ucsCount=0 flags=1 obj=0x13340360 self=0xb400007b138c4000
 runtime.cc:675] | sysTid=3250 nice=9 cgrp=default sched=0/0 handle=0x7b206b4cb0
 runtime.cc:675] | state=S schedstat=( 1384418878 710723029 1368 ) utm=118 stm=20 core=1 HZ=100
 runtime.cc:675] | stack=0x7b205b5000-0x7b205b7000 stackSize=1023KB
 runtime.cc:675] | held mutexes=
 runtime.cc:675] native: #00 pc 0000000000086f90 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #01 pc 000000000047cc80 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+140) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #02 pc 000000000047cb18 /apex/com.android.art/lib64/libart.so (art::ThreadPool::GetTask(art::Thread*)+120) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #03 pc 0000000000619810 /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Run()+136) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #04 pc 00000000006196f0 /apex/com.android.art/lib64/libart.so (art::ThreadPoolWorker::Callback(void*)+160) (BuildId: 56e704c544e6c624201be2ab4933e853)
A/e.androidplaye: runtime.cc:675] native: #05 pc 00000000000efb14 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #06 pc 000000000008c35c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] (no managed stack frames)
 runtime.cc:675] 
 runtime.cc:675] "HeapTaskDaemon" prio=5 tid=10 Native
 runtime.cc:675] | group="" sCount=1 ucsCount=0 flags=1 obj=0x13340d60 self=0xb400007b138d5800
 runtime.cc:675] | sysTid=3256 nice=4 cgrp=default sched=0/0 handle=0x7b205aecb0
 runtime.cc:675] | state=S schedstat=( 12936736517 2503386925 3722 ) utm=1074 stm=219 core=4 HZ=100
 runtime.cc:675] | stack=0x7b204ab000-0x7b204ad000 stackSize=1039KB
 runtime.cc:675] | held mutexes=
 runtime.cc:675] native: #00 pc 0000000000086f90 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #01 pc 000000000047cc80 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+140) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #02 pc 000000000056bbb8 /apex/com.android.art/lib64/libart.so (art::gc::Heap::TrimIndirectReferenceTables(art::Thread*)+1364) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #03 pc 000000000056b468 /apex/com.android.art/lib64/libart.so (art::gc::Heap::Trim(art::Thread*)+68) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #04 pc 000000000056b3cc /apex/com.android.art/lib64/libart.so (art::gc::Heap::HeapTrimTask::Run(art::Thread*)+32) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #05 pc 000000000046ce28 /apex/com.android.art/lib64/libart.so (art::gc::TaskProcessor::RunAllTasks(art::Thread*)+56) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] at dalvik.system.VMRuntime.runHeapTasks(Native method)
 runtime.cc:675] at java.lang.Daemons$HeapTaskDaemon.runInternal(Daemons.java:609)
 runtime.cc:675] at java.lang.Daemons$Daemon.run(Daemons.java:140)
 runtime.cc:675] at java.lang.Thread.run(Thread.java:1012)
 runtime.cc:675] 
 runtime.cc:675] "ReferenceQueueDaemon" prio=5 tid=11 Waiting
 runtime.cc:675] | group="" sCount=1 ucsCount=0 flags=1 obj=0x133403d8 self=0xb400007b138d7400
 runtime.cc:675] | sysTid=3259 nice=4 cgrp=default sched=0/0 handle=0x7b204a4cb0
 runtime.cc:675] | state=S schedstat=( 2230226662 207087138 1228 ) utm=26 stm=196 core=4 HZ=100
 runtime.cc:675] | stack=0x7b203a1000-0x7b203a3000 stackSize=1039KB
 runtime.cc:675] | held mutexes=
 runtime.cc:675] native: #00 pc 0000000000086f90 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: 94065bf91428f6ae9fb310c478171302)
 runtime.cc:675] native: #01 pc 000000000047cc80 /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+140) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] native: #02 pc 0000000000486588 /apex/com.android.art/lib64/libart.so (art::Monitor::Wait(art::Thread*, art::ObjPtr, long, int, bool, art::ThreadState)+2520) (BuildId: 56e704c544e6c624201be2ab4933e853)
 runtime.cc:675] at java.lang.Object.wait(Native method)
 runtime.cc:675] - waiting on <0x0483c441> (a java.lang.Class)
 runtime.cc:675] at java.lang.Object.wait(Object.java:442)
 runtime.cc:675] at java.lang.Object.wait(Object.java:568)
 runtime.cc:675] at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:232)
 runtime.cc:675] - locked <0x0483c441> (a java.lang.Class)
 runtime.cc:675] at java.lang.Daemons$Daemon.run(Daemons.java:140)
 runtime.cc:675] at java.lang.Thread.run(Thread.java:1012)
 runtime.cc:675] 
...(this part i missed because so big)
W/e.androidplaye: Suspending all threads took: 10.935ms
A/e.androidplaye: runtime.cc:683] JNI DETECTED ERROR IN APPLICATION: thread Thread[2,tid=3420,Native,Thread*=0xb400007bd4470c00,peer=0x12cc1510,"Thread-8687"] using JNIEnv* from thread Thread[3,tid=3419,Native,Thread*=0xb400007aadc2e400,peer=0x12d00000,"Thread-8688"]
 runtime.cc:683] in call to CallVoidMethodV
A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 3420 (Thread-8687), pid 3241 (e.androidplayer)
</void></void></void></void></void></void></void>