Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > be8a4ed9c18e87911a17100ad386e613 > files > 13

libbluray-devel-0.1-0.3.20101028gitc32862b77dea4.fc14.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>libbluray: src/libbluray/bluray.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.7.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>src/libbluray/bluray.h File Reference</h1>  </div>
</div>
<div class="contents">
<code>#include &lt;stdint.h&gt;</code><br/>

<p><a href="bluray_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbd__stream__info.html">bd_stream_info</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbd__clip.html">bd_clip</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbd__chapter.html">bd_chapter</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structbd__title__info.html">bd_title_info</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBLURAY__DISC__INFO.html">BLURAY_DISC_INFO</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structBD__EVENT.html">BD_EVENT</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a8171948955795009c5721ea7dca62eb7">TITLES_ALL</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a2ec2e4ff6ad6dddae72285bf6f3c10f3">TITLES_FILTER_DUP_TITLE</a>&nbsp;&nbsp;&nbsp;0x01</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#ad8d9789869457bbc68e69a2f936950e6">TITLES_FILTER_DUP_CLIP</a>&nbsp;&nbsp;&nbsp;0x02</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a78662035fc138714da4f73d69473692d">TITLES_RELEVANT</a>&nbsp;&nbsp;&nbsp;(TITLES_FILTER_DUP_TITLE | TITLES_FILTER_DUP_CLIP)</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab446b017f0a8a6c31684027d6ddd3a69"></a><!-- doxytag: member="bluray.h::BLURAY" ref="ab446b017f0a8a6c31684027d6ddd3a69" args="" -->
typedef struct bluray&nbsp;</td><td class="memItemRight" valign="bottom"><b>BLURAY</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acdbca7ce7843b757cf1fab1f78085503"></a><!-- doxytag: member="bluray.h::BLURAY_STREAM_INFO" ref="acdbca7ce7843b757cf1fab1f78085503" args="" -->
typedef struct <a class="el" href="structbd__stream__info.html">bd_stream_info</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>BLURAY_STREAM_INFO</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2a78b27154af2d49ebb8cc9c8f0736f"></a><!-- doxytag: member="bluray.h::BLURAY_CLIP_INFO" ref="aa2a78b27154af2d49ebb8cc9c8f0736f" args="" -->
typedef struct <a class="el" href="structbd__clip.html">bd_clip</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>BLURAY_CLIP_INFO</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a9ebce24fb4741ecdf8763bf6fa3ed5"></a><!-- doxytag: member="bluray.h::BLURAY_TITLE_CHAPTER" ref="a2a9ebce24fb4741ecdf8763bf6fa3ed5" args="" -->
typedef struct <a class="el" href="structbd__chapter.html">bd_chapter</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>BLURAY_TITLE_CHAPTER</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9264dd9c083313bcc9ad0a876f7844d4"></a><!-- doxytag: member="bluray.h::BLURAY_TITLE_INFO" ref="a9264dd9c083313bcc9ad0a876f7844d4" args="" -->
typedef struct <a class="el" href="structbd__title__info.html">bd_title_info</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>BLURAY_TITLE_INFO</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06008cf45d6e2f5aa37ea3d827e35171"></a><!-- doxytag: member="bluray.h::bd_overlay_proc_f" ref="a06008cf45d6e2f5aa37ea3d827e35171" args=")(void *, const struct bd_overlay_s *const)" -->
typedef void(*&nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_overlay_proc_f</b> )(void *, const struct bd_overlay_s *const)</td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_stream_type_e</b> { <br/>
&nbsp;&nbsp;<b>BLURAY_STREAM_TYPE_VIDEO_MPEG1</b> =  0x01, 
<b>BLURAY_STREAM_TYPE_VIDEO_MPEG2</b> =  0x02, 
<b>BLURAY_STREAM_TYPE_AUDIO_MPEG1</b> =  0x03, 
<b>BLURAY_STREAM_TYPE_AUDIO_MPEG2</b> =  0x04, 
<br/>
&nbsp;&nbsp;<b>BLURAY_STREAM_TYPE_AUDIO_LPCM</b> =  0x80, 
<b>BLURAY_STREAM_TYPE_AUDIO_AC3</b> =  0x81, 
<b>BLURAY_STREAM_TYPE_AUDIO_DTS</b> =  0x82, 
<b>BLURAY_STREAM_TYPE_AUDIO_TRUHD</b> =  0x83, 
<br/>
&nbsp;&nbsp;<b>BLURAY_STREAM_TYPE_AUDIO_AC3PLUS</b> =  0x84, 
<b>BLURAY_STREAM_TYPE_AUDIO_DTSHD</b> =  0x85, 
<b>BLURAY_STREAM_TYPE_AUDIO_DTSHD_MASTER</b> =  0x86, 
<b>BLURAY_STREAM_TYPE_VIDEO_VC1</b> =  0xea, 
<br/>
&nbsp;&nbsp;<b>BLURAY_STREAM_TYPE_VIDEO_H264</b> =  0x1b, 
<b>BLURAY_STREAM_TYPE_SUB_PG</b> =  0x90, 
<b>BLURAY_STREAM_TYPE_SUB_IG</b> =  0x91, 
<b>BLURAY_STREAM_TYPE_SUB_TEXT</b> =  0x92
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_video_format_e</b> { <br/>
&nbsp;&nbsp;<b>BLURAY_VIDEO_FORMAT_480I</b> =  1, 
<b>BLURAY_VIDEO_FORMAT_576I</b> =  2, 
<b>BLURAY_VIDEO_FORMAT_480P</b> =  3, 
<b>BLURAY_VIDEO_FORMAT_1080I</b> =  4, 
<br/>
&nbsp;&nbsp;<b>BLURAY_VIDEO_FORMAT_720P</b> =  5, 
<b>BLURAY_VIDEO_FORMAT_1080P</b> =  6, 
<b>BLURAY_VIDEO_FORMAT_576P</b> =  7
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_video_rate_e</b> { <br/>
&nbsp;&nbsp;<b>BLURAY_VIDEO_RATE_24000_1001</b> =  1, 
<b>BLURAY_VIDEO_RATE_24</b> =  2, 
<b>BLURAY_VIDEO_RATE_25</b> =  3, 
<b>BLURAY_VIDEO_RATE_30000_1001</b> =  4, 
<br/>
&nbsp;&nbsp;<b>BLURAY_VIDEO_RATE_50</b> =  6, 
<b>BLURAY_VIDEO_RATE_60000_1001</b> =  7
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_video_aspect_e</b> { <b>BLURAY_ASPECT_RATIO_4_3</b> =  2, 
<b>BLURAY_ASPECT_RATIO_16_9</b> =  3
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_audio_format_e</b> { <b>BLURAY_AUDIO_FORMAT_MONO</b> =  1, 
<b>BLURAY_AUDIO_FORMAT_STEREO</b> =  3, 
<b>BLURAY_AUDIO_FORMAT_MULTI_CHAN</b> =  6, 
<b>BLURAY_AUDIO_FORMAT_COMBO</b> =  12
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_audio_rate_e</b> { <br/>
&nbsp;&nbsp;<b>BLURAY_AUDIO_RATE_48</b> =  1, 
<b>BLURAY_AUDIO_RATE_96</b> =  4, 
<b>BLURAY_AUDIO_RATE_192</b> =  5, 
<b>BLURAY_AUDIO_RATE_192_COMBO</b> =  12, 
<br/>
&nbsp;&nbsp;<b>BLURAY_AUDIO_RATE_96_COMBO</b> =  14
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_char_code_e</b> { <br/>
&nbsp;&nbsp;<b>BLURAY_TEXT_CHAR_CODE_UTF8</b> =  0x01, 
<b>BLURAY_TEXT_CHAR_CODE_UTF16BE</b> =  0x02, 
<b>BLURAY_TEXT_CHAR_CODE_SHIFT_JIS</b> =  0x03, 
<b>BLURAY_TEXT_CHAR_CODE_EUC_KR</b> =  0x04, 
<br/>
&nbsp;&nbsp;<b>BLURAY_TEXT_CHAR_CODE_GB18030_20001</b> =  0x05, 
<b>BLURAY_TEXT_CHAR_CODE_CN_GB</b> =  0x06, 
<b>BLURAY_TEXT_CHAR_CODE_BIG5</b> =  0x07
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_player_setting</b> { <br/>
&nbsp;&nbsp;<b>BLURAY_PLAYER_SETTING_PARENTAL</b> =  13, 
<b>BLURAY_PLAYER_SETTING_AUDIO_CAP</b> =  15, 
<b>BLURAY_PLAYER_SETTING_AUDIO_LANG</b> =  16, 
<b>BLURAY_PLAYER_SETTING_PG_LANG</b> =  17, 
<br/>
&nbsp;&nbsp;<b>BLURAY_PLAYER_SETTING_MENU_LANG</b> =  18, 
<b>BLURAY_PLAYER_SETTING_COUNTRY_CODE</b> =  19, 
<b>BLURAY_PLAYER_SETTING_REGION_CODE</b> =  20, 
<b>BLURAY_PLAYER_SETTING_VIDEO_CAP</b> =  29, 
<br/>
&nbsp;&nbsp;<b>BLURAY_PLAYER_SETTING_TEXT_CAP</b> =  30, 
<b>BLURAY_PLAYER_SETTING_PLAYER_PROFILE</b> =  31
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_event_e</b> { <br/>
&nbsp;&nbsp;<b>BD_EVENT_NONE</b> =  0, 
<b>BD_EVENT_ERROR</b>, 
<b>BD_EVENT_ANGLE</b>, 
<b>BD_EVENT_TITLE</b>, 
<br/>
&nbsp;&nbsp;<b>BD_EVENT_PLAYLIST</b>, 
<b>BD_EVENT_PLAYITEM</b>, 
<b>BD_EVENT_CHAPTER</b>, 
<b>BD_EVENT_AUDIO_STREAM</b>, 
<br/>
&nbsp;&nbsp;<b>BD_EVENT_IG_STREAM</b>, 
<b>BD_EVENT_PG_TEXTST_STREAM</b>, 
<b>BD_EVENT_PIP_PG_TEXTST_STREAM</b>, 
<b>BD_EVENT_SECONDARY_AUDIO_STREAM</b>, 
<br/>
&nbsp;&nbsp;<b>BD_EVENT_SECONDARY_VIDEO_STREAM</b>, 
<b>BD_EVENT_PG_TEXTST</b>, 
<b>BD_EVENT_PIP_PG_TEXTST</b>, 
<b>BD_EVENT_SECONDARY_AUDIO</b>, 
<br/>
&nbsp;&nbsp;<b>BD_EVENT_SECONDARY_VIDEO</b>, 
<b>BD_EVENT_SECONDARY_VIDEO_SIZE</b>, 
<b>BD_EVENT_MENU_PAGE_ID</b>, 
<b>BD_EVENT_SELECTED_BUTTON_ID</b>, 
<br/>
&nbsp;&nbsp;<b>BD_EVENT_POPUP_OFF</b>, 
<b>BD_EVENT_ENABLE_BUTTON</b>, 
<b>BD_EVENT_DISABLE_BUTTON</b>, 
<b>BD_EVENT_STILL</b>
<br/>
 }</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a1fc9ea33d206c823875a2ae7a4c30728">bd_get_titles</a> (BLURAY *bd, uint8_t flags)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structbd__title__info.html">BLURAY_TITLE_INFO</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#ac084d45e4a89b3b84010691331ba6aa4">bd_get_title_info</a> (BLURAY *bd, uint32_t title_idx)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structbd__title__info.html">BLURAY_TITLE_INFO</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#ad622501849d1d3c2c4c6c50d2d893193">bd_get_playlist_info</a> (BLURAY *bd, uint32_t playlist)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a48075acd83a9a4c86c83eab797f53056">bd_free_title_info</a> (<a class="el" href="structbd__title__info.html">BLURAY_TITLE_INFO</a> *title_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">BLURAY *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a6250c70fd06a2478e6df57b30ad2fec8">bd_open</a> (const char *device_path, const char *keyfile_path)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a7a5a79c6babeabaf5867e1f1a2d35250">bd_close</a> (BLURAY *bd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#abc3e83196c9bd4579578b2a882caed31">bd_seek</a> (BLURAY *bd, uint64_t pos)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a2c1d062c5e49ea734e62a27513d39b25">bd_seek_time</a> (BLURAY *bd, uint64_t tick)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a74cc3ead8953a0e863f3e93fe6f9fb50">bd_read</a> (BLURAY *bd, unsigned char *buf, int len)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a8fc8255d0470a73e652daf95009e92c1">bd_seek_chapter</a> (BLURAY *bd, unsigned chapter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a03c729252cab3cc2832c176e2d38558c">bd_chapter_pos</a> (BLURAY *bd, unsigned chapter)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a9db9c8834a624e2c6be95943bfc89fa9">bd_get_current_chapter</a> (BLURAY *bd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a06c4e34e1c44f1237aa5271fa94c0fd1">bd_seek_mark</a> (BLURAY *bd, unsigned mark)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#ac681a285453c293918b1df56bc94fc5c">bd_select_playlist</a> (BLURAY *bd, uint32_t playlist)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#ab72b7ca4870bee9fc6140b699a9008f1">bd_select_title</a> (BLURAY *bd, uint32_t title)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a81c6d723741a0e4f65dfb6dd3e095f13">bd_select_angle</a> (BLURAY *bd, unsigned angle)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a7bf7944d0a77f1fdad3ab56c46aaf1c4">bd_seamless_angle_change</a> (BLURAY *bd, unsigned angle)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a165ab592596e1efc1f8012da0d4f23e6">bd_get_title_size</a> (BLURAY *bd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a3220955817e1f019223dba8458e572ac">bd_get_current_title</a> (BLURAY *bd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a7918716d04048039f62ff9329b0c31d5">bd_get_current_angle</a> (BLURAY *bd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#ab8a5d7413a4c4997716505c68c596b03">bd_tell</a> (BLURAY *bd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint64_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#ae150342f07078ede2fcbf07f8407f5f6">bd_tell_time</a> (BLURAY *bd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adeff311a146ec8f3345357a3f391ccb2"></a><!-- doxytag: member="bluray.h::bd_get_disc_info" ref="adeff311a146ec8f3345357a3f391ccb2" args="(BLURAY *)" -->
const <a class="el" href="structBLURAY__DISC__INFO.html">BLURAY_DISC_INFO</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_get_disc_info</b> (BLURAY *)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="bluray_8h.html#a84473bc166b70bcd88f5ff63b46536e3">bd_set_player_setting</a> (BLURAY *bd, uint32_t idx, uint32_t value)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55f8784ef1387534e0b867d31da20e5e"></a><!-- doxytag: member="bluray.h::bd_set_player_setting_str" ref="a55f8784ef1387534e0b867d31da20e5e" args="(BLURAY *bd, uint32_t idx, const char *s)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_set_player_setting_str</b> (BLURAY *bd, uint32_t idx, const char *s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa3b40d78aba21442f300123ad641df1b"></a><!-- doxytag: member="bluray.h::bd_start_bdj" ref="aa3b40d78aba21442f300123ad641df1b" args="(BLURAY *bd, const char *start_object)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_start_bdj</b> (BLURAY *bd, const char *start_object)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a96232402b3384994e3607cd4e421f4d8"></a><!-- doxytag: member="bluray.h::bd_stop_bdj" ref="a96232402b3384994e3607cd4e421f4d8" args="(BLURAY *bd)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_stop_bdj</b> (BLURAY *bd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8b6e006ea058b6183f29f8ed1ee29e41"></a><!-- doxytag: member="bluray.h::bd_play" ref="a8b6e006ea058b6183f29f8ed1ee29e41" args="(BLURAY *bd)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_play</b> (BLURAY *bd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6984a1b4cb0cc02bec975685bac0bb00"></a><!-- doxytag: member="bluray.h::bd_read_ext" ref="a6984a1b4cb0cc02bec975685bac0bb00" args="(BLURAY *bd, unsigned char *buf, int len, BD_EVENT *event)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_read_ext</b> (BLURAY *bd, unsigned char *buf, int len, <a class="el" href="structBD__EVENT.html">BD_EVENT</a> *event)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e31704b25b09c23b3ee9741b4f51930"></a><!-- doxytag: member="bluray.h::bd_get_event" ref="a3e31704b25b09c23b3ee9741b4f51930" args="(BLURAY *bd, BD_EVENT *event)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_get_event</b> (BLURAY *bd, <a class="el" href="structBD__EVENT.html">BD_EVENT</a> *event)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec04d33fb87a2f0d9a44c45cd9000d9c"></a><!-- doxytag: member="bluray.h::bd_play_title" ref="aec04d33fb87a2f0d9a44c45cd9000d9c" args="(BLURAY *bd, unsigned title)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_play_title</b> (BLURAY *bd, unsigned title)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20ed5dd0786f79d3782d442de214ed53"></a><!-- doxytag: member="bluray.h::bd_menu_call" ref="a20ed5dd0786f79d3782d442de214ed53" args="(BLURAY *bd)" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_menu_call</b> (BLURAY *bd)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab521bc5ee85bb6f96e0de4b561daa883"></a><!-- doxytag: member="bluray.h::bd_register_overlay_proc" ref="ab521bc5ee85bb6f96e0de4b561daa883" args="(BLURAY *bd, void *handle, bd_overlay_proc_f func)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_register_overlay_proc</b> (BLURAY *bd, void *handle, bd_overlay_proc_f func)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af74f1b1a4c51c56ef4b31762a5b59b23"></a><!-- doxytag: member="bluray.h::bd_user_input" ref="af74f1b1a4c51c56ef4b31762a5b59b23" args="(BLURAY *bd, int64_t pts, uint32_t key)" -->
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>bd_user_input</b> (BLURAY *bd, int64_t pts, uint32_t key)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>external API header </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a8171948955795009c5721ea7dca62eb7"></a><!-- doxytag: member="bluray.h::TITLES_ALL" ref="a8171948955795009c5721ea7dca62eb7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TITLES_ALL&nbsp;&nbsp;&nbsp;0</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>all titles. </p>

</div>
</div>
<a class="anchor" id="ad8d9789869457bbc68e69a2f936950e6"></a><!-- doxytag: member="bluray.h::TITLES_FILTER_DUP_CLIP" ref="ad8d9789869457bbc68e69a2f936950e6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TITLES_FILTER_DUP_CLIP&nbsp;&nbsp;&nbsp;0x02</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>remove titles that have duplicate clips. </p>

</div>
</div>
<a class="anchor" id="a2ec2e4ff6ad6dddae72285bf6f3c10f3"></a><!-- doxytag: member="bluray.h::TITLES_FILTER_DUP_TITLE" ref="a2ec2e4ff6ad6dddae72285bf6f3c10f3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TITLES_FILTER_DUP_TITLE&nbsp;&nbsp;&nbsp;0x01</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>remove duplicate titles. </p>

</div>
</div>
<a class="anchor" id="a78662035fc138714da4f73d69473692d"></a><!-- doxytag: member="bluray.h::TITLES_RELEVANT" ref="a78662035fc138714da4f73d69473692d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TITLES_RELEVANT&nbsp;&nbsp;&nbsp;(TITLES_FILTER_DUP_TITLE | TITLES_FILTER_DUP_CLIP)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>remove duplicate titles and clips </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a03c729252cab3cc2832c176e2d38558c"></a><!-- doxytag: member="bluray.h::bd_chapter_pos" ref="a03c729252cab3cc2832c176e2d38558c" args="(BLURAY *bd, unsigned chapter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t bd_chapter_pos </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>chapter</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Find the byte position of a chapter</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>chapter</em>&nbsp;</td><td>chapter to find position of </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>seek position of chapter start </dd></dl>

</div>
</div>
<a class="anchor" id="a7a5a79c6babeabaf5867e1f1a2d35250"></a><!-- doxytag: member="bluray.h::bd_close" ref="a7a5a79c6babeabaf5867e1f1a2d35250" args="(BLURAY *bd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bd_close </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Free libbluray objects</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a48075acd83a9a4c86c83eab797f53056"></a><!-- doxytag: member="bluray.h::bd_free_title_info" ref="a48075acd83a9a4c86c83eab797f53056" args="(BLURAY_TITLE_INFO *title_info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bd_free_title_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structbd__title__info.html">BLURAY_TITLE_INFO</a> *&nbsp;</td>
          <td class="paramname"> <em>title_info</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Free BLURAY_TITLE_INFO object</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>title_info</em>&nbsp;</td><td>BLURAY_TITLE_INFO object </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7918716d04048039f62ff9329b0c31d5"></a><!-- doxytag: member="bluray.h::bd_get_current_angle" ref="a7918716d04048039f62ff9329b0c31d5" args="(BLURAY *bd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned bd_get_current_angle </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the current angle</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current angle </dd></dl>

</div>
</div>
<a class="anchor" id="a9db9c8834a624e2c6be95943bfc89fa9"></a><!-- doxytag: member="bluray.h::bd_get_current_chapter" ref="a9db9c8834a624e2c6be95943bfc89fa9" args="(BLURAY *bd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t bd_get_current_chapter </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the current chapter</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current chapter </dd></dl>

</div>
</div>
<a class="anchor" id="a3220955817e1f019223dba8458e572ac"></a><!-- doxytag: member="bluray.h::bd_get_current_title" ref="a3220955817e1f019223dba8458e572ac" args="(BLURAY *bd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t bd_get_current_title </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns the current title index</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current title index </dd></dl>

</div>
</div>
<a class="anchor" id="ad622501849d1d3c2c4c6c50d2d893193"></a><!-- doxytag: member="bluray.h::bd_get_playlist_info" ref="ad622501849d1d3c2c4c6c50d2d893193" args="(BLURAY *bd, uint32_t playlist)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structbd__title__info.html">BLURAY_TITLE_INFO</a>* bd_get_playlist_info </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>playlist</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get information about a playlist</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>playlist</em>&nbsp;</td><td>playlist number </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>allocated BLURAY_TITLE_INFO object, NULL on error </dd></dl>

</div>
</div>
<a class="anchor" id="ac084d45e4a89b3b84010691331ba6aa4"></a><!-- doxytag: member="bluray.h::bd_get_title_info" ref="ac084d45e4a89b3b84010691331ba6aa4" args="(BLURAY *bd, uint32_t title_idx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structbd__title__info.html">BLURAY_TITLE_INFO</a>* bd_get_title_info </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>title_idx</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get information about a title</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>title_idx</em>&nbsp;</td><td>title index number </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>allocated BLURAY_TITLE_INFO object, NULL on error </dd></dl>

</div>
</div>
<a class="anchor" id="a165ab592596e1efc1f8012da0d4f23e6"></a><!-- doxytag: member="bluray.h::bd_get_title_size" ref="a165ab592596e1efc1f8012da0d4f23e6" args="(BLURAY *bd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t bd_get_title_size </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns file size in bytes of currently selected title, 0 in no title selected</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>file size in bytes of currently selected title, 0 if no title selected </dd></dl>

</div>
</div>
<a class="anchor" id="a1fc9ea33d206c823875a2ae7a4c30728"></a><!-- doxytag: member="bluray.h::bd_get_titles" ref="a1fc9ea33d206c823875a2ae7a4c30728" args="(BLURAY *bd, uint8_t flags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t bd_get_titles </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>flags</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This must be called after <a class="el" href="bluray_8h.html#a6250c70fd06a2478e6df57b30ad2fec8">bd_open()</a> and before <a class="el" href="bluray_8h.html#ab72b7ca4870bee9fc6140b699a9008f1">bd_select_title()</a>. Populates the title list in BLURAY. Filtering of the returned list is controled through title flags</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>title flags </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>number of titles found </dd></dl>

</div>
</div>
<a class="anchor" id="a6250c70fd06a2478e6df57b30ad2fec8"></a><!-- doxytag: member="bluray.h::bd_open" ref="a6250c70fd06a2478e6df57b30ad2fec8" args="(const char *device_path, const char *keyfile_path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BLURAY* bd_open </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>device_path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>keyfile_path</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initializes libbluray objects</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>device_path</em>&nbsp;</td><td>path to mounted Blu-ray disc </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>keyfile_path</em>&nbsp;</td><td>path to KEYDB.cfg (may be NULL) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>allocated BLURAY object, NULL if error </dd></dl>

</div>
</div>
<a class="anchor" id="a74cc3ead8953a0e863f3e93fe6f9fb50"></a><!-- doxytag: member="bluray.h::bd_read" ref="a74cc3ead8953a0e863f3e93fe6f9fb50" args="(BLURAY *bd, unsigned char *buf, int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int bd_read </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Read from currently selected title file, decrypt if possible</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>buffer to read data into </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>size of data to be read </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>size of data read, -1 if error </dd></dl>

</div>
</div>
<a class="anchor" id="a7bf7944d0a77f1fdad3ab56c46aaf1c4"></a><!-- doxytag: member="bluray.h::bd_seamless_angle_change" ref="a7bf7944d0a77f1fdad3ab56c46aaf1c4" args="(BLURAY *bd, unsigned angle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void bd_seamless_angle_change </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>angle</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initiate seamless angle change</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>angle</em>&nbsp;</td><td>angle to change to </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abc3e83196c9bd4579578b2a882caed31"></a><!-- doxytag: member="bluray.h::bd_seek" ref="abc3e83196c9bd4579578b2a882caed31" args="(BLURAY *bd, uint64_t pos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t bd_seek </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Seek to pos in corrently selected title</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>position to seek to </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current seek position </dd></dl>

</div>
</div>
<a class="anchor" id="a8fc8255d0470a73e652daf95009e92c1"></a><!-- doxytag: member="bluray.h::bd_seek_chapter" ref="a8fc8255d0470a73e652daf95009e92c1" args="(BLURAY *bd, unsigned chapter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t bd_seek_chapter </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>chapter</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Seek to a chapter. First chapter is 0</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>chapter</em>&nbsp;</td><td>chapter to seek to </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current seek position </dd></dl>

</div>
</div>
<a class="anchor" id="a06c4e34e1c44f1237aa5271fa94c0fd1"></a><!-- doxytag: member="bluray.h::bd_seek_mark" ref="a06c4e34e1c44f1237aa5271fa94c0fd1" args="(BLURAY *bd, unsigned mark)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t bd_seek_mark </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>mark</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Seek to a playmark. First mark is 0</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mark</em>&nbsp;</td><td>playmark to seek to </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current seek position </dd></dl>

</div>
</div>
<a class="anchor" id="a2c1d062c5e49ea734e62a27513d39b25"></a><!-- doxytag: member="bluray.h::bd_seek_time" ref="a2c1d062c5e49ea734e62a27513d39b25" args="(BLURAY *bd, uint64_t tick)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t bd_seek_time </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>tick</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Seek to specific time in 90Khz ticks</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY ojbect </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tick</em>&nbsp;</td><td>tick count </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current seek position </dd></dl>

</div>
</div>
<a class="anchor" id="a81c6d723741a0e4f65dfb6dd3e095f13"></a><!-- doxytag: member="bluray.h::bd_select_angle" ref="a81c6d723741a0e4f65dfb6dd3e095f13" args="(BLURAY *bd, unsigned angle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int bd_select_angle </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>angle</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Set the angle to play</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>angle</em>&nbsp;</td><td>angle to play </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 if error </dd></dl>

</div>
</div>
<a class="anchor" id="ac681a285453c293918b1df56bc94fc5c"></a><!-- doxytag: member="bluray.h::bd_select_playlist" ref="ac681a285453c293918b1df56bc94fc5c" args="(BLURAY *bd, uint32_t playlist)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int bd_select_playlist </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>playlist</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Select a playlist</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>playlist</em>&nbsp;</td><td>playlist to select </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 if error </dd></dl>

</div>
</div>
<a class="anchor" id="ab72b7ca4870bee9fc6140b699a9008f1"></a><!-- doxytag: member="bluray.h::bd_select_title" ref="ab72b7ca4870bee9fc6140b699a9008f1" args="(BLURAY *bd, uint32_t title)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int bd_select_title </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>title</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Select the title from the list created by <a class="el" href="bluray_8h.html#a1fc9ea33d206c823875a2ae7a4c30728">bd_get_titles()</a></p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>title</em>&nbsp;</td><td>title to select </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 if error </dd></dl>

</div>
</div>
<a class="anchor" id="a84473bc166b70bcd88f5ff63b46536e3"></a><!-- doxytag: member="bluray.h::bd_set_player_setting" ref="a84473bc166b70bcd88f5ff63b46536e3" args="(BLURAY *bd, uint32_t idx, uint32_t value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int bd_set_player_setting </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Update player setting registers</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>Player setting register </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>New value for player setting register </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on error (invalid setting) </dd></dl>

</div>
</div>
<a class="anchor" id="ab8a5d7413a4c4997716505c68c596b03"></a><!-- doxytag: member="bluray.h::bd_tell" ref="ab8a5d7413a4c4997716505c68c596b03" args="(BLURAY *bd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t bd_tell </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return current pos</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current seek position </dd></dl>

</div>
</div>
<a class="anchor" id="ae150342f07078ede2fcbf07f8407f5f6"></a><!-- doxytag: member="bluray.h::bd_tell_time" ref="ae150342f07078ede2fcbf07f8407f5f6" args="(BLURAY *bd)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t bd_tell_time </td>
          <td>(</td>
          <td class="paramtype">BLURAY *&nbsp;</td>
          <td class="paramname"> <em>bd</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return current time</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bd</em>&nbsp;</td><td>BLURAY object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>current time </dd></dl>

</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr size="1">
<div id="footer">
  <small>
    Generated on Tue Nov 9 2010 09:19:14 for libbluray by&nbsp;
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1<br />
    Copyright &copy; 2010 John Stebbins et al.<br />
    <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" border="0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png"/></a><br/>
    This documentation is licensed and distributed under the <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.<br/>
  </small>
</div>
</body>
</html>