dvd_types.h   dvd_types.h 
/* /*
* Copyright (C) 2000, 2001 Bj * Copyright (C) 2000, 2001 Björn Englund, Håkan Hjort
* *
* This file is part of libdvdnav, a DVD navigation library. It is a modifi ed * This file is part of libdvdnav, a DVD navigation library. It is a modifi ed
* file originally part of the Ogle DVD player project. * file originally part of the Ogle DVD player project.
* *
* 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: dvd_types.h 1135 2008-09-06 21:55:51Z rathann $
*
*/ */
/* /*
* Various useful structs and enums for DVDs. * Various useful structs and enums for DVDs.
*/ */
#ifndef DVD_H_INCLUDED #ifndef LIBDVDNAV_DVD_TYPES_H
#define DVD_H_INCLUDED #define LIBDVDNAV_DVD_TYPES_H
/* /*
* DVD Menu ID * DVD Menu ID
* (see dvdnav_menu_call()) * (see dvdnav_menu_call())
*/ */
typedef enum { typedef enum {
/* When used in VTS domain, DVD_MENU_Escape behaves like DVD_MENU_Root, /* When used in VTS domain, DVD_MENU_Escape behaves like DVD_MENU_Root,
* but from within a menu domain, DVD_MENU_Escape resumes playback. */ * but from within a menu domain, DVD_MENU_Escape resumes playback. */
DVD_MENU_Escape = 0, DVD_MENU_Escape = 0,
DVD_MENU_Title = 2, DVD_MENU_Title = 2,
skipping to change at line 276 skipping to change at line 273
int FrameHeight; int FrameHeight;
DVDVideoCompression_t Compression; DVDVideoCompression_t Compression;
DVDBool_t Line21Field1InGop; DVDBool_t Line21Field1InGop;
DVDBool_t Line21Field2InGop; DVDBool_t Line21Field2InGop;
int more_to_come; int more_to_come;
} DVDVideoAttributes_t; } DVDVideoAttributes_t;
typedef int DVDVideoCompression_t; typedef int DVDVideoCompression_t;
#endif #endif
#endif /* DVD_H_INCLUDED */ #endif /* LIBDVDNAV_DVD_TYPES_H */
 End of changes. 4 change blocks. 
10 lines changed or deleted 6 lines changed or added


 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


 dvdnav_events.h   dvdnav_events.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_events.h 1135 2008-09-06 21:55:51Z rathann $
*
*/ */
/* /*
* This header defines events and event types * This header defines events and event types
*/ */
#ifndef DVDNAV_EVENTS_H_INCLUDED #ifndef LIBDVDNAV_DVDNAV_EVENTS_H
#define DVDNAV_EVENTS_H_INCLUDED #define LIBDVDNAV_DVDNAV_EVENTS_H
/* /*
* DVDNAV_BLOCK_OK * DVDNAV_BLOCK_OK
* *
* A regular data block from the DVD has been returned. * A regular data block from the DVD has been returned.
* This one should be demuxed and decoded for playback. * This one should be demuxed and decoded for playback.
*/ */
#define DVDNAV_BLOCK_OK 0 #define DVDNAV_BLOCK_OK 0
/* /*
skipping to change at line 226 skipping to change at line 223
* We have reached a point in DVD playback, where timing is critical. * We have reached a point in DVD playback, where timing is critical.
* Player application with internal fifos can introduce state * Player application with internal fifos can introduce state
* inconsistencies, because libdvdnav is always the fifo's length * inconsistencies, because libdvdnav is always the fifo's length
* ahead in the stream compared to what the application sees. * ahead in the stream compared to what the application sees.
* Such applications should wait until their fifos are empty * Such applications should wait until their fifos are empty
* when they receive this type of event. * when they receive this type of event.
* Once this is achieved, call dvdnav_skip_wait(). * Once this is achieved, call dvdnav_skip_wait().
*/ */
#define DVDNAV_WAIT 13 #define DVDNAV_WAIT 13
#endif /* DVDNAV_EVENTS_H_INCLUDED */ #endif /* LIBDVDNAV_DVDNAV_EVENTS_H */
 End of changes. 3 change blocks. 
9 lines changed or deleted 5 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/