| dvdnav.h | | dvdnav.h | |
| | | | |
| skipping to change at line 16 | | skipping to change at line 16 | |
| * libdvdnav is free software; you can redistribute it and/or modify | | * libdvdnav is free software; you can redistribute it and/or modify | |
| * it under the terms of the GNU General Public License as published by | | * it under the terms of the GNU General Public License as published by | |
| * the Free Software Foundation; either version 2 of the License, or | | * the Free Software Foundation; either version 2 of the License, or | |
| * (at your option) any later version. | | * (at your option) any later version. | |
| * | | * | |
| * libdvdnav is distributed in the hope that it will be useful, | | * libdvdnav is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| * GNU General Public License for more details. | | * GNU General Public License for more details. | |
| * | | * | |
|
| * You should have received a copy of the GNU General Public License | | * You should have received a copy of the GNU General Public License along | |
| * along with this program; if not, write to the Free Software | | * with libdvdnav; if not, write to the Free Software Foundation, Inc., | |
| * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, U | | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |
| SA | | | |
| * | | | |
| * $Id: dvdnav.h 1135 2008-09-06 21:55:51Z rathann $ | | | |
| * | | | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * This is the main header file applications should include if they want | | * This is the main header file applications should include if they want | |
| * to access dvdnav functionality. | | * to access dvdnav functionality. | |
| */ | | */ | |
| | | | |
|
| #ifndef DVDNAV_H_INCLUDED | | #ifndef LIBDVDNAV_DVDNAV_H | |
| #define DVDNAV_H_INCLUDED | | #define LIBDVDNAV_DVDNAV_H | |
| | | | |
| #define MP_DVDNAV 1 | | #define MP_DVDNAV 1 | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| extern "C" { | | extern "C" { | |
| #endif | | #endif | |
| | | | |
|
| #ifndef DVDNAV_COMPILE | | #include <dvdnav/dvd_types.h> | |
| # include <dvdnav/dvd_types.h> | | #include <dvdread/dvd_reader.h> | |
| # include <dvdread/dvd_reader.h> | | #include <dvdread/nav_types.h> | |
| # include <dvdread/nav_types.h> | | #include <dvdread/ifo_types.h> /* For vm_cmd_t */ | |
| # include <dvdread/ifo_types.h> /* For vm_cmd_t */ | | #include <dvdnav/dvdnav_events.h> | |
| # include <dvdnav/dvdnav_events.h> | | | |
| #endif | | | |
| | | | |
| /********************************************************************* | | /********************************************************************* | |
| * dvdnav data types * | | * dvdnav data types * | |
| *********************************************************************/ | | *********************************************************************/ | |
| | | | |
| /* | | /* | |
| * Opaque data-type can be viewed as a 'DVD handle'. You should get | | * Opaque data-type can be viewed as a 'DVD handle'. You should get | |
| * a pointer to a dvdnav_t from the dvdnav_open() function. | | * a pointer to a dvdnav_t from the dvdnav_open() function. | |
| * Never call free() on the pointer, you have to give it back with | | * Never call free() on the pointer, you have to give it back with | |
| * dvdnav_close(). | | * dvdnav_close(). | |
| | | | |
| skipping to change at line 184 | | skipping to change at line 179 | |
| /* | | /* | |
| * Query whether positioning is PG or PGC based. | | * Query whether positioning is PG or PGC based. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_get_PGC_positioning_flag(dvdnav_t *self, int32_t *pg
c_based_flag); | | dvdnav_status_t dvdnav_get_PGC_positioning_flag(dvdnav_t *self, int32_t *pg
c_based_flag); | |
| | | | |
| /********************************************************************* | | /********************************************************************* | |
| * reading data * | | * reading data * | |
| *********************************************************************/ | | *********************************************************************/ | |
| | | | |
| /* | | /* | |
|
| * These functions are used to poll the playback enginge and actually get d
ata | | * These functions are used to poll the playback engine and actually get da
ta | |
| * off the DVD. | | * off the DVD. | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * Attempts to get the next block off the DVD and copies it into the buffer
'buf'. | | * Attempts to get the next block off the DVD and copies it into the buffer
'buf'. | |
| * If there is any special actions that may need to be performed, the value | | * If there is any special actions that may need to be performed, the value | |
| * pointed to by 'event' gets set accordingly. | | * pointed to by 'event' gets set accordingly. | |
| * | | * | |
| * If 'event' is DVDNAV_BLOCK_OK then 'buf' is filled with the next block | | * If 'event' is DVDNAV_BLOCK_OK then 'buf' is filled with the next block | |
| * (note that means it has to be at /least/ 2048 bytes big). 'len' is | | * (note that means it has to be at /least/ 2048 bytes big). 'len' is | |
| | | | |
| skipping to change at line 208 | | skipping to change at line 203 | |
| * len is set to the length of that structure. | | * len is set to the length of that structure. | |
| * | | * | |
| * See the dvdnav_events.h header for information on the various events. | | * See the dvdnav_events.h header for information on the various events. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_get_next_block(dvdnav_t *self, uint8_t *buf, | | dvdnav_status_t dvdnav_get_next_block(dvdnav_t *self, uint8_t *buf, | |
| int32_t *event, int32_t *len); | | int32_t *event, int32_t *len); | |
| | | | |
| /* | | /* | |
| * This basically does the same as dvdnav_get_next_block. The only differen
ce is | | * This basically does the same as dvdnav_get_next_block. The only differen
ce is | |
| * that it avoids a memcopy, when the requested block was found in the cach
e. | | * that it avoids a memcopy, when the requested block was found in the cach
e. | |
|
| * I such a case (cache hit) this function will return a different pointer
than | | * In such a case (cache hit) this function will return a different pointer
than | |
| * the one handed in, pointing directly into the relevant block in the cach
e. | | * the one handed in, pointing directly into the relevant block in the cach
e. | |
| * Those pointers must _never_ be freed but instead returned to the library
via | | * Those pointers must _never_ be freed but instead returned to the library
via | |
| * dvdnav_free_cache_block(). | | * dvdnav_free_cache_block(). | |
| */ | | */ | |
| dvdnav_status_t dvdnav_get_next_cache_block(dvdnav_t *self, uint8_t **buf, | | dvdnav_status_t dvdnav_get_next_cache_block(dvdnav_t *self, uint8_t **buf, | |
| int32_t *event, int32_t *len); | | int32_t *event, int32_t *len); | |
| | | | |
| /* | | /* | |
| * All buffers which came from the internal cache (when dvdnav_get_next_cac
he_block() | | * All buffers which came from the internal cache (when dvdnav_get_next_cac
he_block() | |
| * returned a buffer different from the one handed in) have to be freed wit
h this | | * returned a buffer different from the one handed in) have to be freed wit
h this | |
| | | | |
| skipping to change at line 282 | | skipping to change at line 277 | |
| * Plays the specified title of the DVD from its beginning (that is: part 1
). | | * Plays the specified title of the DVD from its beginning (that is: part 1
). | |
| */ | | */ | |
| dvdnav_status_t dvdnav_title_play(dvdnav_t *self, int32_t title); | | dvdnav_status_t dvdnav_title_play(dvdnav_t *self, int32_t title); | |
| | | | |
| /* | | /* | |
| * Plays the specified title, starting from the specified part. | | * Plays the specified title, starting from the specified part. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_part_play(dvdnav_t *self, int32_t title, int32_t par
t); | | dvdnav_status_t dvdnav_part_play(dvdnav_t *self, int32_t title, int32_t par
t); | |
| | | | |
| /* | | /* | |
|
| | | * Plays the specified title, starting from the specified program | |
| | | */ | |
| | | dvdnav_status_t dvdnav_program_play(dvdnav_t *this, int32_t title, int32_t | |
| | | pgcn, int32_t pgn); | |
| | | | |
| | | /* | |
| * Stores in *times an array (that the application *must* free) of | | * Stores in *times an array (that the application *must* free) of | |
| * dvdtimes corresponding to the chapter times for the chosen title. | | * dvdtimes corresponding to the chapter times for the chosen title. | |
| * *duration will have the duration of the title | | * *duration will have the duration of the title | |
| * The number of entries in *times is the result of the function. | | * The number of entries in *times is the result of the function. | |
| * On error *times is NULL and the output is 0 | | * On error *times is NULL and the output is 0 | |
| */ | | */ | |
| uint32_t dvdnav_describe_title_chapters(dvdnav_t *self, int32_t title, uint
64_t **times, uint64_t *duration); | | uint32_t dvdnav_describe_title_chapters(dvdnav_t *self, int32_t title, uint
64_t **times, uint64_t *duration); | |
| | | | |
| /* | | /* | |
| * Play the specified amount of parts of the specified title of | | * Play the specified amount of parts of the specified title of | |
| | | | |
| skipping to change at line 316 | | skipping to change at line 316 | |
| | | | |
| /* | | /* | |
| * Stop playing the current position and jump to the specified menu. | | * Stop playing the current position and jump to the specified menu. | |
| * | | * | |
| * See also DVDMenuID_t from libdvdread | | * See also DVDMenuID_t from libdvdread | |
| */ | | */ | |
| dvdnav_status_t dvdnav_menu_call(dvdnav_t *self, DVDMenuID_t menu); | | dvdnav_status_t dvdnav_menu_call(dvdnav_t *self, DVDMenuID_t menu); | |
| | | | |
| /* | | /* | |
| * Return the title number and part currently being played. | | * Return the title number and part currently being played. | |
|
| * A title of 0 indicates, we are in a menu. In this case, part | | * A title of 0 indicates we are in a menu. In this case, part | |
| * is set to the current menu's ID. | | * is set to the current menu's ID. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_current_title_info(dvdnav_t *self, int32_t *title, | | dvdnav_status_t dvdnav_current_title_info(dvdnav_t *self, int32_t *title, | |
| int32_t *part); | | int32_t *part); | |
| | | | |
| /* | | /* | |
|
| | | * Return the title number, pgcn and pgn currently being played. | |
| | | * A title of 0 indicates, we are in a menu. | |
| | | */ | |
| | | dvdnav_status_t dvdnav_current_title_program(dvdnav_t *self, int32_t *title | |
| | | , | |
| | | int32_t *pgcn, int32_t *pgn); | |
| | | | |
| | | /* | |
| * Return the current position (in blocks) within the current | | * Return the current position (in blocks) within the current | |
| * title and the length (in blocks) of said title. | | * title and the length (in blocks) of said title. | |
| * | | * | |
| * Current implementation is wrong and likely to behave unpredictably! | | * Current implementation is wrong and likely to behave unpredictably! | |
| * Use is discouraged! | | * Use is discouraged! | |
| */ | | */ | |
| dvdnav_status_t dvdnav_get_position_in_title(dvdnav_t *self, | | dvdnav_status_t dvdnav_get_position_in_title(dvdnav_t *self, | |
| uint32_t *pos, | | uint32_t *pos, | |
| uint32_t *len); | | uint32_t *len); | |
| | | | |
| | | | |
| skipping to change at line 350 | | skipping to change at line 357 | |
| | | | |
| /********************************************************************* | | /********************************************************************* | |
| * program chain/program navigation * | | * program chain/program navigation * | |
| *********************************************************************/ | | *********************************************************************/ | |
| | | | |
| /* | | /* | |
| * Stop playing the current position and start playback from the last | | * Stop playing the current position and start playback from the last | |
| * VOBU boundary before the given sector. The sector number is not | | * VOBU boundary before the given sector. The sector number is not | |
| * meant to be an absolute physical DVD sector, but a relative sector | | * meant to be an absolute physical DVD sector, but a relative sector | |
| * in the current program. This function cannot leave the current | | * in the current program. This function cannot leave the current | |
|
| * program and will fail, if asked to do so. | | * program and will fail if asked to do so. | |
| * | | * | |
| * If program chain based positioning is enabled | | * If program chain based positioning is enabled | |
| * (see dvdnav_set_PGC_positioning_flag()), this will seek to the relative | | * (see dvdnav_set_PGC_positioning_flag()), this will seek to the relative | |
| * sector inside the current program chain. | | * sector inside the current program chain. | |
| * | | * | |
| * 'origin' can be one of SEEK_SET, SEEK_CUR, SEEK_END as defined in | | * 'origin' can be one of SEEK_SET, SEEK_CUR, SEEK_END as defined in | |
| * fcntl.h. | | * fcntl.h. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_sector_search(dvdnav_t *self, | | dvdnav_status_t dvdnav_sector_search(dvdnav_t *self, | |
| uint64_t offset, int32_t origin); | | uint64_t offset, int32_t origin); | |
| | | | |
| skipping to change at line 379 | | skipping to change at line 386 | |
| * Stop playing the current position and start playback of the title | | * Stop playing the current position and start playback of the title | |
| * from the specified timecode. | | * from the specified timecode. | |
| * | | * | |
| * Currently unimplemented! | | * Currently unimplemented! | |
| */ | | */ | |
| dvdnav_status_t dvdnav_time_search(dvdnav_t *self, | | dvdnav_status_t dvdnav_time_search(dvdnav_t *self, | |
| uint64_t time); | | uint64_t time); | |
| | | | |
| /* | | /* | |
| * Stop playing current position and play the "GoUp"-program chain. | | * Stop playing current position and play the "GoUp"-program chain. | |
|
| * (which generally leads to the title menu or a higer-level menu). | | * (which generally leads to the title menu or a higher-level menu). | |
| */ | | */ | |
| dvdnav_status_t dvdnav_go_up(dvdnav_t *self); | | dvdnav_status_t dvdnav_go_up(dvdnav_t *self); | |
| | | | |
| /* | | /* | |
| * Stop playing the current position and start playback at the | | * Stop playing the current position and start playback at the | |
| * previous program (if it exists). | | * previous program (if it exists). | |
| */ | | */ | |
| dvdnav_status_t dvdnav_prev_pg_search(dvdnav_t *self); | | dvdnav_status_t dvdnav_prev_pg_search(dvdnav_t *self); | |
| | | | |
| /* | | /* | |
| | | | |
| skipping to change at line 418 | | skipping to change at line 425 | |
| */ | | */ | |
| dvdnav_status_t dvdnav_get_position(dvdnav_t *self, uint32_t *pos, | | dvdnav_status_t dvdnav_get_position(dvdnav_t *self, uint32_t *pos, | |
| uint32_t *len); | | uint32_t *len); | |
| | | | |
| /********************************************************************* | | /********************************************************************* | |
| * menu highlights * | | * menu highlights * | |
| *********************************************************************/ | | *********************************************************************/ | |
| | | | |
| /* | | /* | |
| * Most functions related to highlights take a NAV PCI packet as a paramete
r. | | * Most functions related to highlights take a NAV PCI packet as a paramete
r. | |
|
| * While you can get the such a packet from libdvdnav, for players with int | | * While you can get such a packet from libdvdnav, this will result in | |
| ernal | | * errors for players with internal FIFOs because due to the FIFO length, | |
| * FIFOs, this will result in errors, because due to the FIFO length, libdv | | * libdvdnav will be ahead in the stream compared to what the user is | |
| dnav will | | * seeing on screen. Therefore, player applications who have a NAV | |
| * be ahead in the stream compared to what the user is seeing on screen. | | * packet available, which is better in sync with the actual playback, | |
| * Therefore, player applications who have a NAV packet available, which is | | * should always pass this one to these functions. | |
| * better in sync with the actual playback should always pass this one to t | | | |
| hese | | | |
| * functions. | | | |
| */ | | */ | |
| | | | |
| /* | | /* | |
| * Get the currently highlighted button | | * Get the currently highlighted button | |
| * number (1..36) or 0 if no button is highlighted. | | * number (1..36) or 0 if no button is highlighted. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_get_current_highlight(dvdnav_t *self, int32_t *butto
n); | | dvdnav_status_t dvdnav_get_current_highlight(dvdnav_t *self, int32_t *butto
n); | |
| | | | |
| /* | | /* | |
| * Returns the Presentation Control Information (PCI) structure associated | | * Returns the Presentation Control Information (PCI) structure associated | |
| | | | |
| skipping to change at line 480 | | skipping to change at line 487 | |
| * Highlight a specific button. | | * Highlight a specific button. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_button_select(dvdnav_t *self, pci_t *pci, int32_t bu
tton); | | dvdnav_status_t dvdnav_button_select(dvdnav_t *self, pci_t *pci, int32_t bu
tton); | |
| | | | |
| /* | | /* | |
| * Activate ("press") specified button. | | * Activate ("press") specified button. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_button_select_and_activate(dvdnav_t *self, pci_t *pc
i, int32_t button); | | dvdnav_status_t dvdnav_button_select_and_activate(dvdnav_t *self, pci_t *pc
i, int32_t button); | |
| | | | |
| /* | | /* | |
|
| * Activate (press) a button and execute specified command. | | * Activate ("press") a button and execute specified command. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_button_activate_cmd(dvdnav_t *self, int32_t button,
vm_cmd_t *cmd); | | dvdnav_status_t dvdnav_button_activate_cmd(dvdnav_t *self, int32_t button,
vm_cmd_t *cmd); | |
| | | | |
| /* | | /* | |
| * Select button at specified video frame coordinates. | | * Select button at specified video frame coordinates. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_mouse_select(dvdnav_t *self, pci_t *pci, int32_t x,
int32_t y); | | dvdnav_status_t dvdnav_mouse_select(dvdnav_t *self, pci_t *pci, int32_t x,
int32_t y); | |
| | | | |
| /* | | /* | |
| * Activate ("press") button at specified video frame coordinates. | | * Activate ("press") button at specified video frame coordinates. | |
| | | | |
| skipping to change at line 528 | | skipping to change at line 535 | |
| dvdnav_status_t dvdnav_spu_language_select(dvdnav_t *self, | | dvdnav_status_t dvdnav_spu_language_select(dvdnav_t *self, | |
| char *code); | | char *code); | |
| | | | |
| /********************************************************************* | | /********************************************************************* | |
| * obtaining stream attributes * | | * obtaining stream attributes * | |
| *********************************************************************/ | | *********************************************************************/ | |
| | | | |
| /* | | /* | |
| * Return a string describing the title of the DVD. | | * Return a string describing the title of the DVD. | |
| * This is an ID string encoded on the disc by the author. In many cases | | * This is an ID string encoded on the disc by the author. In many cases | |
|
| * this is a descriptive string such as `THE_MATRIX' but sometimes is sigul
arly | | * this is a descriptive string such as `THE_MATRIX' but sometimes is singu
larly | |
| * uninformative such as `PDVD-011421'. Some DVD authors even forget to set
this, | | * uninformative such as `PDVD-011421'. Some DVD authors even forget to set
this, | |
| * so you may also read the default of the authoring software they used, li
ke | | * so you may also read the default of the authoring software they used, li
ke | |
| * `DVDVolume'. | | * `DVDVolume'. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_get_title_string(dvdnav_t *self, const char **title_
str); | | dvdnav_status_t dvdnav_get_title_string(dvdnav_t *self, const char **title_
str); | |
| | | | |
| /* | | /* | |
|
| | | * Returns a string containing the serial number of the DVD. | |
| | | * This has a max of 15 characters and should be more unique than the | |
| | | * title string. | |
| | | */ | |
| | | dvdnav_status_t dvdnav_get_serial_string(dvdnav_t *self, const char **seria | |
| | | l_str); | |
| | | | |
| | | /* | |
| * Get video aspect code. | | * Get video aspect code. | |
| * The aspect code does only change on VTS boundaries. | | * The aspect code does only change on VTS boundaries. | |
| * See the DVDNAV_VTS_CHANGE event. | | * See the DVDNAV_VTS_CHANGE event. | |
| * | | * | |
| * 0 -- 4:3, 2 -- 16:9 | | * 0 -- 4:3, 2 -- 16:9 | |
| */ | | */ | |
| uint8_t dvdnav_get_video_aspect(dvdnav_t *self); | | uint8_t dvdnav_get_video_aspect(dvdnav_t *self); | |
| | | | |
| /* | | /* | |
|
| | | * Get video resolution. | |
| | | */ | |
| | | int dvdnav_get_video_resolution(dvdnav_t *self, uint32_t *width, uint32_t * | |
| | | height); | |
| | | | |
| | | /* | |
| * Get video scaling permissions. | | * Get video scaling permissions. | |
| * The scaling permission does only change on VTS boundaries. | | * The scaling permission does only change on VTS boundaries. | |
| * See the DVDNAV_VTS_CHANGE event. | | * See the DVDNAV_VTS_CHANGE event. | |
| * | | * | |
| * bit0 set = deny letterboxing, bit1 set = deny pan&scan | | * bit0 set = deny letterboxing, bit1 set = deny pan&scan | |
| */ | | */ | |
| uint8_t dvdnav_get_video_scale_permission(dvdnav_t *self); | | uint8_t dvdnav_get_video_scale_permission(dvdnav_t *self); | |
| | | | |
| /* | | /* | |
| * Converts a *logical* audio stream id into language code | | * Converts a *logical* audio stream id into language code | |
| | | | |
| skipping to change at line 566 | | skipping to change at line 585 | |
| */ | | */ | |
| uint16_t dvdnav_audio_stream_to_lang(dvdnav_t *self, uint8_t stream); | | uint16_t dvdnav_audio_stream_to_lang(dvdnav_t *self, uint8_t stream); | |
| | | | |
| /* | | /* | |
| * Returns the format of *logical* audio stream 'stream' | | * Returns the format of *logical* audio stream 'stream' | |
| * (returns 0xffff if no such stream). | | * (returns 0xffff if no such stream). | |
| */ | | */ | |
| uint16_t dvdnav_audio_stream_format(dvdnav_t *self, uint8_t stream); | | uint16_t dvdnav_audio_stream_format(dvdnav_t *self, uint8_t stream); | |
| | | | |
| /* | | /* | |
|
| * Returns number of channelsn in *logical* audio stream 'stream' | | * Returns number of channels in *logical* audio stream 'stream' | |
| * (returns 0xffff if no such stream). | | * (returns 0xffff if no such stream). | |
| */ | | */ | |
| uint16_t dvdnav_audio_stream_channels(dvdnav_t *self, uint8_t stream); | | uint16_t dvdnav_audio_stream_channels(dvdnav_t *self, uint8_t stream); | |
| | | | |
| /* | | /* | |
| * Converts a *logical* subpicture stream id into country code | | * Converts a *logical* subpicture stream id into country code | |
| * (returns 0xffff if no such stream). | | * (returns 0xffff if no such stream). | |
| */ | | */ | |
| uint16_t dvdnav_spu_stream_to_lang(dvdnav_t *self, uint8_t stream); | | uint16_t dvdnav_spu_stream_to_lang(dvdnav_t *self, uint8_t stream); | |
| | | | |
| | | | |
| skipping to change at line 634 | | skipping to change at line 653 | |
| * selected angle coming from the get_next_block functions. | | * selected angle coming from the get_next_block functions. | |
| * | | * | |
| * Note: | | * Note: | |
| * It is quite possible that some tremendously strange DVD feature might ch
ange the | | * It is quite possible that some tremendously strange DVD feature might ch
ange the | |
| * angle number from under you. Generally you should always view the result
s from | | * angle number from under you. Generally you should always view the result
s from | |
| * dvdnav_get_angle_info() as definitive only up to the next time you call | | * dvdnav_get_angle_info() as definitive only up to the next time you call | |
| * dvdnav_get_next_block(). | | * dvdnav_get_next_block(). | |
| */ | | */ | |
| | | | |
| /* | | /* | |
|
| * Sets the current angle. If you try to follow a non existant angle | | * Sets the current angle. If you try to follow a non existent angle | |
| * the call fails. | | * the call fails. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_angle_change(dvdnav_t *self, int32_t angle); | | dvdnav_status_t dvdnav_angle_change(dvdnav_t *self, int32_t angle); | |
| | | | |
| /* | | /* | |
| * Returns the current angle and number of angles present. | | * Returns the current angle and number of angles present. | |
| */ | | */ | |
| dvdnav_status_t dvdnav_get_angle_info(dvdnav_t *self, int32_t *current_angl
e, | | dvdnav_status_t dvdnav_get_angle_info(dvdnav_t *self, int32_t *current_angl
e, | |
| int32_t *number_of_angles); | | int32_t *number_of_angles); | |
| | | | |
| | | | |
| skipping to change at line 673 | | skipping to change at line 692 | |
| | | | |
| /* | | /* | |
| * Are we in the Video Title Set domain? | | * Are we in the Video Title Set domain? | |
| */ | | */ | |
| int8_t dvdnav_is_domain_vts(dvdnav_t *self); | | int8_t dvdnav_is_domain_vts(dvdnav_t *self); | |
| | | | |
| #ifdef __cplusplus | | #ifdef __cplusplus | |
| } | | } | |
| #endif | | #endif | |
| | | | |
|
| #endif /* DVDNAV_H_INCLUDED */ | | #endif /* LIBDVDNAV_DVDNAV_H */ | |
| | | | |
End of changes. 18 change blocks. |
| 34 lines changed or deleted | | 53 lines changed or added | |
|