Skip to content

Instantly share code, notes, and snippets.

@Pmmlabs
Pmmlabs / gist:93733ccda784e2fe59d5
Created December 1, 2014 10:53
Поиск по JS объекту
function r(o, max) { // o - родительский объект для поиска, max - максимальный уровень рекурсии.
if (max > 0 && typeof o == 'object' && o != null) {
if (typeof o.cls != 'undefined') // вместо cls пишем свойство, которое хотим найти.
console.log(o);
else
for (i in o)
r(o[i], max - 1);
}
else console.log('end');
}
@Pmmlabs
Pmmlabs / allEmoji.user.js
Last active November 8, 2015 13:12
Плагин для VkOpt, увеличивающий количество смайликов, доступных для вставки в сообщения
// ==UserScript==
// @id allEmoji@vkopt
// @name Все смайлики Emoji для VkOpt
// @version 1.0
// @namespace https://greasyfork.org/users/23
// @author Pmmlabs@github
// @description Плагин для VkOpt, добавляющий в окно смайликов все возможные смайлики
// @include *vk.com*
// @run-at document-end
// @noframes
cur.pinnedVideo = '-460389_160321403';
cur.pinnedVideoInitHandlers = function() {
var post = ge('post-34371983_6');
var playerEl = ge('video_player') || ge('html5_player');
if (post && playerEl && isAncestor(playerEl, post)) {
addEvent(window, 'scroll', cur.pinnedVideoScrollHandler);
cur.destroy.push(cur.pinnedVideoDestroyHandlers);
cur.pinnedVideoScrollHandler();
}
delete cur.pinnedVideoInitHandlers;
@Pmmlabs
Pmmlabs / emoji_bugfix.diff
Created December 6, 2015 11:46
emoji_bugfix
diff --git a/source/vk_main.js b/source/vk_main.js
index 3c3d0f3..6342e47 100644
--- a/source/vk_main.js
+++ b/source/vk_main.js
@@ -691,6 +691,9 @@ vk_features={
if (getSet(95)=='y'){
Inj.Replace('Emoji.addEmoji','Emoji.cssEmoji[code][1]','(Emoji.cssEmoji[code]?Emoji.cssEmoji[code][1]:Emoji.codeToChr(code))');
}
+ Inj.Replace('Emoji.emojiReplace','i == 2','i % 2 == 0');
+ Inj.Replace('Emoji.emojiReplace','charAt(0)','charAt(i-2)');
<html>
<head>
<meta charset="UTF-8"/>
<script type="text/javascript" src="src/mad.js"></script>
<script type="text/javascript" src="src/rq_table.js"></script>
<script type="text/javascript" src="src/imdct_s.js"></script>
<script type="text/javascript" src="src/huffman.js"></script>
<script type="text/javascript" src="src/bit.js"></script>
<script type="text/javascript" src="src/stream.js"></script>
<script type="text/javascript" src="src/layer3.js"></script>
@Pmmlabs
Pmmlabs / log.sh
Created February 8, 2016 14:52
log.sh
rm log_start
rm log_end
rm log_i
rm log
for i in *.01.2016_start; do cat $i >> log_start; echo $i >> log_i; done
for i in *.01.2016_end; do cat $i >> log_end; done
paste log_start log_end | awk '{
b = "date -u --date=\"" $2 "\" +%s"
b | getline d;
a = "date -u --date=\"" $1 "\" +%s"
--8fe1bdfb-4781-436c-a58f-2711180d19bf
Content-Disposition: form-data; name="cookie"
Content-Type: text/plain; charset=UTF-8
Content-Length: 176
Content-Transfer-Encoding: binary
WKbqKXsiVXNlcklkIjoiMW9OUWx4V3lvQVF3UiIsIlNlc3Npb24iOiJBakd1TkdFRWZWdl9wUjdaa2xmQjRDMkg2bE9qZHh0dno2TC00ODA0NUVFPSIsIlZlcnNpb24iOjF9umVXPtz6_dCHl1kKB5_UQsJOqQD0QyuFXVS4TS0HulA=
--8fe1bdfb-4781-436c-a58f-2711180d19bf
Content-Disposition: form-data; name="broadcast_id"
Content-Type: text/plain; charset=UTF-8
// ==UserScript==
// @id chromecast@vkopt
// @name Chromecast для VkOpt
// @version 1.0
// @namespace https://greasyfork.org/users/23
// @author Pmmlabs@github
// @description Плагин Chromecast для VkOpt
// @include *vk.com*
// @run-at document-end
// @noframes
#!/bin/bash
if [ $# -lt 1 ]
then
echo "Usage: $0 movie.mp4"
exit
fi
ffmpeg -loglevel quiet -i $1 -vcodec copy -vbsf h264_mp4toannexb -an -t 1 out.h264
echo $(h264_analyze out.h264 2>&1 | grep -B 6 SPS | head -n1 | cut -c 4- | xxd -r -p | base64)","$(h264_analyze out.h264 2>&1 | grep -B 5 PPS | head -n1 | cut -c 4- | xxd -r -p | base64)
rm -f out.h264
diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c
index ab71d41..53a9e0c 100644
--- a/libavformat/flvenc.c
+++ b/libavformat/flvenc.c
@@ -209,6 +209,7 @@ static void write_metadata(AVFormatContext *s, unsigned int ts)
int metadata_count = 0;
int64_t metadata_size_pos, data_size, metadata_count_pos;
AVDictionaryEntry *tag = NULL;
+ char *sprop = NULL;