| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Where applicable, remove methods that don't do anything different than
the default implementation.
|
|
|
|
|
| |
By stating whether we don't have enough data or it's a corrupted
packet
|
|
|
|
|
|
|
| |
* Avoid repeating code everywhere, and instead provide all parsing
information in one go.
* Add BAT support
* Refine BAT/CAT identification (by adding PID checks)
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Do no try to unref a NULL download attribute
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* don't unref inexistant GstDateTime
* Fine-tune hour/min/sec BCD reading code
* Update example code accordingly
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
We will do the same once we have ATSC/ISDB/... descriptor parsing
|
|
|
|
| |
And use it in example
|
|
|
|
|
|
|
|
| |
* 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 :)
|
|
|
|
|
| |
Use object lock to protect variables from concurrent access and
use download_lock to only allow one download running
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
The return value type of SEI payload parsing functions
are GstH264ParserResult.
https://bugzilla.gnome.org/show_bug.cgi?id=695475
|
|
|
|
| |
Detected by initial pre-run of gi-scanner.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
When we port lv2, we'll go the same route as the new ladspa plugin.
|
|
|
|
| |
And use the extension also (higher 12 bits)
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
This prevents leaking the element. Also sets the bus to flushing
to completely reset the downloader state
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
gsturidownloader can be reused by other plugins, better have it
into its own lib
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=699827
|
| |
|
| |
|
| |
|
|
|
|
| |
This only contained API that now has replacements in core and base.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=691712
|
| |
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
It is at least 34 bit big (5 bytes with byte padding)
|
| |
|
| |
|
| |
|
| |
|