Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Native Development

Reply
Contributor
Posts: 18
Registered: ‎01-23-2011
My Device: Not Specified
Accepted Solution

I am trying to get a gapless looping playback using the multimedia renderer

As part of the MP3 standard there is a 20 millisecond gap at the start of each file.

so when I loop an mp3 file there is an abrupt gap when the file restarts.

 

So my question is... Is there any way to tell the multimedia renderer to loop between two points in time.

that way I can instruct the system to loop from 20 ms to the end.

 

Interesting enough on iOS it ignores that initial 20 milliseconds gap and work fine.

 

(I have chosen to use an mp3 file as it is 4 times smaller than a wav file, and is currently sitting at 1mb)

I could probably use an OGG format but I have not seen any documentation saying this is actually supported.

BlackBerry Development Advisor
Posts: 683
Registered: ‎11-29-2011
My Device: PRIV
My Carrier: Rogers

Re: I am trying to get a gapless looping playback using the multimedia renderer

Have you considered packaging your 1mb mp3 file in your .bar and then just decompressing it once at runtime.  Then you can just treat it as uncompressed pcm audio and play it back however you see fit.

 

I don't believe mmrenderer does gapless playlists currently.

 

Cheers,

Sean

Contributor
Posts: 18
Registered: ‎01-23-2011
My Device: Not Specified

Re: I am trying to get a gapless looping playback using the multimedia renderer

I did do some research into this awhile back and I did not find any easy/existing libraries to facilitate this.

I also just tried to compress an audio file, and the size was still significantly larger than the mp3

 

The ideal thing might be to ship with an mp3 file but convert it to a wav file (or some other decompressed audio format) on the tablet, but I could not find any tools/libraries to easily do this.

 

So unless there are any existing tools it seems like a lot of work for a very simple feature.

Do you know of any tools? Audio is not really my big thing

Developer
Posts: 133
Registered: ‎03-28-2011
My Device: BlackBerry 9900 & PlayBook
My Carrier: Bell

Re: I am trying to get a gapless looping playback using the multimedia renderer

Here's a link to a previous discussion on the topic.

 

http://supportforums.blackberry.com/t5/Native-Development/Gapless-Audio/m-p/1733103#M4319

 

You'll see that he opted to feed data to the PCM playback libraries so that the gap was elminated. That may serve as a potential solution.

 

Also, Ogg support is available on the Dev Alpha, and is coming to the PlayBook in OS 2.1. 

 

Here's the readElf output of libogg.so from the Dev Alpha. I'm sure if you combine this info with the readily available headers for libogg, you should be able to build in Ogg support into your app. 

 

Hope that all helps.

 

ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              DYN (Shared object file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x144c
  Start of program headers:          52 (bytes into file)
  Start of section headers:          17168 (bytes into file)
  Flags:                             0x5000002, has entry point, Version5 EABI
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         6
  Size of section headers:           40 (bytes)
  Number of section headers:         26
  Section header string table index: 25

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .note.gnu.build-i NOTE            000000f4 0040cc 000020 00      0   0  4
  [ 2] .hash             HASH            00000114 000114 00032c 04   A  3   0  4
  [ 3] .dynsym           DYNSYM          00000440 000440 000680 10   A  4   3  4
  [ 4] .dynstr           STRTAB          00000ac0 000ac0 0005f2 00   A  0   0  1
  [ 5] .rel.dyn          REL             000010b4 0010b4 000048 08   A  3   0  4
  [ 6] .rel.plt          REL             000010fc 0010fc 000148 08   A  3   8  4
  [ 7] .init             PROGBITS        00001244 001244 000008 00  AX  0   0  4
  [ 8] .plt              PROGBITS        0000124c 00124c 000200 04  AX  0   0  4
  [ 9] .text             PROGBITS        0000144c 00144c 0025f4 00  AX  0   0  4
  [10] .fini             PROGBITS        00003a40 003a40 000008 00  AX  0   0  4
  [11] .rodata           PROGBITS        00003a48 003a48 0004b0 00   A  0   0  4
  [12] .eh_frame         PROGBITS        00003ef8 003ef8 000004 00   A  0   0  4
  [13] .note             NOTE            00003efc 0040ec 000018 00      0   0  1
  [14] .init_array       INIT_ARRAY      00004f24 003f24 000004 00  WA  0   0  4
  [15] .fini_array       FINI_ARRAY      00004f28 003f28 000004 00  WA  0   0  4
  [16] .jcr              PROGBITS        00004f2c 003f2c 000004 00  WA  0   0  4
  [17] .dynamic          DYNAMIC         00004f30 003f30 0000d0 08  WA  4   0  4
  [18] .got              PROGBITS        00005000 004000 0000c8 04  WA  0   0  4
  [19] .data             PROGBITS        000050c8 0040c8 000004 00  WA  0   0  4
  [20] .bss              NOBITS          000050cc 0040cc 00001c 00  WA  0   0  4
  [21] .comment          PROGBITS        00000000 004104 000048 00      0   0  1
  [22] .ARM.attributes   ARM_ATTRIBUTES  00000000 00414c 00002b 00      0   0  1
  [23] QNX_info          PROGBITS        00000000 004177 0000ae 00      0   0  1
  [24] .gnu_debuglink    PROGBITS        00000000 004225 000014 00      0   0  1
  [25] .shstrtab         STRTAB          00000000 004239 0000d7 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)

There are no section groups in this file.

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x000000 0x00000000 0x00000000 0x03efc 0x03efc R E 0x1000
  LOAD           0x003f24 0x00004f24 0x00004f24 0x001a8 0x001c4 RW  0x1000
  DYNAMIC        0x003f30 0x00004f30 0x00004f30 0x000d0 0x000d0 RW  0x4
  NOTE           0x0040cc 0x000000f4 0x000000f4 0x00020 0x00000 R   0x4
  NOTE           0x0040ec 0x00003efc 0x00003efc 0x00018 0x00000 R   0x1
  GNU_RELRO      0x003f24 0x00004f24 0x00004f24 0x000dc 0x000dc R   0x1

 Section to Segment mapping:
  Segment Sections...
   00     .hash .dynsym .dynstr .rel.dyn .rel.plt .init .plt .text .fini .rodata .eh_frame 
   01     .init_array .fini_array .jcr .dynamic .got .data .bss 
   02     .dynamic 
   03     .note.gnu.build-id 
   04     .note 
   05     .init_array .fini_array .jcr .dynamic 

Dynamic section at offset 0x3f30 contains 22 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libc.so.3]
 0x0000000e (SONAME)                     Library soname: [libogg.so.1]
 0x0000000c (INIT)                       0x1244
 0x0000000d (FINI)                       0x3a40
 0x00000019 (INIT_ARRAY)                 0x4f24
 0x0000001b (INIT_ARRAYSZ)               4 (bytes)
 0x0000001a (FINI_ARRAY)                 0x4f28
 0x0000001c (FINI_ARRAYSZ)               4 (bytes)
 0x00000004 (HASH)                       0x114
 0x00000005 (STRTAB)                     0xac0
 0x00000006 (SYMTAB)                     0x440
 0x0000000a (STRSZ)                      1522 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000003 (PLTGOT)                     0x5000
 0x00000002 (PLTRELSZ)                   328 (bytes)
 0x00000014 (PLTREL)                     REL
 0x00000017 (JMPREL)                     0x10fc
 0x00000011 (REL)                        0x10b4
 0x00000012 (RELSZ)                      72 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x6ffffffa (RELCOUNT)                   3
 0x00000000 (NULL)                       0x0

Relocation section '.rel.dyn' at offset 0x10b4 contains 9 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
00004f24  00000017 R_ARM_RELATIVE   
00004f28  00000017 R_ARM_RELATIVE   
000050c8  00000017 R_ARM_RELATIVE   
000050b0  00001415 R_ARM_GLOB_DAT    00000000   __cxa_finalize
000050b4  00002715 R_ARM_GLOB_DAT    00000000   __deregister_frame_inf
000050b8  00005115 R_ARM_GLOB_DAT    00001cc8   oggpackB_write
000050bc  00005e15 R_ARM_GLOB_DAT    00000000   _Jv_RegisterClasses
000050c0  00006315 R_ARM_GLOB_DAT    00000000   __register_frame_info
000050c4  00006515 R_ARM_GLOB_DAT    00001e68   oggpack_write

Relocation section '.rel.plt' at offset 0x10fc contains 41 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
0000500c  00000816 R_ARM_JUMP_SLOT   00000000   memmove
00005010  00000b16 R_ARM_JUMP_SLOT   00002224   ogg_page_granulepos
00005014  00001016 R_ARM_JUMP_SLOT   00000000   memcpy
00005018  00001116 R_ARM_JUMP_SLOT   000025bc   ogg_stream_reset
0000501c  00001216 R_ARM_JUMP_SLOT   00003444   ogg_sync_pageseek
00005020  00001416 R_ARM_JUMP_SLOT   00000000   __cxa_finalize
00005024  00001516 R_ARM_JUMP_SLOT   000021f4   ogg_page_continued
00005028  00001716 R_ARM_JUMP_SLOT   00000000   malloc
0000502c  00001916 R_ARM_JUMP_SLOT   0000219c   oggpack_writeinit
00005030  00001b16 R_ARM_JUMP_SLOT   000018c8   oggpack_adv1
00005034  00001f16 R_ARM_JUMP_SLOT   000028c0   ogg_stream_clear
00005038  00002216 R_ARM_JUMP_SLOT   000023a8   ogg_page_pageno
0000503c  00002516 R_ARM_JUMP_SLOT   000021e8   ogg_page_version
00005040  00002616 R_ARM_JUMP_SLOT   00002214   ogg_page_eos
00005044  00002716 R_ARM_JUMP_SLOT   00000000   __deregister_frame_inf
00005048  00002b16 R_ARM_JUMP_SLOT   00001c20   oggpack_bytes
0000504c  00002d16 R_ARM_JUMP_SLOT   00000000   memchr
00005050  00002f16 R_ARM_JUMP_SLOT   0000240c   ogg_stream_check
00005054  00003116 R_ARM_JUMP_SLOT   00001c88   oggpack_writeclear
00005058  00003216 R_ARM_JUMP_SLOT   00001c38   oggpack_bits
0000505c  00003516 R_ARM_JUMP_SLOT   00000000   realloc
00005060  00003616 R_ARM_JUMP_SLOT   00000000   memcmp
00005064  00003916 R_ARM_JUMP_SLOT   00001858   oggpack_adv
00005068  00003b16 R_ARM_JUMP_SLOT   00000000   memset
0000506c  00003d16 R_ARM_JUMP_SLOT   00003a34   __div0
00005070  00003e16 R_ARM_JUMP_SLOT   000031d4   ogg_stream_iovecin
00005074  00004016 R_ARM_JUMP_SLOT   00001540   oggpack_writecheck
00005078  00004216 R_ARM_JUMP_SLOT   000037fc   __divsi3
0000507c  00004616 R_ARM_JUMP_SLOT   00002430   ogg_page_checksum_set
00005080  00004716 R_ARM_JUMP_SLOT   00001c4c   oggpack_get_buffer
00005084  00004916 R_ARM_JUMP_SLOT   0000281c   ogg_sync_clear
00005088  00005016 R_ARM_JUMP_SLOT   00002204   ogg_page_bos
0000508c  00005116 R_ARM_JUMP_SLOT   00001cc8   oggpackB_write
00005090  00005216 R_ARM_JUMP_SLOT   00001c58   oggpack_readinit
00005094  00005316 R_ARM_JUMP_SLOT   00002380   ogg_page_serialno
00005098  00005a16 R_ARM_JUMP_SLOT   0000253c   ogg_sync_check
0000509c  00006116 R_ARM_JUMP_SLOT   00003a1c   __aeabi_idivmod
000050a0  00006216 R_ARM_JUMP_SLOT   00001628   oggpack_reset
000050a4  00006316 R_ARM_JUMP_SLOT   00000000   __register_frame_info
000050a8  00006516 R_ARM_JUMP_SLOT   00001e68   oggpack_write
000050ac  00006716 R_ARM_JUMP_SLOT   00000000   free

There are no unwind sections in this file.

Symbol table '.dynsym' contains 104 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 00001244     0 SECTION LOCAL  DEFAULT    7 
     2: 00004f2c     0 SECTION LOCAL  DEFAULT   16 
     3: 00001c84     4 FUNC    GLOBAL DEFAULT    9 oggpackB_readinit
     4: 00002e68   876 FUNC    GLOBAL DEFAULT    9 ogg_stream_pagein
     5: 00001fe8    24 FUNC    GLOBAL DEFAULT    9 oggpack_writealign
     6: 00001c48     4 FUNC    GLOBAL DEFAULT    9 oggpackB_bits
     7: 00002550    60 FUNC    GLOBAL DEFAULT    9 ogg_sync_wrote
     8: 00000000     0 FUNC    GLOBAL DEFAULT  UND memmove
     9: 0000258c    48 FUNC    GLOBAL DEFAULT    9 ogg_sync_reset
    10: 00003ef8     0 NOTYPE  GLOBAL DEFAULT  ABS __exidx_end
    11: 00002224   348 FUNC    GLOBAL DEFAULT    9 ogg_page_granulepos
    12: 000050e8     0 NOTYPE  GLOBAL DEFAULT  ABS _bss_end__
    13: 00001730   212 FUNC    GLOBAL DEFAULT    9 oggpackB_look
    14: 0000156c    92 FUNC    GLOBAL DEFAULT    9 oggpack_writetrunc
    15: 00001c44     4 FUNC    GLOBAL DEFAULT    9 oggpackB_bytes
    16: 00000000     0 FUNC    GLOBAL DEFAULT  UND memcpy
    17: 000025bc    96 FUNC    GLOBAL DEFAULT    9 ogg_stream_reset
    18: 00003444   480 FUNC    GLOBAL DEFAULT    9 ogg_sync_pageseek
    19: 00002c84   108 FUNC    GLOBAL DEFAULT    9 ogg_stream_pageout_fill
    20: 00000000     0 FUNC    WEAK   DEFAULT  UND __cxa_finalize
    21: 000021f4    16 FUNC    GLOBAL DEFAULT    9 ogg_page_continued
    22: 00001ba4   124 FUNC    GLOBAL DEFAULT    9 oggpackB_read1
    23: 00000000     0 FUNC    GLOBAL DEFAULT  UND malloc
    24: 0000261c    48 FUNC    GLOBAL DEFAULT    9 ogg_stream_reset_serialno
    25: 0000219c    72 FUNC    GLOBAL DEFAULT    9 oggpack_writeinit
    26: 000050cc     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start__
    27: 000018c8    56 FUNC    GLOBAL DEFAULT    9 oggpack_adv1
    28: 00002520    28 FUNC    GLOBAL DEFAULT    9 ogg_stream_eos
    29: 00003ef8     0 NOTYPE  GLOBAL DEFAULT  ABS __exidx_start
    30: 00001e50    24 FUNC    GLOBAL DEFAULT    9 oggpackB_writealign
    31: 000028c0    84 FUNC    GLOBAL DEFAULT    9 ogg_stream_clear
    32: 00001654   220 FUNC    GLOBAL DEFAULT    9 oggpack_look
    33: 00001244     0 FUNC    GLOBAL DEFAULT    7 _init
    34: 000023a8    40 FUNC    GLOBAL DEFAULT    9 ogg_page_pageno
    35: 00003408    60 FUNC    GLOBAL DEFAULT    9 ogg_stream_packetin
    36: 00002778    52 FUNC    GLOBAL DEFAULT    9 ogg_stream_packetout
    37: 000021e8    12 FUNC    GLOBAL DEFAULT    9 ogg_page_version
    38: 00002214    16 FUNC    GLOBAL DEFAULT    9 ogg_page_eos
    39: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __deregister_frame_info
    40: 000037fc     0 FUNC    GLOBAL DEFAULT    9 __aeabi_idiv
    41: 00002888    56 FUNC    GLOBAL DEFAULT    9 ogg_sync_init
    42: 00002168    52 FUNC    GLOBAL DEFAULT    9 oggpack_writecopy
    43: 00001c20    24 FUNC    GLOBAL DEFAULT    9 oggpack_bytes
    44: 00002868    32 FUNC    GLOBAL DEFAULT    9 ogg_sync_destroy
    45: 00000000     0 FUNC    GLOBAL DEFAULT  UND memchr
    46: 000050e8     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_end__
    47: 0000240c    36 FUNC    GLOBAL DEFAULT    9 ogg_stream_check
    48: 000018c4     4 FUNC    GLOBAL DEFAULT    9 oggpackB_adv
    49: 00001c88    60 FUNC    GLOBAL DEFAULT    9 oggpack_writeclear
    50: 00001c38    12 FUNC    GLOBAL DEFAULT    9 oggpack_bits
    51: 00001c54     4 FUNC    GLOBAL DEFAULT    9 oggpackB_get_buffer
    52: 00001b30   116 FUNC    GLOBAL DEFAULT    9 oggpack_read1
    53: 00000000     0 FUNC    GLOBAL DEFAULT  UND realloc
    54: 00000000     0 FUNC    GLOBAL DEFAULT  UND memcmp
    55: 0000144c     0 NOTYPE  GLOBAL DEFAULT    9 _btext
    56: 00002914    32 FUNC    GLOBAL DEFAULT    9 ogg_stream_destroy
    57: 00001858   108 FUNC    GLOBAL DEFAULT    9 oggpack_adv
    58: 000050cc     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
    59: 00000000     0 FUNC    GLOBAL DEFAULT  UND memset
    60: 00001804    40 FUNC    GLOBAL DEFAULT    9 oggpack_look1
    61: 00003a34    12 FUNC    GLOBAL DEFAULT    9 __div0
    62: 000031d4   564 FUNC    GLOBAL DEFAULT    9 ogg_stream_iovecin
    63: 000027ac    48 FUNC    GLOBAL DEFAULT    9 ogg_stream_packetpeek
    64: 00001540    40 FUNC    GLOBAL DEFAULT    9 oggpack_writecheck
    65: 000050e8     0 NOTYPE  GLOBAL DEFAULT  ABS __end__
    66: 000037fc   544 FUNC    GLOBAL DEFAULT    9 __divsi3
    67: 000023d0    60 FUNC    GLOBAL DEFAULT    9 ogg_page_packets
    68: 00003768   148 FUNC    GLOBAL DEFAULT    9 ogg_stream_init
    69: 00003a40     0 FUNC    GLOBAL DEFAULT   10 _fini
    70: 00002430   240 FUNC    GLOBAL DEFAULT    9 ogg_page_checksum_set
    71: 00001c4c     8 FUNC    GLOBAL DEFAULT    9 oggpack_get_buffer
    72: 00002cf0   104 FUNC    GLOBAL DEFAULT    9 ogg_stream_pageout
    73: 0000281c    76 FUNC    GLOBAL DEFAULT    9 ogg_sync_clear
    74: 000021e4     4 FUNC    GLOBAL DEFAULT    9 oggpackB_writeinit
    75: 000015c8    96 FUNC    GLOBAL DEFAULT    9 oggpackB_writetrunc
    76: 000050cc     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
    77: 000050e8     0 NOTYPE  GLOBAL DEFAULT  ABS _end
    78: 00001900     4 FUNC    GLOBAL DEFAULT    9 oggpackB_adv1
    79: 0000182c    44 FUNC    GLOBAL DEFAULT    9 oggpackB_look1
    80: 00002204    16 FUNC    GLOBAL DEFAULT    9 ogg_page_bos
    81: 00001cc8   392 FUNC    GLOBAL DEFAULT    9 oggpackB_write
    82: 00001c58    44 FUNC    GLOBAL DEFAULT    9 oggpack_readinit
    83: 00002380    40 FUNC    GLOBAL DEFAULT    9 ogg_page_serialno
    84: 00002d58    12 FUNC    GLOBAL DEFAULT    9 ogg_stream_flush_fill
    85: 00001904   280 FUNC    GLOBAL DEFAULT    9 oggpack_read
    86: 00003680   232 FUNC    GLOBAL DEFAULT    9 ogg_sync_buffer
    87: 000027dc    64 FUNC    GLOBAL DEFAULT    9 ogg_packet_clear
    88: 00080000     0 NOTYPE  GLOBAL DEFAULT   31 _stack
    89: 00001cc4     4 FUNC    GLOBAL DEFAULT    9 oggpackB_writeclear
    90: 0000253c    20 FUNC    GLOBAL DEFAULT    9 ogg_sync_check
    91: 000050c8     0 NOTYPE  GLOBAL DEFAULT   19 __data_start
    92: 00001568     4 FUNC    GLOBAL DEFAULT    9 oggpackB_writecheck
    93: 00002d64    12 FUNC    GLOBAL DEFAULT    9 ogg_stream_flush
    94: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
    95: 00003624    92 FUNC    GLOBAL DEFAULT    9 ogg_sync_pageout
    96: 00001a1c   276 FUNC    GLOBAL DEFAULT    9 oggpackB_read
    97: 00003a1c    24 FUNC    GLOBAL DEFAULT    9 __aeabi_idivmod
    98: 00001628    40 FUNC    GLOBAL DEFAULT    9 oggpack_reset
    99: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __register_frame_info
   100: 00002134    52 FUNC    GLOBAL DEFAULT    9 oggpackB_writecopy
   101: 00001e68   384 FUNC    GLOBAL DEFAULT    9 oggpack_write
   102: 00001650     4 FUNC    GLOBAL DEFAULT    9 oggpackB_reset
   103: 00000000     0 FUNC    GLOBAL DEFAULT  UND free

Histogram for bucket list length (total of 97 buckets):
 Length  Number     % of total  Coverage
      0  33         ( 34.0%)
      1  39         ( 40.2%)     38.6%
      2  18         ( 18.6%)     74.3%
      3  4          (  4.1%)     86.1%
      4  1          (  1.0%)     90.1%
      5  2          (  2.1%)    100.0%

No version information found in this file.

Notes at offset 0x000040cc with length 0x00000020:
  Owner                 Data size	Description
  GNU                  0x00000010	NT_GNU_BUILD_ID (unique build ID bitstring)
    Build ID: a6413bd933b31c88c513111f176d78ac

Notes at offset 0x000040ec with length 0x00000018:
  Owner                 Data size	Description
  QNX                  0x00000008	Unknown note type: (0x00000003)
Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "7-A"
  Tag_CPU_arch: v7
  Tag_CPU_arch_profile: Application
  Tag_ARM_ISA_use: Yes
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align_needed: 8-byte
  Tag_ABI_align_preserved: 8-byte, except leaf SP
  Tag_ABI_enum_size: int
  Tag_ABI_HardFP_use: SP and DP

 


Founder of Pulsecode Inc. and taab
Authomator - Two-factor authentication codes on BlackBerry 10 - http://www.xitijpatel.com/ - Follow @xitijpatel
Is there a helpful or useful post in this thread? Click the thumbs up on it so that other people can find it more easily!
Highlighted
Contributor
Posts: 18
Registered: ‎01-23-2011
My Device: Not Specified

Re: I am trying to get a gapless looping playback using the multimedia renderer

I found this link

http://www.gamedev.net/page/resources/_/technical/game-programming/introduction-to-ogg-vorbis-r2031

which explains how to load ogg files using OpenAL

I already had openAl running (wish I found this link earlier)

 

Thanks for everybodies help