Ogg-LibOgg

 view release on metacpan or  search on metacpan

LibOgg.xs  view on Meta::CPAN

  Void

-Output:
  Memory address of Ogg Packet.

=cut
void
Ogg_LibOgg_make_ogg_packet()
  PREINIT:
    ogg_packet *memory;
  PPCODE:
    New(0, memory, 1, ogg_packet);  // it always satisfies with what we have asked
    XPUSHs(sv_2mortal(newSViv(PTR2IV(memory))));  // since i am using sv_2mortal, i don't have to worry about leaks

=head2 make_ogg_stream_state

Creates an Ogg Stream State.

-Input:
  Void

-Output:
  Memory address of Ogg Stream State.

=cut
void
Ogg_LibOgg_make_ogg_stream_state()
  PREINIT:
    ogg_stream_state *memory;
  PPCODE:
    New(0, memory, 1, ogg_stream_state);
    XPUSHs(sv_2mortal(newSViv(PTR2IV(memory))));


=head2 make_ogg_page

Creates an Ogg Page.

-Input:
  Void

-Output:
  Memory address of Ogg Page.

=cut
void
Ogg_LibOgg_make_ogg_page()
  PREINIT:
    ogg_page *memory;
  PPCODE:
    New(0, memory, 1, ogg_page);
    XPUSHs(sv_2mortal(newSViv(PTR2IV(memory))));


=head2 make_ogg_sync_state

Creates an Ogg Sync State.

-Input:
  Void

-Output:
  Memory address of Ogg Sync State.

=cut
void
Ogg_LibOgg_make_ogg_sync_state()
  PREINIT:
    ogg_sync_state *memory;
  PPCODE:
    New(0, memory, 1, ogg_sync_state);
    XPUSHs(sv_2mortal(newSViv(PTR2IV(memory))));


=head1 Functions (Bitstream Primitives)

=cut


=head2 ogg_stream_init

LibOgg.xs  view on Meta::CPAN

  Returns a pointer to the newly allocated buffer or NULL on error

=cut
void
Ogg_LibOgg_ogg_sync_buffer(oy, size);
    int		oy
    int		size
  PREINIT:
    ogg_sync_state *_oy;
    char *buffer;
  PPCODE:
    _oy = INT2PTR(ogg_sync_state *, oy);
    if((buffer = ogg_sync_buffer(_oy, size)) != NULL) {
      XPUSHs(sv_2mortal(newSViv(PTR2IV(buffer))));
    } else {
      XSRETURN_UNDEF;
    }

    
=head2 ogg_sync_wrote



( run in 1.698 second using v1.01-cache-2.11-cpan-5511b514fd6 )