summaryrefslogtreecommitdiff
path: root/gst
AgeCommit message (Collapse)AuthorFilesLines
2015-06-13gstprotection: Add missing namespace to macroNicolas Dufresne2-6/+11
GST_PROTECTION_SYSTEM_ID_CAPS_FIELD was missing the GST_ namespace. Add it before its too late.
2015-06-13doc: Keep SECTION: after the ifdefNicolas Dufresne1-3/+4
Otherwise GTK doc will see it as often as we include that files and warn about duplicated SECTION:
2015-06-13gi: Skip mini object method that play with refcountingNicolas Dufresne1-5/+5
It make no sense to allow using that. Any use would lead to leak of crash. Note that GMiniObject is entirely unusable as you cannot cast from let's say GstBuffer to GstMiniObject.
2015-06-13doc: Fix annoation for GstMiniObjectNicolas Dufresne1-5/+1
Replacing reprecated "Ref Func:", "Unref Fun:" etc. comment block with appropriate (ref-func name) etc. annotation.
2015-06-13doc: Fix unbalanced parenthesisNicolas Dufresne1-1/+1
2015-06-13doc: Fix more typoNicolas Dufresne1-1/+1
2015-06-13doc: Fix type in previous commitNicolas Dufresne1-1/+1
Marker is (value .. not (alue.
2015-06-13doc: Don't use deprecated Value: and Type: commentNicolas Dufresne2-48/+12
Instead use appropriate annotation. Annotations can be added to the right of the constant name in a comment block.
2015-06-12clock: Add signed time utilitiesNicolas Dufresne1-0/+52
Add utility to print signed value of time. This is useful to trace running time values in gint64 or GstClockTimeDiff values. Additionally, define GST_CLOCK_STIME_NONE to indicate an invalid signed time value and validation macro. New macros are: GST_CLOCK_STIME_NONE GST_CLOCK_STIME_IS_VALID GST_STIME_FORMAT GST_STIME_ARGS https://bugzilla.gnome.org/show_bug.cgi?id=740575
2015-06-12message: add allow-none to gst_message_new_ functionThiago Santos1-26/+26
No restriction for creating messages without a source
2015-06-12memory: provide a mem_map_full that takes the GstMapInfoMatthew Waters3-10/+32
Follow up of 7130230ddb349d0ca7942abdba26b7558df055d1 Provide the memory implementation the GstMapInfo that will be used to map/unmap the memory. This allows the memory implementation to use some scratch space in GstMapInfo to e.g. track different map/unmap behaviour or store extra implementation defined data about the map in use. https://bugzilla.gnome.org/show_bug.cgi?id=750319
2015-06-11pipeline: Add gst_pipeline_set_latency(), getter and GObject propertySebastian Dröge2-1/+155
This overrides the default latency handling and configures the specified latency instead of the minimum latency that was returned from the LATENCY query. https://bugzilla.gnome.org/show_bug.cgi?id=750782
2015-06-08Add GST_BUFFER_FLAG_SYNC_AFTER flag, and implement in filesink.Jan Schmidt1-0/+4
Makes it possible to get filesink to fsync() after rendering a buffer.
2015-06-03clock: Add GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC and related APISebastian Dröge2-1/+152
gst_clock_wait_for_sync(), gst_clock_is_synced() and gst_clock_set_synced() plus a signal to asynchronously wait for the clock to be synced. This can be used by clocks to signal that they need initial synchronization before they can report any time, and that this synchronization can also get completely lost at some point. Network clocks, like the GStreamer netclientclock, NTP or PTP clocks are examples for clocks where this is useful to have as they can't report any time at all before they're synced. https://bugzilla.gnome.org/show_bug.cgi?id=749391
2015-06-03memory: provide a mem_unmap function that takes the flags to unmapMatthew Waters3-10/+24
There are gstmemory's available that operate in two memory domains and need to ensure consistent access between these domains. Imagine a scenario where e.g. the GLMemory is mapped twice in both the GPU and the CPU domain. On unmap or a subsequent map, it would like to ensure that the most recent data is available in the memory domain requested. Either by flushing the writes and/or initiating a DMA transfer. Without knowing which domain is being unmapped, the memory does not know where the most recent data is to transfer to the other memory domain. Note: this still does not allow downgrading a memory map. https://bugzilla.gnome.org/show_bug.cgi?id=750319
2015-06-03memory: gst_memory_share may fail to exclusively lock the parent memoryMatthew Waters1-0/+21
Now that locking exclusively dows not always succeed, we need to signal the failure case from gst_memory_init. Rather than introducing an API or funcionality change to gst_memory_init, workaround by checking exclusivity in the calling code. https://bugzilla.gnome.org/show_bug.cgi?id=750172
2015-06-03buffer: locking memory exclusively may failMatthew Waters1-14/+52
Attempt to return a copy of the memory instead. https://bugzilla.gnome.org/show_bug.cgi?id=750172
2015-06-03miniobject: disallow a double write/exclusive lockMatthew Waters1-4/+6
gst_memory_lock (mem, WRITE | EXCLUSIVE); gst_memory_lock (mem, WRITE | EXCLUSIVE); Succeeds when the part-miniobject.txt design doc suggests that this should fail: "A gst_mini_object_lock() can fail when a WRITE lock is requested and the exclusive counter is > 1. Indeed a GstMiniObject object with an exclusive counter 1 is locked EXCLUSIVELY by at least 2 objects and is therefore not writable." https://bugzilla.gnome.org/show_bug.cgi?id=750172
2015-06-02uri: match return type of get_uri_type() implementation to declarationTim-Philipp Müller1-2/+2
https://bugzilla.gnome.org/show_bug.cgi?id=750292
2015-06-03gstbuffer: Add a note about metas needing to be copied lastJan Schmidt1-0/+3
2015-06-03gstvalue: Implement gst_value_is_subset() for flagsetsJan Schmidt1-0/+28
2015-05-31structure: add note about missing field creation on _set()Reynaldo H. Verdejo Pinochet1-1/+2
2015-05-27gst/gst.c: Add a warning about DllMain to prevent misuseNirbheek Chauhan1-0/+11
DllMain should not be relied on for anything except storing the DLL handle. It should also not be defined for static builds, but doing so is not straightforward and is mostly harmless, so let's just add a comment about that for now.
2015-05-25gstvalue: Add GstFlagSet typeJan Schmidt4-81/+648
GstFlagSet is a new type designed for negotiating sets of boolean capabilities flags, consisting of a 32-bit flags bitfield and 32-bit mask field. The mask field indicates which of the flags bits an element needs to have as specific values, and which it doesn't care about. This allows efficient negotiation of arrays of boolean capabilities. The standard serialisation format is FLAGS:MASK, with flags and mask fields expressed in hexadecimal, however GstFlagSet has a gst_register_flagset() function, which associates a new GstFlagSet derived type with an existing GFlags gtype. When serializing a GstFlagSet with an associated set of GFlags, it also serializes a human-readable form of the flags for easier debugging. It is possible to parse a GFlags style serialisation of a flagset, without the hex portion on the front. ie, +flag1/flag2/flag3+flag4, to indicate that flag1 & flag4 must be set, and flag2/flag3 must be unset, and any other flags are don't-care. https://bugzilla.gnome.org/show_bug.cgi?id=746373
2015-05-20gstvalue: Add a comparision function for GstStructuresThibault Saunier1-1/+13
2015-05-15pad: bump chain function call logs from LOG to DEBUGVincent Penquerc'h1-4/+4
They're really useful compared to other LOG stuff in there, so there is value is including them and not the rest.
2015-05-15gstobject: add gst_object_has_as_ancestor and deprecate previous functionStefan Sauer2-2/+31
The old gst_object_has_ancestor will call the new code. This establishes the symetry with the new gst_object_has_as_parent. API: gst_object_has_as_ancestor()
2015-05-15gstobject: rename gst_object_has_parent to gst_object_has_as_parentStefan Sauer2-3/+3
This avoid confusion with a potential punction that check if a gstobject has-a parent. API: gst_object_has_as_parent()
2015-05-10docs: gst-launch -> gst-launch-1.0 in example pipelinesTim-Philipp Müller1-1/+1
And some small example pipeline fix-ups.
2015-05-01event: remove duplicated includeJimmy Ohn1-1/+0
https://bugzilla.gnome.org/show_bug.cgi?id=748739
2015-04-28taglist: Copy the tag scope too when copying tag listsSebastian Dröge1-5/+6
2015-04-26Remove obsolete Android build cruftTim-Philipp Müller2-25/+0
This is not needed any longer.
2015-04-24printf: fix invalid memory access in case of %%Tim-Philipp Müller1-0/+5
https://bugzilla.gnome.org/show_bug.cgi?id=748414
2015-04-23gstinfo: fix infinite loop in gst_debug_unset_threshold_for_name()Jason Litzinger1-0/+2
Ensure iterator is advanced. The current list iteration code only advances the iterator (walk) if a match is found, which results in an infinite loop when more than one entry exists in the list. https://bugzilla.gnome.org/show_bug.cgi?id=748321
2015-04-20buffer: Check return value of meta transform function in gst_buffer_copy_into()Sebastian Dröge1-2/+6
... by printing some debug output whenever copying a GstMeta fails. https://bugzilla.gnome.org/show_bug.cgi?id=748119
2015-04-18event: fix header formattingTim-Philipp Müller1-4/+3
2015-04-18gst.h: include the new gstprotection.h headerTim-Philipp Müller1-0/+1
https://bugzilla.gnome.org/show_bug.cgi?id=705991
2015-04-18protection: add GstProtectionMeta to support protected contentAlex Ashley5-0/+282
In order to support some types of protected streams (such as those protected using DASH Common Encryption) some per-buffer information needs to be passed between elements. This commit adds a GstMeta type called GstProtectionMeta that allows protection specific information to be added to a GstBuffer. An example of its usage is qtdemux providing information to each output sample that enables a downstream element to decrypt it. This commit adds a utility function to select a supported protection system from the installed Decryption elements found in the registry. The gst_protection_select_system function that takes an array of identifiers and searches the registry for a element of klass Decryptor that supports one or more of the supplied identifiers. If multiple elements are found, the one with the highest rank is selected. This commit adds a unit test for the gst_protection_select_system function that adds a fake Decryptor element to the registry and then checks that it can correctly be selected by the utility function. This commit adds a unit test for GstProtectionMeta that creates GstProtectionMeta and adds & removes it from a buffer and performs some simple reference count checks. API: gst_buffer_add_protection_meta() API: gst_buffer_get_protection_meta() API: gst_protection_select_system() API: gst_protection_meta_api_get_type() API: gst_protection_meta_get_info() https://bugzilla.gnome.org/show_bug.cgi?id=705991
2015-04-18event: add new GST_EVENT_PROTECTIONAlex Ashley2-0/+131
In order for a decrypter element to decrypt media protected using a specific protection system, it first needs all the protection system specific information necessary (E.g. information on how to acquire the decryption keys) for that stream. The GST_EVENT_PROTECTION defined in this commit enables this information to be passed from elements that extract it (e.g. qtdemux, dashdemux) to elements that use it (E.g. a decrypter element). API: GST_EVENT_PROTECTION API: gst_event_new_protection() API: gst_event_parse_protection() https://bugzilla.gnome.org/show_bug.cgi?id=705991
2015-04-16pad: block data flow when idle probe is runningThiago Santos1-0/+49
When idle probe runs directly from the gst_pad_add_probe() function we need to make sure that no data flow happens as idle probe is a blocking probe. The idle probe will prevent that any buffer, bufferlist or serialized events and queries are not flowing while it is running. https://bugzilla.gnome.org/show_bug.cgi?id=747852
2015-04-16docs: clarify that return value of gst_filename_to_uri() must be freedTim-Philipp Müller1-0/+3
https://bugzilla.gnome.org/show_bug.cgi?id=747104
2015-04-15bin: undo upward state changes on children when a child failsVincent Penquerc'h1-1/+30
When a bin changes states upwards, and a child fails to change, any child that was already switched will not be reset to its original state, leaving its state inconsistent with the bin, which does not change state due to the failure. If the state change was from NULL to READY, it means that deleting this bin will cause those children to be deleted while not in NULL state, which is a Bad Thing. For other upward changes, it is less of a problem, as a subsequent switch back to NULL will cause an actual downwards change on those inconsistent elements, albeit from the "wrong" state. We now reset state to the original one when a child fails. Includes unit test. https://bugzilla.gnome.org/show_bug.cgi?id=747610
2015-04-14elementfactory: add ENCRYPTOR class definesTim-Philipp Müller2-1/+7
to go with DECRYPTOR.
2015-04-14elementfactory: add DECRYPTOR class definesAlex Ashley2-1/+7
An element that performs decryption does not naturally fit within any of the existing element factory class types. It is useful to be able to easily get a list of all elements that support decryption so that a union can be computed between the protection systems that have a supported decryptor and the allowed protection systems for a particular stream. This commit adds a new GST_ELEMENT_FACTORY_TYPE_DECRYPTOR and its associated string identifier "Decryptor". It also adds GST_ELEMENT_FACTORY_TYPE_DECRYPTOR to GST_ELEMENT_FACTORY_TYPE_DECODABLE so that uridecodebin can auto-plug a decryption element. https://bugzilla.gnome.org/show_bug.cgi?id=705991
2015-04-13gstvalue: reset errno before g_ascii_strtoull callHyunjun Ko1-0/+1
"errno" already has meaningless value before g_ascii_strtoull call. This causes invalid error check without reset. https://bugzilla.gnome.org/show_bug.cgi?id=747690
2015-04-08bufferlist: make sure list is writable before adding or removing buffersPrashant Gotarne1-0/+2
https://bugzilla.gnome.org/show_bug.cgi?id=747439
2015-04-08bufferlist: minor docs addition for gst_buffer_list_get()Prashant Gotarne1-1/+1
Return buffer remains valid as long as list is valid and buffer is not removed from list. https://bugzilla.gnome.org/show_bug.cgi?id=747438
2015-04-06docs: fix cross-reference to environment variables in GstInfoTim-Philipp Müller1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=747416
2015-04-06memory: add check for writablity in resizePrashant Gotarne1-0/+1
Add guard to gst_memory_resize() to make sure the memory to be resized is actually writable. https://bugzilla.gnome.org/show_bug.cgi?id=747392
2015-04-04pad: Print debug output from gst_pad_link_full() if preparing linking failedSebastian Dröge1-1/+5
Makes it easier to find linking failures in debug logs.