Linux API/alsa2014. 10. 23. 17:04
buffer / period 값에 따라서 cpu 점유율이 천차만별이다.
call을 얼마나 하는지 이런건 한번 프로파일링 하던가 해봐야 할 듯

ARM926 / 454MHz

period_size: 8
buffer_size: 2040

period_size: 2048
buffer_size: 16384


cpu 점유율 20% 하락 효과 ㄷㄷ 

'Linux API > alsa' 카테고리의 다른 글

alsa low latency  (0) 2014.11.03
SALSA - Small ALSA  (0) 2014.10.24
alsa 패키지 종류  (0) 2014.10.21
alsa 버전확인하기  (0) 2014.10.16
alsa 프로그래밍 정리  (0) 2014.09.18
Posted by 구차니
프로그램 사용/VLC2014. 10. 22. 17:23
일단.. 현재는 실패 ㅠㅠ
당연(?) 한것이겠지만 라우터/공유기가 있어야 작동한다.

[링크 : http://sola99.tistory.com/137
[링크 : http://eakdrive.com/?p=440

+
2018.02.08


'프로그램 사용 > VLC' 카테고리의 다른 글

dash with VLC  (0) 2015.09.11
VLC dshow(캡쳐장비) 해상도 설정  (0) 2015.05.23
VLC에서 mms로 스트리밍 하기  (0) 2014.03.13
VLC RTSP 데이터 덤프하기?  (0) 2013.02.26
vlc를 이용한 html rtsp 스트리밍 예제  (2) 2013.01.11
Posted by 구차니
대략.. 2012년 즈음의 버전인듯
아무튼.. 테스트 해보니.

Mplayer 내장 ffmpeg을 써도 cpu 점유율이 arm에서 낮아지지 않는다.
Mplayer에서 외계인을 구워삶았나...

[링크 : https://trac.ffmpeg.org/ticket/1376]

아마도.. 거의 정확하게는 2012월 3월 자?
MPlayer 1.1이 의외로 얼마 안된거구나..


[링크 : https://github.com/FFmpeg/FFmpeg/commits/release/0.10/VERSION]
Posted by 구차니
Programming/php2014. 10. 21. 15:01
원인불명으로.. 실행이 안되서 여전히 고민..
일단 php-cgi를 재컴파일 해서 바꿔치기 해서
php-cgi 자체의 소유권 때문인가 싶어서 테스트 해봤지만
php-cgi가 root:root 던 www:www던 둘다 상관없이 안되므로 패스..


srwxr-xr-x    1 www      www             0 Jan  1 09:00 php.sock-0 

lighttpd.log 에서는 아래와 같이 에러가 발생한다.
1970-01-01 09:00:25: (log.c.166) server started
1970-01-01 09:00:25: (mod_fastcgi.c.977) bind failed for: unix:/tmp/php.sock-0 Permission denied
1970-01-01 09:00:25: (mod_fastcgi.c.1397) [ERROR]: spawning fcgi failed.
1970-01-01 09:00:25: (server.c.964) Configuration of plugins failed. Going down.

일단.. 임시 방책으로
mkdir /tmp/www
chown www:www /tmp/www
으로 회피 -_- 

'Programming > php' 카테고리의 다른 글

php simpleXML  (0) 2014.12.22
xcache 1.3.2 for php 5.3.22 for ARM  (0) 2014.11.11
php.ini extension_dir  (0) 2014.10.20
php 5.3.22 / xcache 1.3.2  (0) 2014.10.15
php 5.5.17 opcache / arm  (0) 2014.10.14
Posted by 구차니
Linux API/alsa2014. 10. 21. 12:22
머가 이리 많아! 라고 멘붕중이지만..
Driver는 말그대로 Kernel에 들어가는 Driver (snd / soundcore.ko ?)
Firmeware는 사운드 카드에 들어가는 펌웨어(이건 웬지 더 쓸일이 없어 보이네)
library는 libasound.so 사용자 라이브러리(1.0.28에서 memory leak 해결된 부분이 있다고 함
util은 검증용 같고..
tools는 mixer등의 도구들

PackageStable Release

(2012-01-25)

Development ReleaseDescription
Driver (alsa-driver) 1.0.25 none Kernel drivers
Firmware alsa-firmware) 1.0.28 none Firmware for cards that require it
Library (alsa-lib) 1.0.28 none Userspace library
Plugins (alsa-plugins) 1.0.28 none Additional library plugins Eg.jack, pulse, maemo ...
Utilities (alsa-utils) 1.0.28 none Utilities aplay,arecord,amixer etc
Tools (alsa-tools) 1.0.28 none Tools
PyALSA (pyalsa) 1.0.26 none Python bindings for ALSA lib
OSS compat lib (alsa-oss) 1.0.28 none OSS compatibility library

[링크 : http://www.alsa-project.org/main/index.php/Download]

'Linux API > alsa' 카테고리의 다른 글

SALSA - Small ALSA  (0) 2014.10.24
alsa + ffmpeg 벤치마크(?)  (0) 2014.10.23
alsa 버전확인하기  (0) 2014.10.16
alsa 프로그래밍 정리  (0) 2014.09.18
alsa proc file system  (0) 2014.09.16
Posted by 구차니
ffmpeg 을 static libaray로 링크해서 사용하는 프로그램을 작성중에
라이브러리 다시 컴파일 해서 바꿔치기 하는데 이런 에러 발생!!
 
/ffmpeg-1.0/libavformat/swfdec.c:116: undefined reference to `inflateInit_'
./lib/libavformat.a(swfdec.o): In function `zlib_refill':
/ffmpeg-1.0/libavformat/swfdec.c:84: undefined reference to `inflate'
./lib/libavformat.a(swfdec.o): In function `swf_read_close':
/ffmpeg-1.0/libavformat/swfdec.c:278: undefined reference to `inflateEnd'
./lib/libavcodec.a(cscd.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/cscd.c:95: undefined reference to `uncompress'
./lib/libavcodec.a(dxa.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/dxa.c:236: undefined reference to `uncompress'
./lib/libavcodec.a(exr.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/exr.c:551: undefined reference to `uncompress'
./lib/libavcodec.a(flashsv.o): In function `flashsv_decode_block':
/ffmpeg-1.0/libavcodec/flashsv.c:165: undefined reference to `inflateReset'
./lib/libavcodec.a(flashsv.o): In function `flashsv2_prime':
/ffmpeg-1.0/libavcodec/flashsv.c:138: undefined reference to `inflate'
/ffmpeg-1.0/libavcodec/flashsv.c:140: undefined reference to `deflateInit_'
/ffmpeg-1.0/libavcodec/flashsv.c:145: undefined reference to `deflate'
/ffmpeg-1.0/libavcodec/flashsv.c:146: undefined reference to `deflateEnd'
/ffmpeg-1.0/libavcodec/flashsv.c:148: undefined reference to `inflateReset'
/ffmpeg-1.0/libavcodec/flashsv.c:154: undefined reference to `inflate'
./lib/libavcodec.a(flashsv.o): In function `flashsv_decode_block':
/ffmpeg-1.0/libavcodec/flashsv.c:177: undefined reference to `inflate'
/ffmpeg-1.0/libavcodec/flashsv.c:180: undefined reference to `inflateSync'
/ffmpeg-1.0/libavcodec/flashsv.c:181: undefined reference to `inflate'
./lib/libavcodec.a(flashsv.o): In function `calc_deflate_block_size':
/ffmpeg-1.0/libavcodec/flashsv.c:222: undefined reference to `deflateInit_'
/ffmpeg-1.0/libavcodec/flashsv.c:224: undefined reference to `deflateBound'
/ffmpeg-1.0/libavcodec/flashsv.c:225: undefined reference to `deflateEnd'
./lib/libavcodec.a(flashsv.o): In function `flashsv_decode_end':
/ffmpeg-1.0/libavcodec/flashsv.c:443: undefined reference to `inflateEnd'
./lib/libavcodec.a(flashsv.o): In function `flashsv_decode_init':
/ffmpeg-1.0/libavcodec/flashsv.c:112: undefined reference to `inflateInit_'
./lib/libavcodec.a(flashsv2enc.o): In function `encode_zlib':
/ffmpeg-1.0/libavcodec/flashsv2enc.c:355: undefined reference to `compress2'
./lib/libavcodec.a(flashsv2enc.o): In function `encode_zlibprime':
/ffmpeg-1.0/libavcodec/flashsv2enc.c:367: undefined reference to `deflateInit_'
/ffmpeg-1.0/libavcodec/flashsv2enc.c:376: undefined reference to `deflate'
/ffmpeg-1.0/libavcodec/flashsv2enc.c:385: undefined reference to `deflate'
/ffmpeg-1.0/libavcodec/flashsv2enc.c:386: undefined reference to `deflateEnd'
./lib/libavcodec.a(flashsvenc.o): In function `encode_bitstream':
/ffmpeg-1.0/libavcodec/flashsvenc.c:170: undefined reference to `compress2'
./lib/libavcodec.a(flashsvenc.o): In function `flashsv_encode_end':
/ffmpeg-1.0/libavcodec/flashsvenc.c:269: undefined reference to `deflateEnd'
./lib/libavcodec.a(lcldec.o): In function `zlib_decomp':
/ffmpeg-1.0/libavcodec/lcldec.c:137: undefined reference to `inflateReset'
/ffmpeg-1.0/libavcodec/lcldec.c:146: undefined reference to `inflate'
/ffmpeg-1.0/libavcodec/lcldec.c:137: undefined reference to `inflateReset'
/ffmpeg-1.0/libavcodec/lcldec.c:146: undefined reference to `inflate'
/ffmpeg-1.0/libavcodec/lcldec.c:137: undefined reference to `inflateReset'
/ffmpeg-1.0/libavcodec/lcldec.c:146: undefined reference to `inflate'
./lib/libavcodec.a(lcldec.o): In function `decode_end':
/ffmpeg-1.0/libavcodec/lcldec.c:638: undefined reference to `inflateEnd'
./lib/libavcodec.a(lcldec.o): In function `decode_init':
/ffmpeg-1.0/libavcodec/lcldec.c:612: undefined reference to `inflateInit_'
./lib/libavcodec.a(lclenc.o): In function `encode_frame':
/ffmpeg-1.0/libavcodec/lclenc.c:82: undefined reference to `deflateBound'
/ffmpeg-1.0/libavcodec/lclenc.c:96: undefined reference to `deflateReset'
/ffmpeg-1.0/libavcodec/lclenc.c:107: undefined reference to `deflate'
/ffmpeg-1.0/libavcodec/lclenc.c:113: undefined reference to `deflate'
./lib/libavcodec.a(lclenc.o): In function `encode_end':
/ffmpeg-1.0/libavcodec/lclenc.c:181: undefined reference to `deflateEnd'
./lib/libavcodec.a(lclenc.o): In function `encode_init':
/ffmpeg-1.0/libavcodec/lclenc.c:162: undefined reference to `deflateInit_'
./lib/libavcodec.a(pngdec.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/pngdec.c:424: undefined reference to `inflateInit_'
./lib/libavcodec.a(pngdec.o): In function `png_decode_idat':
/ffmpeg-1.0/libavcodec/pngdec.c:373: undefined reference to `inflate'
./lib/libavcodec.a(pngdec.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/pngdec.c:708: undefined reference to `inflateEnd'
./lib/libavcodec.a(pngenc.o): In function `png_write_chunk':
/ffmpeg-1.0/libavcodec/pngenc.c:185: undefined reference to `crc32'
/ffmpeg-1.0/libavcodec/pngenc.c:187: undefined reference to `crc32'
/ffmpeg-1.0/libavcodec/pngenc.c:190: undefined reference to `crc32'
./lib/libavcodec.a(pngenc.o): In function `png_write_row':
/ffmpeg-1.0/libavcodec/pngenc.c:205: undefined reference to `deflate'
./lib/libavcodec.a(pngenc.o): In function `encode_frame':
/ffmpeg-1.0/libavcodec/pngenc.c:291: undefined reference to `deflateInit2_'
/ffmpeg-1.0/libavcodec/pngenc.c:296: undefined reference to `deflateBound'
/ffmpeg-1.0/libavcodec/pngenc.c:400: undefined reference to `deflate'
/ffmpeg-1.0/libavcodec/pngenc.c:425: undefined reference to `deflateEnd'
./lib/libavcodec.a(svq3.o): In function `svq3_decode_init':
/ffmpeg-1.0/libavcodec/svq3.c:915: undefined reference to `uncompress'
./lib/libavcodec.a(tiff.o): In function `tiff_uncompress':
/ffmpeg-1.0/libavcodec/tiff.c:339: undefined reference to `inflateInit_'
/ffmpeg-1.0/libavcodec/tiff.c:344: undefined reference to `inflate'
/ffmpeg-1.0/libavcodec/tiff.c:345: undefined reference to `inflateEnd'
./lib/libavcodec.a(tiffenc.o): In function `encode_strip':
/ffmpeg-1.0/libavcodec/tiffenc.c:177: undefined reference to `compress'
./lib/libavcodec.a(tscc.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/tscc.c:89: undefined reference to `inflateReset'
/ffmpeg-1.0/libavcodec/tscc.c:98: undefined reference to `inflate'
./lib/libavcodec.a(tscc.o): In function `decode_end':
/ffmpeg-1.0/libavcodec/tscc.c:198: undefined reference to `inflateEnd'
./lib/libavcodec.a(tscc.o): In function `decode_init':
/ffmpeg-1.0/libavcodec/tscc.c:174: undefined reference to `inflateInit_'
./lib/libavcodec.a(zerocodec.o): In function `zerocodec_decode_frame':
/ffmpeg-1.0/libavcodec/zerocodec.c:55: undefined reference to `inflateReset'
/ffmpeg-1.0/libavcodec/zerocodec.c:80: undefined reference to `inflate'
./lib/libavcodec.a(zerocodec.o): In function `zerocodec_decode_close':
/ffmpeg-1.0/libavcodec/zerocodec.c:115: undefined reference to `inflateEnd'
./lib/libavcodec.a(zerocodec.o): In function `zerocodec_decode_init':
/ffmpeg-1.0/libavcodec/zerocodec.c:142: undefined reference to `inflateInit_'
./lib/libavcodec.a(zmbv.o): In function `decode_frame':
/ffmpeg-1.0/libavcodec/zmbv.c:513: undefined reference to `inflate'
/ffmpeg-1.0/libavcodec/zmbv.c:484: undefined reference to `inflateReset'
./lib/libavcodec.a(zmbv.o): In function `decode_end':
/ffmpeg-1.0/libavcodec/zmbv.c:667: undefined reference to `inflateEnd'
./lib/libavcodec.a(zmbv.o): In function `decode_init':
/ffmpeg-1.0/libavcodec/zmbv.c:643: undefined reference to `inflateInit_'
./lib/libavcodec.a(zmbvenc.o): In function `encode_frame':
/ffmpeg-1.0/libavcodec/zmbvenc.c:226: undefined reference to `deflate'
/ffmpeg-1.0/libavcodec/zmbvenc.c:217: undefined reference to `deflateReset'
./lib/libavcodec.a(zmbvenc.o): In function `encode_end':
/ffmpeg-1.0/libavcodec/zmbvenc.c:332: undefined reference to `deflateEnd'
./lib/libavcodec.a(zmbvenc.o): In function `encode_init':
/ffmpeg-1.0/libavcodec/zmbvenc.c:309: undefined reference to `deflateInit_'
./lib/libavformat.a(id3v2.o): In function `ff_id3v2_parse':
/ffmpeg-1.0/libavformat/id3v2.c:686: undefined reference to `uncompress'
./lib/libavformat.a(matroskadec.o): In function `matroska_decode_buffer':
/ffmpeg-1.0/libavformat/matroskadec.c:1101: undefined reference to `inflateInit_'
/ffmpeg-1.0/libavformat/matroskadec.c:1116: undefined reference to `inflate'
/ffmpeg-1.0/libavformat/matroskadec.c:1109: undefined reference to `inflateEnd'
/ffmpeg-1.0/libavformat/matroskadec.c:1121: undefined reference to `inflateEnd'
./lib/libavformat.a(mov.o): In function `mov_read_cmov':
/ffmpeg-1.0/libavformat/mov.c:2605: undefined reference to `uncompress'
./lib/libavformat.a(rtmpproto.o): In function `rtmp_uncompress_swfplayer':
/ffmpeg-1.0/libavformat/rtmpproto.c:995: undefined reference to `inflateInit_'
/ffmpeg-1.0/libavformat/rtmpproto.c:1005: undefined reference to `inflate'
/ffmpeg-1.0/libavformat/rtmpproto.c:1023: undefined reference to `inflateEnd'
collect2: ld returned 1 exit status
make: *** [all] 오류 1

ffmpeg 옵션을 찾아보니 zlib / bzlib에 대한 옵션에 존재하는데
문제는 --disable-all을 해도 이녀석은 autodetect 라서 강제로 활성화 되는 것으로 보여진다.
그래서! 강제로 --disagle-zlib --disable-bzlib를 해주고
생성되는 .a 파일들을 다시 링크하니 위와 같은 문제 해결!

./configure --help
  --enable-bzlib           enable bzlib [autodetect]
  --enable-zlib            enable zlib [autodetect] 


'프로그램 사용 > ffmpeg & ffserver' 카테고리의 다른 글

Mplayer 캐시 설정  (0) 2014.11.06
Mplayer 1.1 / ffmpeg 0.10.2 git  (0) 2014.10.22
MPlayer 1.1 크로스컴파일  (0) 2014.10.08
live555 관련링크  (0) 2014.10.07
ASLA 입출력 - mplayer / ffmpeg  (0) 2014.09.29
Posted by 구차니
Programming/php2014. 10. 20. 11:03
configure를 다시 뒤져봐도 컴파일시 지정하지 못했던 부분인데 어디서 나오는건지..

phpinfo()에서 extension_dir을 보면
php 5.3.22 기준 아래의 경로를 찍어 주는데
/usr/local/lib/php/extensions/no-debug-non-zts-20090626/

lighttpd -m/usr/lib를 해주어도 위의 경로에 무조건! 넣어 주어야 extension이 작동한다
일단.. 경로가 괴랄하니..

php.ini 에다가 
extension_dir = "/usr/lib" 라고 해주면 깔끔(?)하게 끝!

extension_dir
In what directory PHP should look for dynamically loadable extensions. See also: enable_dl, and dl().
 
[링크 : http://php.net/manual/en/ini.core.php#ini.extension-dir]

'Programming > php' 카테고리의 다른 글

xcache 1.3.2 for php 5.3.22 for ARM  (0) 2014.11.11
lighttpd + php 퍼미션 문제  (0) 2014.10.21
php 5.3.22 / xcache 1.3.2  (0) 2014.10.15
php 5.5.17 opcache / arm  (0) 2014.10.14
php - extensions are not supported on this platform / arm  (0) 2014.10.14
Posted by 구차니
Programming/web 관련2014. 10. 20. 09:46

먼가 테스트 하다보니..
Firefox에서 이런 메타 태그가 보여서 성능 향상에 영향을 미칠까 하고 검색을 해보았지만..



CACHE-CONTROL
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
HTTP 1.1. Allowed values = PUBLIC | PRIVATE | NO-CACHE | NO-STORE. 
 
Public - may be cached in public shared caches 
Private - may only be cached in private cache 
no-Cache - may not be cached 
no-Store - may be cached but not archived

The directive CACHE-CONTROL:NO-CACHE indicates cached information should not be used and instead requests should be forwarded to the origin server. This directive has the same semantics as the PRAGMA:NO-CACHE. 
Clients SHOULD include both PRAGMA:NO-CACHE and CACHE-CONTROL:NO-CACHE when a no-cache request is sent to a server not known to be HTTP/1.1 compliant. 
Also see EXPIRES. 
Note: It may be better to specify cache commands in HTTP than in META statements, where they can influence more than the browser, but proxies and other intermediaries that may cache information.
[링크 : http://www.i18nguy.com/markup/metatags.html]  

정적 데이터에는 유효하나(캐싱된거 다시 쓰니)
동적 데이터(php 라던가?)는 이래저래 의미가 없을 듯 하다.
[링크 : http://blog.saltfactory.net/202]

'Programming > web 관련' 카테고리의 다른 글

웹소켓(websocket)  (0) 2015.01.07
html / input type radio에서의 reset 처리  (0) 2015.01.06
aptana / eclipse  (0) 2014.08.25
node.js  (0) 2014.07.07
부트스트랩 - 웹개발 프레임워크  (0) 2014.07.07
Posted by 구차니

나를 보고 웃는게 아니라는게 함정 -_-
아내를 향해서만 웃는 너란 강아지 개복이 -_-




'개소리 왈왈 > 사진과 수다' 카테고리의 다른 글

10km 상공에서의 해맞이  (2) 2014.10.31
10km 상공의 별자리  (0) 2014.10.31
개기일식?  (0) 2014.10.08
요즘은.. 무지개가 많이 생기네?  (0) 2014.08.02
10년 만의 고향  (2) 2014.06.21
Posted by 구차니
Linux API/alsa2014. 10. 16. 09:42
Ubuntu 10.04의 경우 1.0.21 버전이고
현재 최신 버전은 2014년 6월 17일자로 1.0.28 버전이다.

/proc/asound$ cat version
Advanced Linux Sound Architecture Driver Version 1.0.21.


아무튼.. 1.0.28 버전에서 잠재적 memory leak이 해결되었다는데.. 어떨런지?

[링크 : http://alsa.opensrc.org/TroubleShooting]
[링크 : http://stackoverflow.com/questions/13478861/alsa-mem-leak] << 해결책으로 conf 설정을 free 하라고 한다
   [링크 : http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=MEMORY-LEAK;hb=HEAD]

[링크 : http://www.alsa-project.org/main/index.php/Changes_v1.0.27.2_v1.0.28]
[링크 : http://www.alsa-project.org/main/index.php/Download]


ALSA 크로스 컴파일
[링크 : http://forum.falinux.com/zbxe/index.php?document_srl=531325&mid=lecture_tip

ALSA 다운로드 링크
driver / lib / firmware가 있는데.. 걍 lib만 하면 libasound.so가 나오는 것으로 보인다.
[링크 : ftp://ftp.alsa-project.org/pub/lib/ ]
[링크 : http://alsa.cybermirror.org/lib/

'Linux API > alsa' 카테고리의 다른 글

alsa + ffmpeg 벤치마크(?)  (0) 2014.10.23
alsa 패키지 종류  (0) 2014.10.21
alsa 프로그래밍 정리  (0) 2014.09.18
alsa proc file system  (0) 2014.09.16
ALSA (Advanced Linux Sound Architecture)  (0) 2014.09.15
Posted by 구차니