ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®
ÇöÀçÀ§Ä¡ : JCvs>pmp3



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

"pmp3" project wiki page

[http]JCvs tree·Î °¡±â
[http]pmp3ÀÇ CVS tree·Î °¡±â
[http]pmp3 repository

Â÷·Ê

Contents

1 "pmp3" project wiki page
1.1 Â÷·Ê
1.2 °³¿ä
1.3 ÀúÀÛ±Ç
1.4 °³¹ß°èȹ
1.5 º¯°æ»çÇ×
1.6 ¾Ë·ÁÁø ¹®Á¦Á¡ / °ËÁõ¿ä¼Ò
1.7 ¹®¼­
1.8 ´Ù¿î·Îµå
1.9 °ÇÀÇ»çÇ× ¹× »ç¿ë¼Ò°¨
1.10 ½ºÅ©¸°¼¦
1.11 Âü¿©ÀÚ Á¤º¸

1.2 °³¿ä

  • MP3Çü½ÄÀÌ À߸øµÈ ÆÄÀÏÀÇ ÀԷ¿¡¼­ °Å¶áÇÏ°Ô »ì¾ÆÀÖ´Â ¹ö±× ¾ø´Â MP3 library¸¦ ÁöÇâÇÕ´Ï´Ù.
  • Å©±â°¡ ÀÛ°í CPUÁ¡À¯°¡ ÀûÀº Embedded¿¡ ÀûÇÕÇÑ library¸¦ ÁöÇâÇÕ´Ï´Ù.
  • UIÀÇ ºÐ¸®¸¦ À§ÇØ ¿ÜºÎ Á¦¾î ¸ðµâÀ» ÅëÇÑ Á¢±Ù ¹æ½ÄÀ» ÁöÇâÇÕ´Ï´Ù. (Server to clent)
  • C¸¦ ÁÖ °³¹ß¾ð¾î·Î äÅÃÇϰí ÀÖÀ¸³ª CPUÁ¡À¯¸¦ ³»¸®±â À§Çؼ­ Assembly¸¦ ¾ÆÅ°ÅØÃĺ°·Î ÃÖÀûÈ­Çϴ°ÍÀ» ÁöÇâÇÕ´Ï´Ù.

    1.3 ÀúÀÛ±Ç

  • pmp3´Â libmpg123ÀÇ decoderºÎºÐÀ¸·ÎºÎÅÍ ÆÄ»ýµÇ¾úÀ¸¹Ç·Î ±× ¾î¶°ÇÑ »ó¾÷ÀûÀÎ ¿ëµµ·Î º¯°æÇÒ¼ö ¾øÀ¸¸ç libmpg123ÀÇ ¶óÀ̼¾½º Á¤Ã¥À» »ó¼Ó¹Þ½À´Ï´Ù. ´Ü, mp3_ext.c¿Í mp3_ext.h ´Â ´Üµ¶À¸·Î ºÐ¸®µÈ °ÍÀ¸·Î Â÷ÈÄ¿¡ decoderºÎºÐÀÌ µ¶¸³µÇ¾î ÀüÇô ´Ù¸¥ ±â¹ÝÀÇ ¾Ë°í¸®ÁòÀ» Àû¿ëÇØ ³ª°¥°ÍÀ̰í À̰ÍÀÌ ¿Ï¼ºµÇ´Â ¼ø°£ ¼ø¼ö µ¶¸³ÀûÀÎ GPLÀ» À¯ÁöÇÒ¼ö ÀÖÀ»°Å¶ó »ý°¢µË´Ï´Ù.
  • Çö½ÃÁ¡¿¡¼­ °ø°³ÇÑ ÀÌÀ¯´Â ¿À·ÎÁö °³ÀÎÀûÀÎ Ãë¹Ì¸¦ °¡ÁøºÐµé¿¡°Ô º¸´Ù ÁÁÀº ¾Ë°í¸®ÁòÀÇ °í¾ÈÀ» À¯ÃâÇØº¸ÀÚ´Â ÀÌÀ¯·Î ½ÃÀ۵ǾúÀ¸¸ç Â÷ÈÄ ÀÚü ¾Ë°í¸®ÁòÀ¸·Î ÀüÈ¯ÇØ ³ª°¥°ÍÀÔ´Ï´Ù. ±× Àü±îÁö´Â ¸ðµç ÀúÀÛ±ÇÀº libmpg123ÀÇ ¶óÀ̼¾½º Á¤Ã¥ÀÌ ¿ì¼±ÇÕ´Ï´Ù.
  • MP3 decodeÀÚüÀÇ ¶óÀ̼¾½º ¹®Á¦´Â ¾ÆÁ÷ Á¦°¡ ÀÚ¼¼È÷ Á¶»çÇÏÁö ¸øÇß½À´Ï´Ù. ÀÌÁ¡¿¡ ´ëÇØ¼­ »ç¿ëÇϽô ¸ðµç ºÐµéÀº ÃæºÐÇÑ Á¶»ç¸¦ ÇϽʽÿä!

    1.4 °³¹ß°èȹ

  • 2001³â ¸»ºÎÅÍ ÇÁ·ÎÁ§Æ®¸¦ ½ÃÀÛÇÏ¿© 2002³â ÃʺÎÅÍ °³¹ßÁßÁö
  • 2003³â 11¿ù 7ÀϺηΠjoinc¿¡¼­ pmp3 project¸¦ ½ÃÀÛ
  • 2004³â 3¿ù : Full/Block buffer modeÁö¿ø, oggÁö¿ø ÀϺΠ½Ãµµ
  • 2004³â 6¿ù : UIÀÛ¾÷
  • 2004³â 12¿ù : ´Ù¾çÇÑ ¾ÆÅ°ÅØÃÄ·Î Æ÷ÆÃ, ogg ȣȯ¿Ï·á

    1.5 º¯°æ»çÇ×

  • 2002³â ÃʱîÁö : libmpg123ÀÇ decodeºÎºÐÀ» ±Ù°£À¸·Î ½ÃÀÛÇÏ¿© ¹ö±× ÀϺκР¼öÁ¤ ¹× ¹öÆÛ°ü¸® ±³Ã¼¿Í ºÒÇÊ¿äÇÑ ¿ä¼Ò Á¦°Å ±×¸®°í PPC·Î Æ÷ÆÃ
  • 2003³â 11¿ù 10ÀÏ : pmp3.c¿¡¼­ bufferingºÎºÐÀ» thread·Î ¹Ù²Ù°í ID3 header¸¦ ¼±°ËÃâÇÏ¿© º¸¿©ÁÖµµ·Ï Ãß°¡Çϰí ÁøÇà·ü Ç¥½Ã¸¦ ´çºÐ°£ »èÁ¦ÇÏ¿´À½.
  • 2003³â 11¿ù 11ÀÏ : pmp3.c¿¡¼­ ÁöÁ¤µÈ ÀÎÀÚ°¡ ÆÄÀÏÀΰæ¿ì ±×´ë·Î list¿¡ Ãß°¡ÇÏ¸ç ¼Ó¼ºÀÌ directoryÀΰæ¿ì ÀÚµ¿À¸·Î ÇÏÀ§ directory±¸Á¶¸¦ scanningÇÏ¿© ÆÄÀϵéÀ» list¿¡ Ãß°¡Çϵµ·Ï ÇÔ.
  • 2003³â 11¿ù 13ÀÏ : ÁøÇà·ü Ç¥½Ã ´Ù½Ã ³ÖÀ½. (¾ÐÃàºñÀ²Ç¥½Ã Ãß°¡)
  • 2003³â 11¿ù 17ÀÏ : autoconf Àû¿ë.
  • 2003³â 11¿ù 18ÀÏ : mixer library °³¼± (mixer.c, dsp.c)
  • 2003³â 12¿ù 16ÀÏ : interface.c ¿¡¼­ c_Tag °ËÃâºÎºÐ (ID3 tag °Ë»öÀ» ÇÏ¿© struct mpstr.TAG ¿¡ ¹Ð¾î ³Ö´Â ºÎºÐ)ÀÌ Á¤»óÀûÀÎ µ¿ÀÛÀ» ÇÏÁö ¾Ê´Â°ÍÀ¸·Î ¹ö±×·Î ¹ß°ßµÇ¾ú°í À̸¦ L_TAG_ADD ¶óº§·Î ºÐ±âÅä·Ï ¼öÁ¤. Âü°í·Î ÇöÀç ID3 °ËÃâ ¹æ¹ýÀº 2°¡Áö°¡ Á¸ÀçÇϸç pmp3 ÀÚü¿¡´Â ÀÌ ¹æ¹ýÀ» »ç¿ëÄ¡ ¾ÊÀ¸¸ç mp3_ext ¿¡¼­ µû·Î ÀÛ¼ºµÈ °Ë»ö ·çƾÀ» »ç¿ëÇϰí ÀÖ½À´Ï´Ù.
  • 2003³â 12¿ù 30ÀÏ : Àç»ý¸ñ·ÏÀ» ÀÓÀÇ·Î ¼¯´Â ±â´É Ãß°¡.
  • 2004³â 3¿ù 25ÀÏ : ¿¡·¯¸Þ¼¼Áö ¸î°³ Ãß°¡ (/dev/dsp open ½ÇÆÐ, Thread »ý¼º ½ÇÆÐ)
  • 2004³â 12¿ù 16ÀÏ : pmp3 0.0.9 binary RPM ¹èÆ÷
  • 2005³â 8¿ù 10ÀÏ : pmp3 0.0.9 source ¸¦ ¸Å¿ì °£·«È­ÇÏ¿© ¸¸µç ¼Ò½º Á¦°ø (CVS¿¡´Â µî·Ï¾ÈÇÔ - ¹Ø¿¡ ´Ù¿î·Îµå ºÎºÐÂü°í)

    1.6 ¾Ë·ÁÁø ¹®Á¦Á¡ / °ËÁõ¿ä¼Ò


  • °ËÁõ¿ä¼Ò : ¸Þ¸ð¸® ´©¼ö°¡ ¾à°£(´Ü±â 200byte) ¹ß»ýÇϴ°ÍÀ¸·Î º¸ÀÓ. (Áö¼ÓÇü LeakÀÌ ¾Æ´Ï¸ç 1ȸ free°¡ ¾ÈµÇ´Â °ÍÀ¸·Î valgrind ·Î °ËÁõ°á°ú È®ÀÎ)
    • Á¶Ä¡ : ÁøÇàÁß (MP3 decoderÂÊÀº ¾Æ´Ñ°ÍÀ¸·Î º¸ÀÓ. mp3_ext.c ÀÇ ¾îµò°¡·Î ÁüÀÛÇϰí ÀÖÀ½.)
    • È®ÀοϷá : ¿øÀÎÀº pthread¿Í valgrind°¡ ¹®Á¦¿´À½ÀÌ È®ÀεÊ. ½ÇÁ¦·Î Å« ¹®Á¦´Â ¾Æ´Ï¸ç ´ÜÁö valgrind°¡ pthreadÀÇ Æ¯¼öÇÑ »óȲÀ» Á¤È®È÷ ÃßÀûÇÏÁö ¸øÇÔ. Áï, ¸Þ¸ð¸® ´©¼ö ¾øÀ½.
  • 8K Audio buffer: ÀϺΠ»ç¿îµåĨ¼Â ¶Ç´Â µå¶óÀ̹ö¿¡¼­ 8KÀÌÇÏ·Î push ÇÏ´Â °æ¿ì ¹®Á¦°¡ ÀÖÀ½À» È®ÀÎÇÏ¿´½À´Ï´Ù. ´ëºÎºÐ 8K alignment ÇÏ¿© push ÇÏ¸é ¹®Á¦°¡ ¾ø±º¿ä. 8KÀÌÇÏ·Î push ÇÒ°æ¿ì ´ÙÀ½°ú °°Àº ¹®Á¦Á¡µéÀÌ ³ªÅ¸³µ½À´Ï´Ù. Ç×»ó Çö»óÀÌ ¹ß»ýµÇ´Â °ÍÀº ¾Æ´Ï¸ç ´ëºÎºÐ SampleRate ¿¡ ÇØ´çÇÏ´Â ¸¸Å­ÀÇ PCM data ¸¦ ¹Ð¾î³Ö¾îÁÖÁö ¸øÇÒ¶§ Àß ¹ß»ýÇÕ´Ï´Ù. pmp3 ¿¡¼­ ÀÌ ºÎºÐÀ» Á¶¸Á°£ ¼öÁ¤Çسö¾ß µÇ°Ú½À´Ï´Ù. (»ç¿îµå Ĩ¼Â¿¡¼­ Á¦Ç°¸íÀº ¹àÈ÷Áö ¾Ê°Ú½À´Ï´Ù.)
    1. close ÇÔ¼ö¿¡¼­ block µÇ¹ö¸®´Â Çö»ó
    2. À½ÁúÀÇ ¿Ö°îÀÌ ½ÉÇÑ Çö»ó
    3. À½ÀÌ ²÷±â´Â Çö»ó
    4. write ÇÔ¼ö¿¡¼­ ÀÌ»ó½ÃÁ¡¿¡ ¹ÝȯµÇ´Â Çö»ó

    1.7 ¹®¼­

  • MP3 / ID3 format: http://minzkn.wowdns.com:2745/screenshot/MPEG_AudioFrame.html
  • »ùÇøµ ±â¼ú: TODO
  • »ç¿îµå µå¶óÀ̹öº° Ư¡: TODO
  • mpg123 ȨÆäÀÌÁö: http://www.mpg123.de

    1.8 ´Ù¿î·Îµå

  • CVS checkout pmp3 : ÁÖ ÇÁ·ÎÁ§Æ®

    bash# cvs -d :pserver:anonymous@cvs.joinc.co.kr:/home/jcvs/pmp3 login
          <¾ÏÈ£¸¦ ÀÔ·ÂÇ϶ó°í ³ª¿À¸é Enter(!) ÀÔ·Â>
    bash# cvs -d :pserver:anonymous@cvs.joinc.co.kr:/home/jcvs/pmp3 co pmp3
    
  • CVS checkout "pmp3 tiny" : ºÎ ÇÁ·ÎÁ§Æ®

    bash# cvs -d :pserver:anonymous@cvs.joinc.co.kr:/home/jcvs/pmp3 login
          <¾ÏÈ£¸¦ ÀÔ·ÂÇ϶ó°í ³ª¿À¸é Enter(!) ÀÔ·Â>
    bash# cvs -d :pserver:anonymous@cvs.joinc.co.kr:/home/jcvs/pmp3 co pmp3_tiny
    
  • ±×¹Û¿¡ ºÎ ÇÁ·ÎÁ§Æ®¸¦ ¹ÞÀ¸½Ã·Á¸é [http]¿©±â¸¦ ´­·¯¼­ º¸´Ù ¸¹Àº moduleÀ» È®ÀÎÇϽðí ÇÊ¿äÇѺκÐÀ» ¹ÞÀ¸¼¼¿ä.

  • Release download [http]ViewCVS
    Release date Version Download link md5sum ¼³¸í
    2004.3.25 0.0.9 Upload new Attachment "pmp3-0.0.9.tar.gz" 79beffe401d78bb736b9e6caab0c4238 ¼Ò½º tarball
    2004.12.16 0.0.9 build 1 Upload new Attachment "pmp3-0.0.9-1.i386.rpm" d25f2f2cbfb05622dcfe89fb5a3839f9 Binary package (RPM)
    2005.8.10 0.0.9 Upload new Attachment "pmp3_decode.tar.gz" 5dcdc9b42582d4bdd8863813bf37cc04 °£·«È­ÇÑ ¼Ò½º
  • RPM ¼³Ä¡¹ý
    1. ¼³Ä¡

      rpm -i pmp3-0.0.9-1.i386.rpm
      
    2. Á¦°Å

      rpm -e pmp3
      
  • RPM spec

    #!vim spec
    %define buildroot /var/tmp/pmp3-buildroot
    
    Summary: pmp3 MP3 player
    Name: pmp3
    Version: 0.0.9
    Release: 1
    Copyright: MPG123
    Group: Applications/Player
    
    %description
    This package contains pmp3 player
    
    %prep
    install -m 0755 -d %{buildroot}
    cd %{buildroot}
    rm -rf pmp3
    cvs -d:pserver:anonymous:@cvs.joinc.co.kr:/home/jcvs/pmp3 co pmp3
    
    %build
    cd %{buildroot}/pmp3
    ./configure --prefix=/usr
    make
    
    %install
    cd %{buildroot}/pmp3
    make install
    
    %post
    echo "* Install pmp3 player"
    echo "  - Code by JaeHyuk Cho "
    echo "  - See also : http://www.joinc.co.kr/modules/moniwiki/wiki.php/pmp3"
    
    %postun
    echo "Uninstall pmp3 player"
    
    %clean
    rm -rf %{buildroot}
    
    %files
    /usr/bin/pmp3
    /usr/bin/mixer
    
    %changelog
    
    

    1.9 °ÇÀÇ»çÇ× ¹× »ç¿ë¼Ò°¨

  • Äڵ常 º¸°í ¾ÆÁ÷ »ç¿ëÀº ¾ÈÇØºÃ½À´Ï´Ù. Á¶¸¸°£ »ç¿ëÇØ º¼²²¿ä.. À½ ±×·±µ¥.. ÁÖ¼®Ã³¸®Á» :-) yundream
    • Å«ÀÏÀÌ¿¹¿ä. Á¦ ½À°üÀÌ Á¡Á¡ ½Ã°£ÀÌ °¥¼ö·Ï ÁÖ¼® ¾È´Ù´Â°Í. - minzkn
  • À½.. configure½ºÅ©¸³Æ®°¡ µé¾î ÀÖ´õ±º¿ä... À̰ŠÀÛ¼ºÇÏ´Â ¹ýÁ» ¾Ë·ÁÁÖ¼¼¿ä. ȤÀº °ü·ÃÀÚ·á :-) yundream
  • Æ÷ÇԵǾî ÀÖ´Â ÇÁ·Î±×·¥ÀÌ¿ëÇØ¼­ Å×½ºÆ® ÇØºÃ½À´Ï´Ù. µðÄÚµù ÀߵDZ¸¿ä. °£´ÜÇÏ°Ô timeÀ¸·Î cpuÁ¡À¯À²À̶û ¸Þ¸ð¸® »ç¿ëÀ² üũÇߴµ¥ mpg123°ú ºñ½ÁÇÏ°Ô ³ª¿À´Â ±º¿ä. ¿À´ÃºÎÅÍ¶óµµ ÄÚµå ÈÈ¾î ºÁ¾ßÁÒ¶ó°í ¸¶À½À»(¸¸?) ¸Ô°í ÀÖ½À´Ï´Ù.

    1.10 ½ºÅ©¸°¼¦

    Upload new Attachment "pmp3.png"

    1.11 Âü¿©ÀÚ Á¤º¸

    »ç¿ëÀÚID ȨÆäÀÌÁö ÀüÀÚ¿ìÆí
    minzkn http://minzkn.pe.ky Mminzkn_at_infoeq.com
    yundream http://www.joinc.co.kr Myundream_at_joinc.co.kr
  • EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.