{"id":122100,"date":"2025-02-26T14:22:18","date_gmt":"2025-02-26T12:22:19","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/miniaudio-0-11-22"},"modified":"2025-02-26T14:22:18","modified_gmt":"2025-02-26T12:22:19","slug":"miniaudio-0-11-22","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/news\/miniaudio-0-11-22","title":{"rendered":"miniaudio 0.11.22","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"miniaudio 0.11.22\" src=\"\/wp-content\/uploads\/2025\/02\/535745f2d2bcd17a4611a5a5eb0fc4db.jpg\" style=\"display:block;margin: 0 auto;\" \/>                              <noindex>      <\/p>\n<p>24. febru\u00e1ra, po viac ako roku v\u00fdvoja, bol vydan\u00fd 0.11.22 multiplatformov\u00fd kni\u017enica na zachyt\u00e1vanie a prehr\u00e1vanie zvuku <a rel=\"nofollow\" href=\"https:\/\/miniaud.io\">miniaudio<\/a>, nap\u00edsan\u00e1 v jazyku C a distribuovan\u00e1 ako verejn\u00e9 vlastn\u00edctvo.<br \/><\/noindex> miniaudio funguje na v\u0161etk\u00fdch hlavn\u00fdch desktopov\u00fdch a mobiln\u00fdch platform\u00e1ch, vr\u00e1tane Windows, macOS, Linux, BSD, iOS, Android a Web (cez Emscripten) bez vonkaj\u0161\u00edch z\u00e1vislost\u00ed.<br \/> Kni\u017enica m\u00e1 jednoduch\u00e9, flexibiln\u00e9 a modul\u00e1rne API so vstavan\u00fdmi dekod\u00e9rmi (WAV, MP3 a FLAC), pokro\u010dil\u00fdm mixovan\u00edm a spracovan\u00edm efektov (vr\u00e1tane 3D), spr\u00e1vou zdrojov, filtrami, prevodom d\u00e1t a mnoh\u00fdm \u010fal\u0161\u00edm.<\/p>\n<p>Hlavn\u00e9 zmeny:<\/p>\n<ul>\n<li>Od verzie 0.12 sa miniaudio presunie na samostatn\u00fd p\u00e1r s\u00faborov .c\/h a vzd\u00e1 sa jedn\u00e9ho hlavi\u010dkov\u00e9ho s\u00faboru. Na pr\u00edpravu na toto bol do repozit\u00e1ra pridan\u00fd s\u00fabor miniaudio.c. V s\u00fa\u010dasnosti ide len o obal okolo miniaudio.h a MINIAUDIO_IMPLEMENTATION. V miniaudio.h sa ni\u010d nezmenilo, av\u0161ak po vydan\u00ed verzie 0.12 bude potrebn\u00e9 pou\u017ei\u0165 miniaudio.c na kompil\u00e1ciu. Odpor\u00fa\u010da sa za\u010da\u0165 prechod od pou\u017e\u00edvania MINIAUDIO_IMPLEMENTATION na pou\u017e\u00edvanie miniaudio.c. Ak chcete na\u010falej zostavova\u0165 svoj projekt ako jednu jednotku kompil\u00e1cie, m\u00f4\u017eete urobi\u0165 #include \"miniaudio.c\". Tento sp\u00f4sob bude podporovan\u00fd vo verzii 0.12 a nesk\u00f4r.<\/li>\n<li>S\u00fabory miniaudio_libvorbis.h a miniaudio_libopus.h v adres\u00e1ri extras s\u00fa zastaran\u00e9. Teraz s\u00fa rozdelen\u00e9 na samostatn\u00e9 s\u00fabory .c a .h v adres\u00e1ri extras\/decoders. Star\u00e9 s\u00fabory st\u00e1le existuj\u00fa pre kompatibilitu, ale budete musie\u0165 prejs\u0165 na nov\u00e9 verzie. Prechod by mal by\u0165 trivi\u00e1lny.<\/li>\n<li>Pridan\u00e9 mo\u017enosti MA_SOUND_FLAG_LOOPING a MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_LOOPING. Tieto sa daj\u00fa pou\u017ei\u0165 na inicializ\u00e1ciu zvukov a spravovan\u00fdch zdrojov d\u00e1t pre predvolen\u00e9 cyklenie. Toto je odpor\u00fa\u010dan\u00fd sp\u00f4sob, ako zapn\u00fa\u0165 cyklenie pre toky. Mo\u017enosti konfigur\u00e1cie isLooping v ma_sound_config a ma_resource_manager_data_source_config s\u00fa zastaran\u00e9. Ak ich pou\u017e\u00edvate, mali by ste prejs\u0165 na nov\u00e9 mo\u017enosti, inak pri aktualiz\u00e1cii na bud\u00facu verziu dostanete chyby kompil\u00e1tora.<\/li>\n<li>ma_rb_commit_read(), ma_rb_commit_write(), ma_pcm_rb_commit_read() a ma_pcm_rb_commit_write() u\u017e nevracaj\u00fa MA_AT_END. D\u00f4vodom tejto zmeny je, \u017ee v kruhovom vyrovn\u00e1vacom pam\u00e4ti neexistuje pojem \"koniec\", \u010do robilo k\u00f3d nejasn\u00fdm. Okrem toho, tieto funkcie m\u00f4\u017eu vraca\u0165 nie MA_SUCCESS, ale nie\u010do in\u00e9, aj ke\u010f oper\u00e1cia bola \u00faspe\u0161n\u00e1, \u010do prid\u00e1valo \u010fal\u0161\u00ed chaos. Spr\u00e1vny sp\u00f4sob, ako skontrolova\u0165, \u010di je e\u0161te miesto v kruhovom vyrovn\u00e1vacom pam\u00e4ti, je pozrie\u0165 sa na \u010d\u00edta\u010dku sn\u00edmok, ktor\u00fa vracaj\u00fa funkcie rb_acquire_read\/write().<\/li>\n<li>Implement\u00e1cia zdroja d\u00e1t ma_pcm_rb bola zmenen\u00e1 tak, aby v\u00fdstup bol zaplnen\u00fd tichom, ak v kruhovom buffere nie je dostatok d\u00e1t na vykonanie po\u017eiadavky. To znamen\u00e1, \u017ee ma_data_source_read_pcm_frames() pre ma_pcm_rb u\u017e nem\u00e1 vraca\u0165 po\u010det r\u00e1mcov menej, ne\u017e po\u017eadujete, a preto nikdy nebude vraca\u0165 MA_AT_END, \u010do nem\u00e1 zmysel pre kruhov\u00fd buffer, ke\u010f\u017ee nem\u00e1 pojem konca. T\u00e1to zmena by mala zna\u010dne zjednodu\u0161i\u0165 pou\u017e\u00edvanie kruhov\u00e9ho bufferu ako zdroja d\u00e1t pre ma_sound.<\/li>\n<li>Do funkcie ma_calculate_buffer_size_in_milliseconds_from_frames() bola zapracovan\u00e1 mal\u00e1 zmena, ktor\u00e1 sp\u00f4sobila, \u017ee vracia hodnotu zaokr\u00fahlen\u00fa na najbli\u017e\u0161ie cel\u00e9 \u010d\u00edslo.<\/li>\n<li>Pri ne\u00faspe\u0161nej inicializ\u00e1cii dekod\u00e9ra sa teraz vracia prv\u00fd narazen\u00fd chybov\u00fd k\u00f3d, a nie MA_NO_BACKEND bez oh\u013eadu na chybu, ako to bolo predt\u00fdm.<\/li>\n<li>Pridan\u00e1 funkcia ma_device_id_equal() na porovn\u00e1vanie identifik\u00e1torov zariaden\u00ed.<\/li>\n<li>Pridan\u00e1 podpora MA_NO_RUNTIME_LINKING v backend AAudio.<\/li>\n<li>Dokument\u00e1cia bola aktualizovan\u00e1.<\/li>\n<li>Opraven\u00e9 zisten\u00e9 chyby.<\/li>\n<\/ul>\n<p>Zdroj: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/development\/17896481\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>24 \u0444\u0435\u0432\u0440\u0430\u043b\u044f, \u043f\u043e\u0441\u043b\u0435 \u0431\u043e\u043b\u0435\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.11.22 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0437\u0432\u0443\u043a\u0430 miniaudio, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 C \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u043c\u043e\u0439, \u043a\u0430\u043a \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0434\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435. miniaudio \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u0432\u0441\u0435\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043d\u044b\u0445 \u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445, \u0432\u043a\u043b\u044e\u0447\u0430\u044f Windows, macOS, Linux, BSD, iOS, Android \u0438 Web (\u0447\u0435\u0440\u0435\u0437 Emscripten) \u0431\u0435\u0437 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u0433\u0438\u0431\u043a\u0438\u0439 \u0438 \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u0439 API [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":122101,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-122100","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"24 \u0444\u0435\u0432\u0440\u0430\u043b\u044f, \u043f\u043e\u0441\u043b\u0435 \u0431\u043e\u043b\u0435\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.11.22.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/news\/miniaudio-0-11-22\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47miniaudio 0.11.22 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"24 \u0444\u0435\u0432\u0440\u0430\u043b\u044f, \u043f\u043e\u0441\u043b\u0435 \u0431\u043e\u043b\u0435\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.11.22.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/news\/miniaudio-0-11-22\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-02-26T12:22:19+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-02-26T12:22:19+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47miniaudio 0.11.22 | ProHoster","description":"D\u0148a 24. febru\u00e1ra, po viac ako roku v\u00fdvoja, bol vydan\u00fd 0.11.22.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/news\/miniaudio-0-11-22","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47miniaudio 0.11.22 | ProHoster","og:description":"24 \u0444\u0435\u0432\u0440\u0430\u043b\u044f, \u043f\u043e\u0441\u043b\u0435 \u0431\u043e\u043b\u0435\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a 0.11.22.","og:url":"https:\/\/prohoster.info\/sk\/blog\/news\/miniaudio-0-11-22","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-02-26T12:22:19+00:00","article:modified_time":"2025-02-26T12:22:19+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"122100","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 10:55:24","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 10:55:24","updated":"2026-01-23 10:55:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/122100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=122100"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/122100\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/122101"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=122100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=122100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=122100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}