summaryrefslogtreecommitdiff
path: root/gst-libs
Commit message (Collapse)AuthorAgeFilesLines
* all: Fix for GST_DISABLE_GST_DEBUGEdward Hervey2013-07-291-0/+4
| | | | | Where applicable, remove methods that don't do anything different than the default implementation.
* codecparser: Make warnings more meaningfulEdward Hervey2013-07-261-2/+8
| | | | | By stating whether we don't have enough data or it's a corrupted packet
* mpegts: Unify section checks and add BAT parsingEdward Hervey2013-07-094-205/+255
| | | | | | | * Avoid repeating code everywhere, and instead provide all parsing information in one go. * Add BAT support * Refine BAT/CAT identification (by adding PID checks)
* codecparsers: h264: fix calculation of the frame cropping rectangle.Gwenole Beauchesne2013-07-091-8/+9
| | | | | | | | | | Fix calculation of the frame cropping rectangle, and more precisely the actual cropped height. The frame_crop_top_offset subtraction was not scaled up with SubHeightC. Also clean-up variables to align more with (7-18) to (7-21). Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
* h264parser: Parse the cropping-rectangle separately.Sreerenj Balachandran2013-07-092-10/+23
| | | | | | | | Assign the un-cropped width/height to sps->width/sps->height during sps header parsing. Added new fields to SPS header structure to provide the crop-rectangle dimensions. https://bugzilla.gnome.org/show_bug.cgi?id=694068
* uridownloader: fix crash when download is nullThiago Santos2013-07-081-2/+4
| | | | Do no try to unref a NULL download attribute
* uridownloader: do not set cancelled unless explicitly called by userThiago Santos2013-07-081-4/+17
| | | | | | | | Cancelled is a 'permanent' state of the uridownloader and is only removed by a call to _reset. When a download fails we just want to return NULL on the fetch function and leave the downloader ready for another fetch, otherwise the user has to call _reset after failed downloader, even when it didn't call _cancel.
* mpegts: Avoid false-positives in section type detectionEdward Hervey2013-07-071-10/+24
| | | | | | | Due to the variety of section types out there, we need to add some checks when identifying section types. We check here that the PID is also consistent with the table_id.
* mpegts: Properly handle UTC time in sectionsEdward Hervey2013-07-061-5/+10
| | | | | | * don't unref inexistant GstDateTime * Fine-tune hour/min/sec BCD reading code * Update example code accordingly
* mpegts: Fix NIT parsingEdward Hervey2013-07-061-22/+4
| | | | | | | | The size checks were wrong. The smallest size for a NIT is 16 bytes (12 for the smallest content + 4 for crc) and the smallest size for a inner stream loop is 6 bytes (without any descriptors). Also remove FIXME that has already moved elsewhere
* codecparsers: mpeg2: fix video packet header size checks.Gwenole Beauchesne2013-07-051-3/+3
| | | | | | | | | | | Fix video packet header size checks for: - Sequence Header: 64 bits ; - Sequence Scalable Extension: 10 bits ; - Slice Header: 6 bits. https://bugzilla.gnome.org/show_bug.cgi?id=703668 Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
* codecparsers: mpeg2: add slice header parsing API.Sreerenj Balachandran2013-07-052-0/+164
| | | | | | | | | | Add API to parse the Slice header. This also calculates the macroblock position as specified in 6.3.16. https://bugzilla.gnome.org/show_bug.cgi?id=664274 Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
* codecparsers: mpeg2: add sequence scalable extension parsing API.Sreerenj Balachandran2013-07-052-4/+127
| | | | | | | | | Add API to parse the Sequence Scalable Extension header. https://bugzilla.gnome.org/show_bug.cgi?id=664274 Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
* codecparsers: mpeg2: add new API that takes GstMpegVideoPacket arguments.Gwenole Beauchesne2013-07-052-77/+328
| | | | | | | | | | | | Add new interface to MPEG-2 video parser that takes GstMpegVideoPacket arguments instead of data, size, and offset. New functions are called after gst_mpeg_video_packet_*() and provide the default implementation. Older API is moved to the deprecated namespace and uses the new functions. https://bugzilla.gnome.org/show_bug.cgi?id=692933 Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
* mpegts: Improve documentationEdward Hervey2013-07-047-10/+101
| | | | | | | | * Add a base page for the library * Add pages for the base MPEG-TS section and descriptors * Add pages for the known variants * Add documentation on more fields/sections/types * Remove some fixmes that were ... fixed
* mpegtsdescriptor: Fix handling of unknown stream encodingsEdward Hervey2013-07-041-5/+3
| | | | | | If we cannot identify the encoding used for a string, return a NULL string instead of garbage and add a FIXME so we can detect and later fix it.
* mpegts: Add registered mpeg-ts stream typesEdward Hervey2013-07-041-1/+116
| | | | | | | | | These are the values officially registered in the base specification (H.222.0/13818-1). Later on we can add other enums for other variants Note that the enum is not used in the structure fields (such as a pmt stream stream_type field) since it can contain values from other variants.
* mpegts: split dvb descriptors/enums into a separate fileEdward Hervey2013-07-037-549/+637
| | | | We will do the same once we have ATSC/ISDB/... descriptor parsing
* mpegts: Fix TOT section parsingEdward Hervey2013-07-031-0/+1
| | | | And use it in example
* mpegts: Split files and implement free functionsEdward Hervey2013-07-039-1086/+1204
| | | | | | | | * In order to avoid future clashing between table_id for the various mpeg-ts variants, use different enums. * In order to keep everything clean(ish) and allow for cleaner growth, split into different files (will need the same for descriptors later) * Also ... implement free functions for all table types :)
* uridownloader: Simplify locking to fix deadlocksThiago Santos2013-07-031-24/+26
| | | | | Use object lock to protect variables from concurrent access and use download_lock to only allow one download running
* libs/mpegts: Rename GstMpegTS => GstMpegTsEdward Hervey2013-07-035-325/+334
| | | | | | | | | | | | | | Sorry for this :( But this makes it more in sync with expected type naming in gobject (i.e. CamelCase and not CamelMAYBECase). Also split descriptor type enums into the different variants: * ISO H.222.0 / 13818-1 (i.e. standard mpeg-ts) * DVB * ATSC * ISDB * miscellaneous This will avoid future clashes when specs use the same descriptor type
* gst-libs: New Mpeg-TS support libraryEdward Hervey2013-07-038-2/+3702
| | | | | | | | | | | | | | | | | | | | | Exposes various MPEG-TS (ISO/IEC 13818-1) and DVB (EN 300 468) Section Information as well as descriptors for usage by plugins and applications. This replaces entirely the old GstStructure-based system for conveying mpeg-ts information to applications and other plugins. Parsing and validation is done on a "when-needed" basis. This ensures the minimal overhead for elements and applications creating and using sections and descriptors. Since all information is made available, this also allows applications to parse custom sections and descriptors. Right now the library is targeted towards parsing, but the structures could be used in the future to allow applications to create and inject sections and descriptors (for usage by various mpeg-ts elements). https://bugzilla.gnome.org/show_bug.cgi?id=702724
* uridownloader: add support for range based downloadsThiago Santos2013-07-012-2/+47
| | | | | | | | Adds a new API gst_uri_downloader_fetch_uri_with_range that allows downloading only a byte range from an URI. It uses a seek event sent to the source to signal the range to be downloaded. https://bugzilla.gnome.org/show_bug.cgi?id=702206
* h264parser: Fix the return value type for the SEI palyload parsing methods.Sreerenj Balachandran2013-07-011-3/+3
| | | | | | | The return value type of SEI payload parsing functions are GstH264ParserResult. https://bugzilla.gnome.org/show_bug.cgi?id=695475
* codecparsers: Fix gtk-docEdward Hervey2013-06-235-9/+10
| | | | Detected by initial pre-run of gi-scanner.
* mpegvideoparser: Fix the pixel-aspect-ratio calculationSreerenj Balachandran2013-06-061-3/+8
| | | | | | | | | | Ignore the display_extension values if they are greater than the width/height values provided by seqhdr and calculate the PAR based on the seqhdr values.T his is what DVD players are doing. Thanks to "David Schleef <ds@schleef.org>" https://bugzilla.gnome.org/show_bug.cgi?id=685103
* signalprocessor: ladspa is not using this anymoreStefan Sauer2013-05-285-1362/+2
| | | | When we port lv2, we'll go the same route as the new ladspa plugin.
* codecparsers: Actually store mpeg video bitrate valueEdward Hervey2013-05-231-1/+2
| | | | And use the extension also (higher 12 bits)
* insertbin: Annotate callback scopesOlivier Crête2013-05-151-10/+10
|
* egl: Add destroy notify instead of always calling eglTerminate() on the displaySebastian Dröge2013-05-102-4/+6
| | | | | | | | In some scenarios, for example in QtWebKit, might be difficult to obtain full control on the egl display and it might be only accessible indirectly via eglGetCurrentDisplay(). https://bugzilla.gnome.org/show_bug.cgi?id=700058
* egl: Allow being used in C++ codeJosep Torra2013-05-101-0/+3
|
* codecparsers: ensure the debug category is properly initializedThiago Santos2013-05-071-2/+11
| | | | | | The user of the library might not need to create a NalParser, so the debug category needs to be initialized from other functions as well if required.
* uridownloader: unlock mutex when switching urisrc state to NULL to avoid ↵Louis-Francis Ratté-Boulianne2013-05-071-6/+20
| | | | | | | | | deadlock When chain method was called after gst_uri_downloader_stop and before state has been changed to NULL, execution was blocking on g_mutex_lock. Conflicts: gst-libs/gst/uridownloader/gsturidownloader.c
* uridownloader: properly unref the urisrc between downloadsThiago Santos2013-05-071-1/+10
| | | | | This prevents leaking the element. Also sets the bus to flushing to completely reset the downloader state
* uridownloader: make cancelled state 'permanent' until a resetAndre Moreira Magalhaes (andrunko)2013-05-072-3/+33
| | | | | | | | | | | | | | | | When downloading and cancelling quickly the uridownloader object and the element using it could miss the cancelled window and the uridownloader would fetch the wrong URI and block on subsequent fetches. This was also problematic when stopping elements, while one task would call the cancel, another element thread could issue a new fetch_uri. As the cancel state isn't 'permanent' this fetch_uri would block and prevent the whole element from stopping and going to NULL. This patch makes the 'cancelled' state permanent until a gst_uri_downloader_reset is called. This way the element knows the window where the uridownloader isn't active and only reactivate it when ready.
* uridownloader: refactor gsturidownloader to its own libThiago Santos2013-05-077-3/+812
| | | | | gsturidownloader can be reused by other plugins, better have it into its own lib
* mpegvideometa: Fix typo in commentSreerenj Balachandran2013-05-071-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=699827
* egl: Use gst_context_writable_structure()Sebastian Dröge2013-04-181-3/+3
|
* egl: silence warnings building for RPI related to 'vcos_*'Josep Torra2013-04-181-2/+18
|
* egl: Use new types from libgstvideo instead of defining our ownSebastian Dröge2013-04-173-44/+21
|
* video: Remove video library from -badSebastian Dröge2013-04-118-991/+2
| | | | This only contained API that now has replacements in core and base.
* docs: add since markers to new codecparsers video meta APITim-Philipp Müller2013-04-022-0/+4
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=691712
* egl: Add a #define for the EGLImage memory caps featureSebastian Dröge2013-04-011-0/+2
|
* codecparsers: Add Mpeg Video GstMetaEdward Hervey2013-03-313-2/+233
| | | | | | This can be used by parsers to provide pre-parsed information to downstream elements that would require it (so they can avoid having to parse the bitstream again).
* codecparser: Fix picture packet extension size checkEdward Hervey2013-03-311-1/+1
| | | | It is at least 34 bit big (5 bytes with byte padding)
* eglglessink: Implement GstContext handlingSebastian Dröge2013-03-292-11/+45
|
* egl: check on the proper display and indent some linesJosep Torra2013-03-291-4/+4
|
* egl: Add a boxed type for GstEGLDisplaySebastian Dröge2013-03-282-0/+7
|
* egl: Fix some return values in g_return_val_if_fail()Sebastian Dröge2013-03-191-3/+3
|