haiku-website/static/legacy-docs/bebook/BMediaEncoderDecoder_Overvi...

36 lines
7.2 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The Be Book - System Overview - The Media Kit</title><link rel="stylesheet" href="be_book.css" type="text/css" media="all" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="./images/favicon.ico" /><!--[if IE]>
<link rel="stylesheet" type="text/css" href="be_book_ie.css" />
<![endif]--><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><meta name="keywords" content="Access, BeOS, BeBook, API" /><link rel="start" href="index.html" title="The Be Book" /><link rel="up" href="TheMediaKit_Overview.html" title="The Media Kit" /><link rel="prev" href="BMediaBufferEncoderDecoder_Overview.html" title="BMediaBufferEncoder &amp; BMediaBufferDecoder" /><link rel="next" href="BMediaEventLooper_Overview.html" title="BMediaEventLooper" /></head><body><div id="header"><div id="headerT"><div id="headerTL"><a accesskey="p" href="BMediaBufferEncoderDecoder_Overview.html" title="BMediaBufferEncoder &amp; BMediaBufferDecoder"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a accesskey="u" href="TheMediaKit_Overview.html" title="The Media Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a accesskey="n" href="BMediaEventLooper_Overview.html" title="BMediaEventLooper"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="headerTR"><div id="navigpeople"><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div><div class="navigboxed" id="navigindex"><a accesskey="i" href="ClassIndex.html" title="Index">I</a></div><div class="navigboxed" id="naviglang" title="English">en</div></div><div id="headerTC">The Be Book - System Overview - The Media Kit</div></div><div id="headerB">Prev: <a href="BMediaBufferEncoderDecoder_Overview.html">BMediaBufferEncoder &amp; BMediaBufferDecoder</a>  Up: <a href="TheMediaKit_Overview.html">The Media Kit</a>  Next: <a href="BMediaEventLooper_Overview.html">BMediaEventLooper</a></div><hr /></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="BMediaEncoderDecoder_Overview"></a>BMediaEncoder &amp; BMediaDecoder</h2></div></div></div><a id="id585755" class="indexterm"></a><a id="id585772" class="indexterm"></a><p>The <a class="link" href="BMediaEncoder.html" title="BMediaEncoder"><code class="classname">BMediaEncoder</code></a>
class is a base class from which encoder classes may be
derived. It handles all the work of locating an appropriate encoder
add-on and interfacing with it. All you have to do is implement the
and
<a class="link" href="BMediaEncoder.html#BMediaEncoder_AddTrackInfo" title="AddTrackInfo()"><code class="methodname">AddTrackInfo()</code></a>
functions to write a chunk of encoded
data to the destination and to write information about the track into the
file.</p><p>The <a class="link" href="BMediaBufferEncoder.html" title="BMediaBufferEncoder"><code class="classname">BMediaBufferEncoder</code></a>
class is provided for you; it's a derived class that implements
<a class="link" href="BMediaEncoder.html#BMediaEncoder_WriteChunk" title="WriteChunk()"><code class="methodname">WriteChunk()</code></a>
to write encoded data into a memory buffer.</p><p>An application that wants to encode a stream of data that's not
originating from a file should use a subclass of
<a class="link" href="BMediaEncoder.html" title="BMediaEncoder"><code class="classname">BMediaEncoder</code></a> (such as
<a class="link" href="BMediaBufferEncoder.html" title="BMediaBufferEncoder"><code class="classname">BMediaBufferEncoder</code></a>)
to do so.</p><p>The <a class="link" href="BMediaDecoder.html" title="BMediaDecoder"><code class="classname">BMediaDecoder</code></a>
class is a base class from which decoder classes may be
derived. It handles all the work of locating an appropriate decoder
add-on and interfacing with it. All you have to do is implement the
<a class="link" href="BMediaDecoder.html#BMediaDecoder_GetNextChunk" title="GetNextChunk()"><code class="methodname">GetNextChunk()</code></a>
function to fetch the next chunk of encoded data to be
processed.</p><p>The <a class="link" href="BMediaBufferDecoder.html" title="BMediaBufferDecoder"><code class="classname">BMediaBufferDecoder</code></a>
class is provided for you; it's a derived class that implements
<a class="link" href="BMediaDecoder.html#BMediaDecoder_GetNextChunk" title="GetNextChunk()"><code class="methodname">GetNextChunk()</code></a>
to return data from a memory buffer.</p><p>An application that wants to decode a stream of data that's not
originating from a file should use a subclass of
<a class="link" href="BMediaDecoder.html" title="BMediaDecoder"><code class="classname">BMediaDecoder</code></a> (such as
<a class="link" href="BMediaBufferDecoder.html" title="BMediaBufferDecoder"><code class="classname">BMediaBufferDecoder</code></a>)
to do so.</p></div><div id="footer"><hr /><div id="footerT">Prev: <a href="BMediaBufferEncoderDecoder_Overview.html">BMediaBufferEncoder &amp; BMediaBufferDecoder</a>  Up: <a href="TheMediaKit_Overview.html">The Media Kit</a>  Next: <a href="BMediaEventLooper_Overview.html">BMediaEventLooper</a> </div><div id="footerB"><div id="footerBL"><a href="BMediaBufferEncoderDecoder_Overview.html" title="BMediaBufferEncoder &amp; BMediaBufferDecoder"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a href="TheMediaKit_Overview.html" title="The Media Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a href="BMediaEventLooper_Overview.html" title="BMediaEventLooper"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="footerBR"><div><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div></div><div id="footerBC"><a href="http://www.access-company.com/home.html" title="ACCESS Co."><img alt="Access Company" src="./images/access_logo.png" /></a></div></div></div><div id="licenseFooter"><div id="licenseFooterBL"><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/" title="Creative Commons License"><img alt="Creative Commons License" style="border-width:0" src="https://licensebuttons.net/l/by-nc-nd/3.0/88x31.png" /></a></div><div id="licenseFooterBR"><a href="./LegalNotice.html">Legal Notice</a></div><div id="licenseFooterBC"><span id="licenseText">This work is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative
Commons Attribution-Non commercial-No Derivative Works 3.0 License</a>.</span></div></div></body></html>