1. Introduction
Sites and applications on the web are rarely composed of resources from only a single origin. For example, authors pull scripts and styles from a wide variety of services and content delivery networks, and must trust that the delivered representation is, in fact, what they expected to load. If an attacker can trick a user into downloading content from a hostile server (via DNS [RFC1035] poisoning, or other such means), the author has no recourse. Likewise, an attacker who can replace the file on the Content Delivery Network (CDN) server has the ability to inject arbitrary content.
Delivering resources over a secure channel mitigates some of this risk: with TLS [TLS], HSTS [RFC6797], and pinned public keys [RFC7469], a user agent can be fairly certain that it is indeed speaking with the server it believes it’s talking to. These mechanisms, however, authenticate only the server, not the content. An attacker (or administrator) with access to the server can manipulate content with impunity. Ideally, authors would not only be able to pin the keys of a server, but also pin the content, ensuring that an exact representation of a resource, and only that representation, loads and executes.
This document specifies such a validation scheme, extending two HTML elements
with an integrity
attribute that contains a cryptographic hash
of the representation of the resource the author expects to load. For instance,
an author may wish to load some framework from a shared server rather than hosting it
on their own origin. Specifying that the expected SHA-384 hash of https://example.com/example-framework.js
is Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7
means
that the user agent can verify that the data it loads from that URL matches
that expected hash before executing the JavaScript it contains. This
integrity verification significantly reduces the risk that an attacker can
substitute malicious content.
This example can be communicated to a user agent by adding the hash to a script
element, like so:
<script src="https://example.com/example-framework.js" integrity="sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7" crossorigin="anonymous"></script>
Scripts, of course, are not the only response type which would benefit
from integrity validation. The scheme specified here also applies to link
and future versions of this specification are likely to expand this coverage.
1.1. Goals
-
Compromise of a third-party service should not automatically mean compromise of every site which includes its scripts. Content authors will have a mechanism by which they can specify expectations for content they load, meaning for example that they could load a specific script, and not any script that happens to have a particular URL.
-
The verification mechanism should have error-reporting functionality which would inform the author that an invalid response was received.
1.2. Use Cases/Examples
1.2.1. Resource Integrity
-
An author wishes to use a content delivery network to improve performance for globally-distributed users. It is important, however, to ensure that the CDN’s servers deliver only the code the author expects them to deliver. To mitigate the risk that a CDN compromise (or unexpectedly malicious behavior) would change that site in unfortunate ways, the following integrity metadata is added to the
link
element included on the page: -
An author wants to include JavaScript provided by a third-party analytics service. To ensure that only the code that has been carefully reviewed is executed, the author generates integrity metadata for the script, and adds it to the
script
element: -
A user agent wishes to ensure that JavaScript code running in high-privilege HTML contexts (for example, a browser’s New Tab page) aren’t manipulated before display. Integrity metadata mitigates the risk that altered JavaScript will run in these pages' high-privilege contexts.
2. Key Concepts and Terminology
This section defines several terms used throughout the document.
The term digest refers to the base64 encoded result of executing a cryptographic hash function on an arbitrary block of data.
The terms origin and same origin are defined in HTML. [HTML]
The representation data of a resource is defined by Section 3 of RFC 7231. [RFC7231]
A base64 encoding is defined in Section 4 of RFC 4648. [RFC4648]
The SHA-256, SHA-384, and SHA-512 are part of the SHA-2 set of cryptographic hash functions defined by the NIST. [SHA2]
2.1. Grammatical Concepts
The Augmented Backus-Naur Form (ABNF) notation used in this document is specified in RFC5234. [ABNF]
Appendix B.1 of [ABNF] defines VCHAR (printing characters).
WSP (white space) characters are defined in Section 2.4.1 Common parser idioms of the HTML 5 specification as White_Space characters
. [HTML5]
3. Framework
The integrity verification mechanism specified here boils down to the process of generating a sufficiently strong cryptographic digest for a resource, and transmitting that digest to a user agent so that it may be used to verify the response.
3.1. Integrity metadata
To verify the integrity of a response, a user agent requires integrity metadata as part of the request. This metadata consists of the following pieces of information:
-
cryptographic hash function ("alg")
-
digest ("val")
-
options ("opt")
The hash function and digest MUST be provided in order to validate a response’s integrity.
Note: At the moment, no options are defined. However, future versions of the spec may define options, such as MIME types [MIME-TYPES].
This metadata MUST be encoded in the same format as the hash-source
(without
the single quotes) in section 4.2 of the Content
Security Policy Level 2 specification.
For example, given a script resource containing only the string alert('Hello, world.');
, an author might choose SHA-384 as a hash function. H8BRh8j48O9oYatfu5AZzq6A9RINhZO5H16dQZngK7T62em8MUt1FLm52t+eX6xO
is the base64 encoded digest that results. This can be encoded
as follows:
echo -n "alert('Hello, world.');" | openssl dgst -sha384 -binary | openssl base64 -A
3.2. Cryptographic hash functions
Conformant user agents MUST support the SHA-256, SHA-384, and SHA-512 cryptographic hash functions for use as part of a request’s integrity metadata and MAY support additional hash functions.
User agents SHOULD refuse to support known-weak hashing functions like MD5 or SHA-1 and SHOULD restrict supported hashing functions to those known to be collision-resistant. Additionally, user agents SHOULD re-evaluate their supported hash functions on a regular basis and deprecate support for those functions that have become insecure. See § 5.2 Hash collision attacks.
3.2.1. Agility
Multiple sets of integrity metadata may be associated with a single resource in order to provide agility in the face of future cryptographic discoveries. For example, the resource described in the previous section may be described by either of the following hash expressions:
sha384-H8BRh8j48O9oYatfu5AZzq6A9RINhZO5H16dQZngK7T62em8MUt1FLm52t+eX6xO sha512-Q2bFTOhEALkN8hOms2FKTDLy7eugP2zFZ1T8LCvX42Fp3WoNr3bjZSAHeOsHrbV1Fu9/A0EzCinRE7Af1ofPrw==
Authors may choose to specify both, for example:
<script src="hello_world.js" integrity="sha384-H8BRh8j48O9oYatfu5AZzq6A9RINhZO5H16dQZngK7T62em8MUt1FLm52t+eX6xO sha512-Q2bFTOhEALkN8hOms2FKTDLy7eugP2zFZ1T8LCvX42Fp3WoNr3bjZSAHeOsHrbV1Fu9/A0EzCinRE7Af1ofPrw==" crossorigin="anonymous"></script>
In this case, the user agent will choose the strongest hash function in the list, and use that metadata to validate the response (as described below in the § 3.3.3 Parse metadata and § 3.3.4 Get the strongest metadata from set algorithms).
When a hash function is determined to be insecure, user agents SHOULD deprecate and eventually remove support for integrity validation using the insecure hash function. User agents MAY check the validity of responses using a digest based on a deprecated function.
To allow authors to switch to stronger hash functions without being held back by older user agents, validation using unsupported hash functions acts like no integrity value was provided (see the § 3.3.5 Does response match metadataList? algorithm below). Authors are encouraged to use strong hash functions, and to begin migrating to stronger hash functions as they become available.
3.2.2. Priority
User agents must provide a mechanism for determining the relative priority of two
hash functions and return the empty string if the priority is equal. That is, if
a user agent implemented a function like getPrioritizedHashFunction(a,
b) it would return the hash function the user agent considers the most
collision-resistant. For example, getPrioritizedHashFunction('sha256', 'sha512')
would return 'sha512'
and getPrioritizedHashFunction('sha256', 'sha256')
would return the empty string.
Note: The getPrioritizedHashFunction is an internal implementation detail. It is not an API that implementors provide to web applications. It is used in this document only to simplify the algorithm description.
3.3. Response verification algorithms
3.3.1. Apply algorithm to response
-
Let result be the result of § 3.3.1 Apply algorithm to response to the representation data without any content-codings applied, except when the user agent intends to consume the content with content-encodings applied. In the latter case, let result be the result of applying algorithm to the representation data.
-
Let encodedResult be result of base64 encoding result.
-
Return encodedResult.
3.3.2. Is response eligible for integrity validation?
In order to mitigate an attacker’s ability to read data cross-origin by brute-forcing values via integrity checks, responses are only eligible for such checks if they are same-origin or are the result of explicit access granted to the loading origin via Cross Origin Resource Sharing [CORS].
Note: As noted in RFC6454, section 4,
some user agents use
globally unique identifiers for each file URI. This means that
resources accessed over a file
scheme URL are unlikely to be
eligible for integrity checks.
Note: Being in a Secure Context (e.g., a document delivered over HTTPS) is not necessary for the use of integrity validation. Because resource integrity is only an application level security tool, and it does not change the security state of the user agent, a Secure Context is unnecessary. However, if integrity is used in something other than a Secure Context (e.g., a document delivered over HTTP), authors are reminded that the integrity provides no security guarantees at all. For this reason, authors are encouraged to only deliver integrity metadata in a Secure Context. See § 5.1 Non-secure contexts remain non-secure for more discussion.
The following algorithm details these restrictions:
-
Let response be the response that results from fetching the resource.
-
If the response type is
basic
,cors
ordefault
, returntrue
. -
Return
false
.
-
basic
is a same origin response, and thus the requestor has full access to read the body. -
cors
is a valid response to a cross-origin, CORS-enabled request, and thus again the requestor has full access to read the body. -
default
is a valid response that is generated by a Service Worker as a response to the request, so its body, too, is fully readable by the requestor.
3.3.3. Parse metadata
This algorithm accepts a string, and returns either no metadata
, or a set of
valid hash expressions whose hash functions are understood by
the user agent.
-
Let result be the empty set.
-
Let empty be equal to
true
. -
For each token returned by splitting metadata on spaces:
-
Set empty to
false
. -
Parse token as a hash-with-options.
-
If token does not parse, continue to the next token.
-
Let algorithm be the hash-algo component of token.
-
If algorithm is a hash function recognized by the user agent, add the parsed token to result.
-
-
Return
no metadata
if empty istrue
, otherwise return result.
3.3.4. Get the strongest metadata from set
-
Let result be the empty set and strongest be the empty string.
-
For each item in set:
-
If result is the empty set, add item to result and set strongest to item, skip to the next item.
-
Let currentAlgorithm be the alg component of strongest.
-
Let newAlgorithm be the alg component of item.
-
If the result of getPrioritizedHashFunction(currentAlgorithm, newAlgorithm) is the empty string, add item to result. If the result is newAlgorithm, set strongest to item, set result to the empty set, and add item to result.
-
-
Return result.
3.3.5. Does response match metadataList?
-
Let parsedMetadata be the result of parsing metadataList.
-
If parsedMetadata is
no metadata
, returntrue
. -
If response is not eligible for integrity validation, return
false
. -
If parsedMetadata is the empty set, return
true
. -
Let metadata be the result of getting the strongest metadata from parsedMetadata.
-
For each item in metadata:
-
Let algorithm be the alg component of item.
-
Let expectedValue be the val component of item.
-
Let actualValue be the result of applying algorithm to response .
-
If actualValue is a case-sensitive match for expectedValue, return
true
.
-
-
Return
false
.
This algorithm allows the user agent to accept multiple, valid strong hash
functions. For example, a developer might write a script
element such as:
<script src="https://example.com/example-framework.js" integrity="sha384-Li9vy3DqF8tnTXuiaAJuML3ky+er10rcgNR/VqsVpcw+ThHmYcwiB1pbOxEbzJr7 sha384-+/M6kredJcxdsqkczBUjMLvqyHb1K/JThDXWsBVxMEeZHEaMKEOEct339VItX1zB" crossorigin="anonymous"></script>
which would allow the user agent to accept two different content payloads, one of which matches the first SHA-384 hash value and the other matches the second SHA-384 hash value.
Note: User agents may allow users to modify the result of this algorithm via user preferences, bookmarklets, third-party additions to the user agent, and other such mechanisms. For example, redirects generated by an extension like HTTPS Everywhere could load and execute correctly, even if the HTTPS version of a resource differs from the HTTP version.
Note: This algorithm returns false
if the response is not eligible for integrity
validation since Subresource Integrity requires CORS, and it is a logical error
to attempt to use it without CORS. Additionally, user agents SHOULD report a
warning message to the developer console to explain this failure.
3.4. Verification of HTML document subresources
A variety of HTML elements result in requests for resources that are to be
embedded into the document, or executed in its context. To support integrity
metadata for some of these elements, a new integrity
attribute is added to
the list of content attributes for the link
and script
elements.
A corresponding integrity
IDL attribute which reflects the
value of each element’s integrity
content attribute is added to the HTMLLinkElement
and HTMLScriptElement
interfaces.
Note: A future revision of this specification is likely to include integrity support
for all possible subresources, i.e., a
, audio
, embed
, iframe
, img
, link
, object
, script
, source
, track
, and video
elements.
3.5. The integrity
attribute
The integrity
attribute represents integrity metadata for an element.
The value of the attribute MUST be either the empty string, or at least one
valid metadata as described by the following ABNF grammar:
integrity-metadata = *WSP hash-with-options *(1*WSP hash-with-options ) *WSP / *WSP hash-with-options = hash-expression *("?" option-expression) option-expression = *VCHAR hash-algo = <hash-algo production from [Content Security Policy Level 2, section 4.2]> base64-value = <base64-value production from [Content Security Policy Level 2, section 4.2]> hash-expression = hash-algo "-" base64-value
The integrity
IDL attribute must reflect the integrity
content attribute.
option-expression
s are associated on a per hash-expression
basis and are
applied only to the hash-expression
that immediately precedes it.
In order for user agents to remain fully forwards compatible with future
options, the user agent MUST ignore all unrecognized option-expression
s.
Note: Note that while the option-expression
has been reserved in the syntax,
no options have been defined. It is likely that a future version of the spec
will define a more specific syntax for options, so it is defined here as broadly
as possible.
3.6. Element interface extensions
3.6.1. HTMLLinkElement
partial interface HTMLLinkElement {attribute DOMString ; };
integrity
<IP_ADDRESS>. Attributes
integrity of typeDOMString
: The value of this element’s integrity
attribute.
3.6.2. HTMLScriptElement
partial interface HTMLScriptElement {attribute DOMString ; };
integrity
<IP_ADDRESS>. Attributes
integrity of typeDOMString
: The value of this element’s integrity
attribute.
3.7. Handling integrity violations
The user agent will refuse to render or execute responses that fail an integrity check, instead returning a network error as defined in Fetch [FETCH].
Note: On a failed integrity check, an error
event is fired. Developers
wishing to provide a canonical fallback resource (e.g., a resource not served
from a CDN, perhaps from a secondary, trusted, but slower source) can catch this error
event and provide an appropriate handler to replace the
failed resource with a different one.
3.8. Elements
3.8.1. The link
element for stylesheets
Whenever a user agent attempts to obtain a resource pointed to by a link
element that has a rel
attribute with the keyword of stylesheet
,
modify step 4 to read:
Do a potentially CORS-enabled fetch of the resulting absolute URL, with the
mode being the current state of the element’s crossorigin content attribute,
the origin being the origin of the link element’s Document, the default origin
behavior set to taint, and the integrity metadata of the request set to
the value of the element’s integrity
attribute.
3.8.2. The script
element
Replace step 14.1 of HTML5’s prepare a script algorithm with:
-
Let src be the value of the element’s
src
attribute and the request’s associated integrity metadata be the value of the element’sintegrity
attribute.
4. Proxies
Optimizing proxies and other intermediate servers which modify the responses MUST ensure that the digest associated with those responses stays in sync with the new content. One option is to ensure that the integrity metadata associated with resources is updated. Another would be simply to deliver only the canonical version of resources for which a page author has requested integrity verification.
To help inform intermediate servers, those serving the resources SHOULD
send along with the resource a Cache-Control
header
with a value of no-transform
.
5. Security and Privacy Considerations
This section is not normative.
5.1. Non-secure contexts remain non-secure
Integrity metadata delivered by a context that is not a Secure Context such as an HTTP page, only protects an origin against a compromise of the server where an external resources is hosted. Network attackers can alter the digest in-flight (or remove it entirely, or do absolutely anything else to the document), just as they could alter the response the hash is meant to validate. Thus, it is recommended that authors deliver integrity metadata only to a Secure Context. See also Securing the Web.
5.2. Hash collision attacks
Digests are only as strong as the hash function used to generate them. It is recommended that user agents refuse to support known-weak hashing functions and limit supported algorithms to those known to be collision resistant. Examples of hashing functions that are not recommended include MD5 and SHA-1. At the time of writing, SHA-384 is a good baseline.
Moreover, it is recommended that user agents re-evaluate their supported hash functions on a regular basis and deprecate support for those functions shown to be insecure. Over time, hash functions may be shown to be much weaker than expected and, in some cases, broken, so it is important that user agents stay aware of these developments.
5.3. Cross-origin data leakage
This specification requires the CORS settings attribute to be present on integrity-protected cross-origin requests. If that requirement were omitted, attackers could violate the same-origin policy and determine whether a cross-origin resource has certain content.
Attackers would attempt to load the resource with a known digest, and watch for load failures. If the load fails, the attacker could surmise that the response didn’t match the hash and thereby gain some insight into its contents. This might reveal, for example, whether or not a user is logged into a particular service.
Moreover, attackers could brute-force specific values in an otherwise static resource. Consider a JSON response that looks like this:
An attacker could precompute hashes for the response with a variety of common usernames, and specify those hashes while repeatedly attempting to load the document. A successful load would confirm that the attacker has correctly guessed the username.
6. Acknowledgements
Much of the content here is inspired heavily by Gervase Markham’s Link Fingerprints concept as well as WHATWG’s Link Hashes.
A special thanks to Mike West for his invaluable contributions to the initial version of this spec. Thanks to Brad Hill, Anne van Kesteren, Jonathan Kingston, Mark Nottingham, Sergey Shekyan , Dan Veditz, Eduardo Vela, Tanvi Vyas, and Michal Zalewski for providing invaluable feedback.


| TEZ-2453 |
Tez UI: show the dagInfo is the application has set the same. |
Major |
UI |
Prakash Ramachandran |
Prakash Ramachandran |
| TEZ-2455 |
Tez UI: Dag view caching, error handling and minor layout changes |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2460 |
Temporary solution for issue due to YARN-2560 |
Major |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-2474 |
The old taskNum is logged incorrectly when parallelism is changed |
Minor |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-2481 |
Tez UI: graphical view does not render properly on IE11 |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2482 |
Tez UI: Mouse events not working on IE11 |
Major |
UI |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2440 |
Sorter should check for indexCacheList.size() in flush() |
Major |
. |
Rajesh Balamohan |
Mit Desai |
| TEZ-2483 |
Tez should close task if processor fail |
Major |
. |
Daniel Dai |
Jeff Zhang |
| TEZ-2504 |
Tez UI: tables - show status column without scrolling, numeric 0 shown as Not available |
Major |
UI |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2505 |
PipelinedSorter uses Comparator objects concurrently from multiple threads |
Major |
. |
Cyrille Chépélov |
Rajesh Balamohan |
| TEZ-2523 |
Tez UI: derive applicationId from dag/vertex id instead of relying on json data |
Major |
UI |
Prakash Ramachandran |
Prakash Ramachandran |
| TEZ-2527 |
Tez UI: Application hangs on entering erroneous RegEx in counter table search box. |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2509 |
YarnTaskSchedulerService should not try to allocate containers if AM is shutting down |
Major |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-2304 |
InvalidStateTransitonException TA_SCHEDULE at START_WAIT during recovery |
Major |
. |
Jason Lowe |
Jeff Zhang |
| TEZ-2391 |
TestVertexImpl timing out at times on jenkins builds |
Blocker |
. |
Hitesh Shah |
Mit Desai |
| TEZ-2489 |
Disable warn log for Timeline ACL error when tez.allow.disabled.timeline-domains set to true |
Major |
. |
Hitesh Shah |
Chang Li |
| TEZ-2537 |
mapreduce.map.env and mapreduce.reduce.env need to fall back to mapred.child.env for compatibility |
Major |
. |
Jonathan Eagles |
Rohini Palaniswamy |
| TEZ-2538 |
ADDITIONAL_SPILL_COUNT wrongly populated for DefaultSorter with multiple partitions |
Major |
. |
Rajesh Balamohan |
Rajesh Balamohan |
| TEZ-2533 |
AM deadlock when shutdown |
Major |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-2541 |
DAGClientImpl enable TimelineClient check is wrong. |
Major |
. |
Prakash Ramachandran |
Prakash Ramachandran |
| TEZ-2534 |
Error handling summary event when shutting down AM |
Major |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-2547 |
Tez UI: Download Data fails on secure, cross-origin clusters |
Critical |
UI |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-2548 |
TezClient submitDAG can hang if the AM is in the process of shutting down |
Major |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-2554 |
Tez UI: View log link does not correctly propagate login crendential to read log from yarn web. |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2475 |
Tez local mode hanging in big testsuite |
Major |
. |
André Kelpe |
Siddharth Seth |
| TEZ-2545 |
It is not necessary to start the vertex group commit when DAG is in TERMINATING |
Major |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-2566 |
Allow TaskAttemptFinishedEvent without TaskAttemptStartedEvent when it is KILLED/FAILED |
Major |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-2567 |
Tez UI: download dag data does not work within ambari |
Major |
UI |
Prakash Ramachandran |
Prakash Ramachandran |
| TEZ-2291 |
TEZ UI: Improper vertex name in tables. |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-1529 |
ATS and TezClient integration in secure kerberos enabled cluster |
Blocker |
. |
Prakash Ramachandran |
Prakash Ramachandran |
| TEZ-2568 |
V_INPUT_DATA_INFORMATION may happen after vertex is initialized |
Blocker |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-2579 |
Incorrect comparison of TaskAttemptId |
Major |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-2600 |
When used with HDFS federation(viewfs) ,tez will throw a error |
Major |
. |
Xiaowei Wang |
Xiaowei Wang |
| TEZ-2602 |
Throwing EOFException when launching MR job |
Major |
. |
Tsuyoshi Ozawa |
Rajesh Balamohan |
| TEZ-2560 |
fix tex-ui build for maven 3.3+ |
Major |
. |
Prakash Ramachandran |
Prakash Ramachandran |
| TEZ-2623 |
Fix module dependencies related to hadoop-auth |
Major |
. |
Rajat Jain |
Rajat Jain |
| TEZ-2636 |
MRInput and MultiMRInput should work for cases when there are 0 physical inputs |
Major |
. |
Siddharth Seth |
Siddharth Seth |
| TEZ-2635 |
Limit number of attempts being downloaded in unordered fetch |
Major |
. |
Rajesh Balamohan |
Rajesh Balamohan |
| TEZ-2311 |
AM can hang if kill received while recovering from previous attempt |
Major |
. |
Jason Lowe |
Jeff Zhang |
| TEZ-2684 |
ShuffleVertexManager.parsePartitionStats throws IllegalStateException: Stats should be initialized |
Major |
. |
Wei Zheng |
Rajesh Balamohan |
| TEZ-2630 |
TezChild receives IP address instead of FQDN |
Critical |
. |
Rajat Jain |
Hitesh Shah |
| TEZ-2552 |
CRC errors can cause job to run for very long time in large jobs |
Major |
. |
Rajesh Balamohan |
Rajesh Balamohan |
| TEZ-2663 |
SessionNotRunning exceptions are wrapped in a ServiceException from a dying AM |
Major |
. |
Gopal V |
Hitesh Shah |
| TEZ-2540 |
Create both tez-dist minimal and minimal.tar.gz formats as part of build |
Major |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-2629 |
LimitExceededException in Tez client when DAG has exceeds the default max counters |
Major |
. |
Jason Dere |
Siddharth Seth |
| TEZ-2687 |
ATS History shutdown happens before the min-held containers are released |
Major |
. |
Gopal V |
Jeff Zhang |
| TEZ-2732 |
DefaultSorter throws ArrayIndex exceptions on 2047 Mb size sort buffers |
Major |
. |
Rajesh Balamohan |
Rajesh Balamohan |
| TEZ-2300 |
TezClient.stop() takes a lot of time or does not work sometimes |
Major |
. |
Rohini Palaniswamy |
Jonathan Eagles |
| TEZ-2742 |
VertexImpl.finished() terminationCause hides member var of the same name |
Major |
. |
Bikas Saha |
Bikas Saha |
| TEZ-2755 |
Fix findbugs warning in TezClient |
Major |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-2752 |
logUnsuccessful completion in Attempt should write original finish time to ATS |
Major |
. |
Bikas Saha |
Bikas Saha |
| TEZ-2745 |
ClassNotFoundException of user code should fail dag |
Major |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-2808 |
Race condition between preemption and container assignment |
Major |
. |
Bikas Saha |
Bikas Saha |
| TEZ-2809 |
Minimal distribution compiled on 2.6 fails to run on 2.7 |
Blocker |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-2787 |
Tez AM should have java.io.tmpdir=./tmp to be consistent with tasks |
Major |
. |
Jason Lowe |
Jonathan Eagles |
| TEZ-2660 |
Tez UI: need to show application page even if system metrics publish is disabled. |
Major |
UI |
Prakash Ramachandran |
Prakash Ramachandran |
| TEZ-2825 |
Report progress in terms of completed tasks to reduce load on AM for Tez UI |
Major |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-2816 |
Preemption sometimes does not respect heartbeats between preemptions |
Major |
. |
Jeff Zhang |
Bikas Saha |
| TEZ-2097 |
TEZ-UI Add dag logs backend support |
Critical |
UI |
Jeff Zhang |
Jonathan Eagles |
| TEZ-2834 |
Make Tez preemption resilient to incorrect free resource reported by YARN |
Major |
. |
Rajesh Balamohan |
Bikas Saha |
| TEZ-2847 |
Tez UI: Task details doesn't gets updated on manual refresh after job complete |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2716 |
DefaultSorter.isRleNeeded not thread safe |
Major |
. |
Siddharth Seth |
Rajesh Balamohan |
| TEZ-2853 |
Tez UI: task attempt page is coming empty |
Blocker |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2398 |
Flaky test: TestFaultTolerance |
Major |
. |
Rajesh Balamohan |
Bikas Saha |
| TEZ-2851 |
Support a way for upstream applications to pass in a caller context to Tez |
Major |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-2855 |
Potential NPE while routing VertexManager events |
Critical |
. |
Siddharth Seth |
Siddharth Seth |
| TEZ-2860 |
NPE in DAGClientImpl |
Major |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-2829 |
Tez UI: minor fixes to in-progress update of UI from AM |
Major |
UI |
Prakash Ramachandran |
Prakash Ramachandran |
| TEZ-2868 |
Fix setting Caller Context in Tez Examples |
Major |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-2781 |
Fallback to send only TaskAttemptFailedEvent if taskFailed heartbeat fails |
Major |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-2874 |
Improved logging for caller context |
Major |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-2887 |
Tez build failure due to missing dependency in pom files |
Major |
. |
Ashish Singh |
Ashish Singh |
| TEZ-2885 |
Remove counter logs from AMWebController |
Major |
. |
Rajesh Balamohan |
Rajesh Balamohan |
| TEZ-2866 |
Tez UI: Newly added columns wont be displayed by default in tables |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2896 |
Fix thread names used during Input/Output initialization |
Major |
. |
Siddharth Seth |
Siddharth Seth |
| TEZ-2850 |
Tez MergeManager OOM for small Map Outputs |
Major |
. |
Saikat |
Jonathan Eagles |
| TEZ-2907 |
NPE in IFile.Reader.getLength during final merge operation |
Major |
. |
Rajesh Balamohan |
Rajesh Balamohan |
| TEZ-2899 |
Tez UI: DAG getting created with huge horizontal gap in between vertices |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2904 |
Pig can't specify task specific command opts |
Major |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-2900 |
Ignore V_INPUT_DATA_INFORMATION when vertex is in Failed/Killed/Error |
Major |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-2553 |
Tez UI: Tez UI Nits |
Minor |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2909 |
Tez UI: Application link in All DAGs table is disable when applicationhistory is unavailable. |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2922 |
Tez Live UI gives access denied for admins |
Major |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-2929 |
Tez UI: Dag details page displays vertices to be running even when dag have completed. |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-1670 |
Add tests for all converter functions in HistoryEventTimelineConversion |
Minor |
. |
Hitesh Shah |
Tatsuya Nishiyama |
| TEZ-2930 |
Tez UI: Parent controller is not polling at times |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2940 |
Invalid shuffle max slow start setting causes vertex to hang indefinitely |
Major |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-2923 |
Tez Live UI counters view empty for vertices, tasks, attempts |
Major |
UI |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-2908 |
Tez UI: Errors are logged, but not displayed in the UI when AM fetch fails. |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2933 |
Tez UI: Load application details from RM when available |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2952 |
NPE in TestOnFileUnorderedKVOutput |
Major |
. |
Jeff Zhang |
Bikas Saha |
| TEZ-2946 |
Tez UI: At times RM return a huge error message making the yellow error bar to fill the whole screen. |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2947 |
Tez UI: Timeline, RM & AM requests gets into a consecutive loop in counters page without any delay |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2956 |
Handle auto-reduce parallelism when the totalNumBipartiteSourceTasks is 0 |
Major |
. |
Rajesh Balamohan |
Rajesh Balamohan |
| TEZ-2960 |
Tez UI: Move hardcoded url namespace to the configuration file. |
Major |
. |
Sreenath Somarajapuram |
Sreenath Somarajapuram |
| TEZ-2968 |
Counter limits exception causes AM to crash |
Critical |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-2970 |
Re-localization in TezChild does not use correct UGI |
Major |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-2975 |
Bump up apache commons dependency |
Trivial |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-2943 |
Change shuffle vertex manager to use per vertex data for auto reduce and slow start |
Major |
. |
Jonathan Eagles |
Bikas Saha |
| TEZ-2966 |
Tez does not honor mapreduce.task.timeout |
Major |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-2963 |
RecoveryService#handleSummaryEvent exception with HDFS transparent encryption + kerberos authentication |
Major |
. |
Karel Kolman |
Hitesh Shah |
| TEZ-2995 |
Timeline primary filter should only be on callerId and not type |
Major |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-3006 |
Remove unused import in TestHistoryParser |
Major |
. |
Sreenath Somarajapuram |
Rajesh Balamohan |
| TEZ-2914 |
Ability to limit vertex concurrency |
Major |
. |
Jonathan Eagles |
Bikas Saha |
| TEZ-3017 |
HistoryACLManager does not have a close method for cleanup |
Major |
. |
Bikas Saha |
Bikas Saha |
| TEZ-3025 |
InputInitializer creation should use the dag ugi |
Major |
. |
Siddharth Seth |
Siddharth Seth |
| TEZ-3037 |
History URL should be set regardless of which history logging service is enabled |
Major |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-2937 |
Can Processor.close() be called after closing inputs and outputs? |
Major |
. |
Rohini Palaniswamy |
Jonathan Eagles |
| TEZ-3046 |
Compilation issue in tez-runtime-internals of branch-0.7 |
Major |
. |
Jeff Zhang |
Jonathan Eagles |
| TEZ-3052 |
Task internal error due to Invalid event: T_ATTEMPT_FAILED at FAILED |
Major |
. |
Jason Lowe |
Jason Lowe |
| TEZ-3036 |
Tez AM can hang on startup with no indication of error |
Critical |
. |
Jason Lowe |
Jason Lowe |
| TEZ-3066 |
TaskAttemptFinishedEvent ConcurrentModificationException in recovery or history logging services |
Major |
. |
Jason Lowe |
Jeff Zhang |
| TEZ-3076 |
Reduce merge memory overhead to support large number of in-memory mapoutputs |
Major |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-2307 |
Possible wrong error message when submitting new dag |
Major |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-3089 |
TaskConcurrencyAnalyzer can return negative task count with very large jobs |
Major |
. |
Rajesh Balamohan |
Rajesh Balamohan |
| TEZ-3103 |
Shuffle can hang when memory to memory merging enabled |
Critical |
. |
Jason Lowe |
Jason Lowe |
| TEZ-3107 |
tez-tools: Log warn msgs in case ATS has wrong values (e.g startTime > finishTime) |
Major |
. |
Rajesh Balamohan |
Rajesh Balamohan |
| TEZ-3117 |
Deadlock in Edge and Vertex code |
Major |
. |
Yesha Vora |
Bikas Saha |
| TEZ-3104 |
Tez fails on Bzip2 intermediate output format on hadoop 2.7.1 and earlier |
Critical |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-3123 |
Containers can get re-used even with conflicting local resources |
Major |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-3126 |
Log reason for not reducing parallelism |
Minor |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-3137 |
Tez task failed with illegal state exception in recovery |
Major |
. |
Jeff Zhang |
Jeff Zhang |
| TEZ-3102 |
Fetch failure of a speculated task causes job hang |
Critical |
. |
Jason Lowe |
Jason Lowe |
| TEZ-1911 |
MergeManager's unconditionalReserve() should check for memory limits before allocating memory to IntermediateMemoryToMemoryMerger |
Major |
. |
Rajesh Balamohan |
Rajesh Balamohan |
| TEZ-3114 |
Shuffle OOM due to EventMetaData flood |
Major |
. |
Jason Lowe |
Jason Lowe |
| TEZ-3129 |
Tez task and task attempt UI needs application fails with NotFoundException |
Major |
UI |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-3128 |
Avoid stopping containers on the AM shutdown thread |
Major |
. |
Siddharth Seth |
Tsuyoshi Ozawa |
| TEZ-3141 |
mapreduce.task.timeout is not translated to container heartbeat timeout |
Major |
. |
Jason Lowe |
Jason Lowe |
| TEZ-3147 |
Intermediate mem-to-mem: Fix early exit when only one segment can fit into memory |
Major |
. |
Rajesh Balamohan |
Rajesh Balamohan |
| TEZ-2988 |
DAGAppMaster::shutdownTezAM should return with a no-op if it has been invoked earlier |
Major |
. |
Hitesh Shah |
Tsuyoshi Ozawa |
| TEZ-3115 |
Shuffle string handling adds significant memory overhead |
Major |
. |
Jason Lowe |
Jonathan Eagles |
| TEZ-3156 |
Tez client keeps trying to talk to RM even if RM does not know about the application |
Major |
. |
Yesha Vora |
Hitesh Shah |
| TEZ-2863 |
Container, node, and logs not available in UI for tasks that fail to launch |
Major |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-3105 |
TezMxBeanResourceCalculator does not work on IBM JDK 7 or 8 causing Tez failures |
Major |
. |
Greg Senia |
Greg Senia |
| TEZ-3166 |
Counters aren't fully updated and sent for failed tasks |
Major |
. |
Zhiyuan Yang |
Zhiyuan Yang |
| TEZ-3175 |
Add tez client submit host |
Major |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-2967 |
Vertex start time should be that of first task start time in UI |
Major |
UI |
Rohini Palaniswamy |
Jonathan Eagles |
| TEZ-3189 |
Pre-warm dags should not be counted in submitted dags count by DAGAppMaster |
Trivial |
. |
Zhiyuan Yang |
Zhiyuan Yang |
| TEZ-3192 |
IFile#checkState creating unnecessary objects though auto-boxing |
Major |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-3177 |
Non-DAG events should use the session domain or no domain if the data does not need protection |
Major |
. |
Hitesh Shah |
Hitesh Shah |
| TEZ-3201 |
Tez-UI build broken |
Blocker |
. |
Siddharth Seth |
Sreenath Somarajapuram |
| TEZ-3196 |
java.lang.InternalError from decompression codec is fatal to a task during shuffle |
Major |
. |
Jason Lowe |
Jason Lowe |
| TEZ-3202 |
Reduce the memory need for jobs with high number of segments |
Major |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-3165 |
Allow Inputs/Outputs to be initialized serially, control processor initialization relative to Inputs/Outputs |
Major |
. |
Jonathan Eagles |
Jonathan Eagles |
| TEZ-3224 |
User payload is not initialized before creating vertex manager plugin |
Major |
. |
Zhiyuan Yang |
Zhiyuan Yang |
| TEZ-3213 |
Uncaught exception during vertex recovery leads to invalid state transition loop |
Major |
. |
Jason Lowe |
Eric Badger |
| TEZ-3203 |
DAG hangs when one of the upstream vertices has zero tasks |
Critical |
. |
Jason Lowe |
Jason Lowe |
| TEZ-3193 |
Deadlock in AM during task commit request |
Blocker |
. |
Jason Lowe |
Jason Lowe |
| TEZ-3241 |
Exclude LICENSE files from rat check |
Trivial |
. |
Hitesh Shah |
Hitesh Shah |


Thousands in Brussels protest violence against women
by AFPAround 10,000 people took part in a protest march in Brussels on Sunday calling for an end to violence against women, police said, a day after similar demonstrations in France and Italy.
The protesters in the Belgian capital paid homage to women killed by partners or ex-partners, then marched to the Palace of Justice where they placed pairs of red shoes as a symbol of femicide victims.
"Belgium is a very complex country with many levels of power; federal, regional and communal and all these levels of powers do little things to tackle violence against women. But the main thing we are demanding is a national plan," said Celine Caudron, one of the organisers of the protest.
"It is important to punish the perpetrators but what we want most is that the violence doesn't happen in the first place."
The marchers held up placards bearing messages such as "That's enough" and "Not one more life".
Also prominent were the names of the 22 women killed by men in Belgium this year.
Outside the law courts building the demonstrators set off alarms and made noise as a "protest against the silence" which surrounds the deaths of battered women.
According to Mirabal, a Belgium umbrella group of organisation opposing violence against women, there have been 98 femicides in the country since 2017, a figure "which, in proportion to the population, is well above the average for European nations".
Tens of thousands marched in France and Italy on Saturday calling for an end to violence against women.
The marches came ahead of the UN-recognised International day for the Elimination of Violence Against Women on Monday.


New Password
Please enter your new password twice so we can verify you typed it in correctly.
{% extends 'users/base.html' %}
{% load static %}
{% load crispy_forms_tags %}
{% block content %}
Please enter your new password twice so we can verify you typed it in correctly.
New Password


Lambda function aliases
You can create one or more aliases for your Lambda function. A Lambda alias is like a pointer to a specific function version. Users can access the function version using the alias Amazon Resource Name (ARN).
To create an alias
-
Open the Functions page
on the Lambda console. -
Choose the name of a function.
-
On the function configuration page, choose Actions, Create alias.
-
On the Create alias page, do the following:
-
Enter a Name for the alias.
-
(Optional) Enter a Description for the alias.
-
For Version, choose a function version that you want the alias to point to.
-
(Optional) To configure routing on the alias, expand Weighted alias. For more information, see Alias routing configuration.
-
Choose Save.
-
To view the aliases that are currently defined for a function, on the function configuration page, choose Qualifiers, and then choose the Aliases tab.
Managing aliases with the Lambda API
To create an alias using the AWS Command Line Interface (AWS CLI), use the create-alias
aws lambda create-alias --function-name
my-function
--namealias-name
--function-versionversion-number
--description " "
To change an alias to point a new version of the function, use the update-alias
aws lambda update-alias --function-name
my-function
--namealias-name
--function-versionversion-number
To delete an alias, use the delete-alias
aws lambda delete-alias --function-name
my-function
--namealias-name
The AWS CLI commands in the preceding steps correspond to the following Lambda API operations:
Using aliases
Each alias has a unique ARN. An alias can point only to a function version, not to another alias. You can update an alias to point to a new version of the function.
Event sources such as Amazon Simple Storage Service (Amazon S3) invoke your Lambda function. These event sources maintain a mapping that identifies the function to invoke when events occur. If you specify a Lambda function alias in the mapping configuration, you don't need to update the mapping when the function version changes. For more information, see AWS Lambda event source mappings.
In a resource policy, you can grant permissions for event sources to use your Lambda function. If you specify an alias ARN in the policy, you don't need to update the policy when the function version changes.
Resource policies
You can use a resource-based policy to give a service,
resource, or account access to your function. The scope of that permission depends
on whether you apply it to an
alias, a version, or the entire function. For example, if you use an alias name (such
as
helloworld:PROD
), the permission allows you to invoke the helloworld
function using
the alias ARN (helloworld:PROD
).
If you attempt to invoke the function without an alias or a specific version, then you get a permission error. This permission error still occurs even if you attempt to directly invoke the function version associated with the alias.
For example, the following AWS CLI command grants Amazon S3 permissions to invoke
the PROD alias of the
helloworld
function when Amazon S3 is acting on behalf of examplebucket
.
aws lambda add-permission --function-name helloworld \ --qualifier PROD --statement-id 1 --principal s3.amazonaws.com --action lambda:InvokeFunction \ --source-arn arn:aws:s3:::examplebucket --source-account<PHONE_NUMBER>12
For more information about using resource names in policies, see Resources and conditions for Lambda actions.
Alias routing configuration
Use routing configuration on an alias to send a portion of traffic to a second function version. For example, you can reduce the risk of deploying a new version by configuring the alias to send most of the traffic to the existing version, and only a small percentage of traffic to the new version.
You can point an alias to a maximum of two Lambda function versions. The versions must meet the following criteria:
-
Both versions must have the same execution role.
-
Both versions must have the same dead-letter queue configuration, or no dead-letter queue configuration.
-
Both versions must be published. The alias cannot point to
$LATEST
.
To configure routing on an alias
-
Open the Functions page
on the Lambda console. -
Choose the name of a function.
-
Verify that the function has at least two published versions. On the function configuration page, choose Qualifiers, and then choose the Versions tab to display the list of versions. To create additional versions, follow the instructions in Lambda function versions.
-
Choose Actions, Create alias.
-
On the Create alias page, do the following:
-
Enter a Name for the alias.
-
(Optional) Enter a Description for the alias.
-
For Version, choose the first function version that you want the alias to point to.
-
Expand Weighted alias.
-
For Additional version, choose the second function version that you want the alias to point to.
-
For Weight (%), enter a weight value for the function. Weight is the percentage of traffic that is assigned to that version when the alias is invoked. The first version receives the residual weight. For example, if you specify 10 percent to Additional version, the first version is assigned 90 percent automatically.
-
Choose Save.
-
Configuring alias routing
Use the create-alias
and update-alias
AWS CLI commands to configure the traffic
weights between two function versions. When you create or update the alias, you specify
the traffic weight in
the routing-config
parameter.
The following example creates a Lambda function alias named routing-alias that points to version 1 of the function. Version 2 of the function receives 3 percent of the traffic. The remaining 97 percent of traffic is routed to version 1.
aws lambda create-alias --name routing-alias --function-name my-function --function-version 1 \ --routing-config AdditionalVersionWeights={"2"=0.03}
Use the update-alias
command to increase the percentage of incoming traffic to version 2. In
the following example, you increase the traffic to 5 percent.
aws lambda update-alias --name routing-alias --function-name my-function \ --routing-config AdditionalVersionWeights={"2"=0.05}
To route all traffic to version 2, use the update-alias
command to change the
function-version
property to point the alias to version 2. The command also resets the routing
configuration.
aws lambda update-alias --name routing-alias --function-name my-function \ --function-version 2 --routing-config AdditionalVersionWeights={}
The AWS CLI commands in the preceding steps correspond to the following Lambda API operations:
Determining which version has been invoked
When you configure traffic weights between two function versions, there are two ways to determine the Lambda function version that has been invoked:
-
CloudWatch Logs – Lambda automatically emits a
START
log entry that contains the invoked version ID to Amazon CloudWatch Logs for every function invocation. The following is an example:19:44:37 START RequestId:
request id
Version: $version
For alias invocations, Lambda uses the
Executed Version
dimension to filter the metric data by the invoked version. For more information, see Working with AWS Lambda function metrics. -
Response payload (synchronous invocations) – Responses to synchronous function invocations include an
x-amz-executed-version
header to indicate which function version has been invoked.


Simple Registration Page
This form simply sends the registration request to api/login and then redirects back to index.html.
Email:
Password:


Hi Admin you are given previlage for the following functionalities
Creating election
Getting election result
Getting Candidates
1. Creating Election
Admin under this section your are granted privilages to create election for any branch at any time and everything is under your control.
Be sure that every student enrollment is accepted according to norms and create a fair election
2. Getting Election result
Admin under this section your are granted privilages to get the results of the elections which were created by you and you can declare the results
3. Getting Candidate
Admin under this section your are granted privilages to get the candidates enrolled for elections .
Be careful while accepting Candidate request and be sure that student past history verification is done by enquiring students and if he/she is involved in any
activities that degraded college reputation don't allow them for participating in election.


Background
Technology
Media
About
Contact
Home
Background
Technology
Implementation
Media
Timeline
About
Contact
SURESHUNT
Ensuring shunt longevity
©
Sureshunt aims to
reduce the number of obstruction related shunt failures
and therefore
reduce the cost of hydrocephalus treatment
while
increasing patient safety.


Basic Example
Inline Example
Floating Label Example
IBAN Example
Account Number Example
Reveal Card (Show API)
Submit


A group of human beings with their own uniqee way of living and agricultural practices makes a civilisation.


Changing a Portfolio
You may change any portfolio you have created. To change a portfolio, access the Portfolios tool and follow these steps:
- If the Portfolios home page is not displayed, click the Reset button.
- Find the portfolio you want to change and click the Revise link below its name. Sakai displays the Revise Portfolio screens,
beginning with Step 1 of 3: Begin.
- Make changes to the boxes as needed. For more information, see "Creating a Portfolio," steps 6 - 10. Continue, as appropriate,
as instructed in either "Creating a Portfolio Based on Your Own Design", or "Using a Template To Create a Portfolio".


Thanks for taking the time to take this survey
what is your current role / study area ?
would you recommend this survey to a friend ?
what is your favorite feature of github ?
what would you like to see improved on github ? (check all that apply)
Any commment or suggestions on how to improve this HTML & CSS survey form ?


"x" "1" "SAYAMA,M, MORI,M, SHIROKAWA,T, INOUE,M, MIYAHARA,T AND KOZUKA,H,MUTAGENICITY OF 2,6-DINITROTOLUENE AND ITS METABOLITES, AND THEIR RELATEDCOMPOUNDS IN SALMONELLA TYPHIMURIUM, MUTAT. RES. 226(3):181-184 __ , 1989"


- mb - Variable in class systemComponent.CodeComponentBuilder
-
creating a Method Component
- mbb - Variable in class systemComponent.DexLoader
-
the instance of the buffer in memory where stores the DEX file
- MethodComponent - Class in dataComponent
-
The component contains the list of the Method Elements in DEX file
- MethodComponent() - Constructor for class dataComponent.MethodComponent
-
- MethodComponentBuilder - Class in systemComponent
-
Method Component construction
- MethodComponentBuilder(MappedByteBuffer) - Constructor for class systemComponent.MethodComponentBuilder
-
A construction method that calls the method in father class 'MethodComponent',
which let Method Component finding the DEX file in memory
- MethodElement - Class in dataComponent
-
Element of Method Component
Note: Basic data type is formated as
'void', 'boolean', 'byte', 'short', 'char', 'int', 'long', 'float', 'double'
The string format for class is 'a.b$c' e.g android.animation.AnimatorSet$Builder where Builder is an inner class
- MethodElement() - Constructor for class dataComponent.MethodElement
-
- MethodElement(String, String, String, String[]) - Constructor for class dataComponent.MethodElement
-
Usually used for constructing the method for use's searching purpose.
- methodElementList - Variable in class dataComponent.MethodComponent
-
- methodId - Variable in class dataComponent.CodeBlock
-
the index of the method that a code block belongs to
- methodId - Variable in class dataComponent.MethodElement
-
Index of a method in Method Component generated by RAPID
- methodName - Variable in class dataComponent.MethodElement
-
The string of the name of a method
- ms - Variable in class systemComponent.MethodComponentBuilder
-
creating an Method Component


FFSERVER(1) FFSERVER(1) NAME ffserver - ffserver video server SYNOPSYS The generic syntax is: ffserver [options] DESCRIPTION ffserver is a streaming server for both audio and video. It supports several live feeds, streaming from files and time shifting on live feeds (you can seek to positions in the past on each live feed, provided you specify a big enough feed storage in ffserver.conf). ffserver runs in daemon mode by default; that is, it puts itself in the background and detaches from its TTY, unless it is launched in debug mode or a NoDaemon option is specified in the configuration file. This documentation covers only the streaming aspects of ffserver / ffmpeg. All questions about parameters for ffmpeg, codec questions, etc. are not covered here. Read ffmpeg.html for more information. How does it work? ffserver receives prerecorded files or FFM streams from some ffmpeg instance as input, then streams them over RTP/RTSP/HTTP. An ffserver instance will listen on some port as specified in the configuration file. You can launch one or more instances of ffmpeg and send one or more FFM streams to the port where ffserver is expecting to receive them. Alternately, you can make ffserver launch such ffmpeg instances at startup. Input streams are called feeds, and each one is specified by a <Feed> section in the configuration file. For each feed you can have different output streams in various formats, each one specified by a <Stream> section in the configuration file. Status stream ffserver supports an HTTP interface which exposes the current status of the server. Simply point your browser to the address of the special status stream specified in the configuration file. For example if you have: <Stream status.html> Format status # Only allow local people to get the status ACL allow localhost ACL allow <IP_ADDRESS> <IP_ADDRESS> </Stream> then the server will post a page with the status information when the special stream status.html is requested. What can this do? When properly configured and running, you can capture video and audio in real time from a suitable capture card, and stream it out over the Internet to either Windows Media Player or RealAudio player (with some restrictions). It can also stream from files, though that is currently broken. Very often, a web server can be used to serve up the files just as well. It can stream prerecorded video from .ffm files, though it is somewhat tricky to make it work correctly. What do I need? I use Linux on a 900 MHz Duron with a cheapo Bt848 based TV capture card. I'm using stock Linux 2.4.17 with the stock drivers. [Actually that isn't true, I needed some special drivers for my motherboard-based sound card.] I understand that FreeBSD systems work just fine as well. How do I make it work? First, build the kit. It *really* helps to have installed LAME first. Then when you run the ffserver ./configure, make sure that you have the "--enable-libmp3lame" flag turned on. LAME is important as it allows for streaming audio to Windows Media Player. Don't ask why the other audio types do not work. As a simple test, just run the following two command lines where INPUTFILE is some file which you can decode with ffmpeg: ffserver -f doc/ffserver.conf & ffmpeg -i INPUTFILE http://localhost:8090/feed1.ffm At this point you should be able to go to your Windows machine and fire up Windows Media Player (WMP). Go to Open URL and enter http://<linuxbox>:8090/test.asf You should (after a short delay) see video and hear audio. WARNING: trying to stream test1.mpg doesn't work with WMP as it tries to transfer the entire file before starting to play. The same is true of AVI files. What happens next? You should edit the ffserver.conf file to suit your needs (in terms of frame rates etc). Then install ffserver and ffmpeg, write a script to start them up, and off you go. Troubleshooting I don't hear any audio, but video is fine. Maybe you didn't install LAME, or got your ./configure statement wrong. Check the ffmpeg output to see if a line referring to MP3 is present. If not, then your configuration was incorrect. If it is, then maybe your wiring is not set up correctly. Maybe the sound card is not getting data from the right input source. Maybe you have a really awful audio interface (like I do) that only captures in stereo and also requires that one channel be flipped. If you are one of these people, then export 'AUDIO_FLIP_LEFT=1' before starting ffmpeg. The audio and video lose sync after a while. Yes, they do. After a long while, the video update rate goes way down in WMP. Yes, it does. Who knows why? WMP 6.4 behaves differently to WMP 7. Yes, it does. Any thoughts on this would be gratefully received. These differences extend to embedding WMP into a web page. [There are two object IDs that you can use: The old one, which does not play well, and the new one, which does (both tested on the same system). However, I suspect that the new one is not available unless you have installed WMP 7]. What else can it do? You can replay video from .ffm files that was recorded earlier. However, there are a number of caveats, including the fact that the ffserver parameters must match the original parameters used to record the file. If they do not, then ffserver deletes the file before recording into it. (Now that I write this, it seems broken). You can fiddle with many of the codec choices and encoding parameters, and there are a bunch more parameters that you cannot control. Post a message to the mailing list if there are some 'must have' parameters. Look in ffserver.conf for a list of the currently available controls. It will automatically generate the ASX or RAM files that are often used in browsers. These files are actually redirections to the underlying ASF or RM file. The reason for this is that the browser often fetches the entire file before starting up the external viewer. The redirection files are very small and can be transferred quickly. [The stream itself is often 'infinite' and thus the browser tries to download it and never finishes.] Tips * When you connect to a live stream, most players (WMP, RA, etc) want to buffer a certain number of seconds of material so that they can display the signal continuously. However, ffserver (by default) starts sending data in realtime. This means that there is a pause of a few seconds while the buffering is being done by the player. The good news is that this can be cured by adding a '?buffer=5' to the end of the URL. This means that the stream should start 5 seconds in the past -- and so the first 5 seconds of the stream are sent as fast as the network will allow. It will then slow down to real time. This noticeably improves the startup experience. You can also add a 'Preroll 15' statement into the ffserver.conf that will add the 15 second prebuffering on all requests that do not otherwise specify a time. In addition, ffserver will skip frames until a key_frame is found. This further reduces the startup delay by not transferring data that will be discarded. * You may want to adjust the MaxBandwidth in the ffserver.conf to limit the amount of bandwidth consumed by live streams. Why does the ?buffer / Preroll stop working after a time? It turns out that (on my machine at least) the number of frames successfully grabbed is marginally less than the number that ought to be grabbed. This means that the timestamp in the encoded data stream gets behind realtime. This means that if you say 'Preroll 10', then when the stream gets 10 or more seconds behind, there is no Preroll left. Fixing this requires a change in the internals of how timestamps are handled. Does the "?date=" stuff work. Yes (subject to the limitation outlined above). Also note that whenever you start ffserver, it deletes the ffm file (if any parameters have changed), thus wiping out what you had recorded before. The format of the "?date=xxxxxx" is fairly flexible. You should use one of the following formats (the 'T' is literal): * YYYY-MM-DDTHH:MM:SS (localtime) * YYYY-MM-DDTHH:MM:SSZ (UTC) You can omit the YYYY-MM-DD, and then it refers to the current day. However note that ?date=16:00:00 refers to 16:00 on the current day -- this may be in the future and so is unlikely to be useful. You use this by adding the ?date= to the end of the URL for the stream. For example: http://localhost:8080/test.asf?date=2002-07-26T23:05:00. OPTIONS All the numerical options, if not specified otherwise, accept in input a string representing a number, which may contain one of the International System number postfixes, for example 'K', 'M', 'G'. If 'i' is appended after the postfix, powers of 2 are used instead of powers of 10. The 'B' postfix multiplies the value for 8, and can be appended after another postfix or used alone. This allows using for example 'KB', 'MiB', 'G' and 'B' as postfix. Options which do not take arguments are boolean options, and set the corresponding value to true. They can be set to false by prefixing with "no" the option name, for example using "-nofoo" in the command line will set to false the boolean option with name "foo". Stream specifiers Some options are applied per-stream, e.g. bitrate or codec. Stream specifiers are used to precisely specify which stream(s) does a given option belong to. A stream specifier is a string generally appended to the option name and separated from it by a colon. E.g. "-codec:a:1 ac3" option contains "a:1" stream specifier, which matches the second audio stream. Therefore it would select the ac3 codec for the second audio stream. A stream specifier can match several streams, the option is then applied to all of them. E.g. the stream specifier in "-b:a 128k" matches all audio streams. An empty stream specifier matches all streams, for example "-codec copy" or "-codec: copy" would copy all the streams without reencoding. Possible forms of stream specifiers are: stream_index Matches the stream with this index. E.g. "-threads:1 4" would set the thread count for the second stream to 4. stream_type[:stream_index] stream_type is one of: 'v' for video, 'a' for audio, 's' for subtitle, 'd' for data and 't' for attachments. If stream_index is given, then matches stream number stream_index of this type. Otherwise matches all streams of this type. p:program_id[:stream_index] If stream_index is given, then matches stream number stream_index in program with id program_id. Otherwise matches all streams in this program. #stream_id Matches the stream by format-specific ID. Generic options These options are shared amongst the av* tools. -L Show license. -h, -?, -help, --help [arg] Show help. An optional parameter may be specified to print help about a specific item. Possible values of arg are: decoder=decoder_name Print detailed information about the decoder named decoder_name. Use the -decoders option to get a list of all decoders. encoder=encoder_name Print detailed information about the encoder named encoder_name. Use the -encoders option to get a list of all encoders. demuxer=demuxer_name Print detailed information about the demuxer named demuxer_name. Use the -formats option to get a list of all demuxers and muxers. muxer=muxer_name Print detailed information about the muxer named muxer_name. Use the -formats option to get a list of all muxers and demuxers. -version Show version. -formats Show available formats. The fields preceding the format names have the following meanings: D Decoding available E Encoding available -codecs Show all codecs known to libavcodec. Note that the term 'codec' is used throughout this documentation as a shortcut for what is more correctly called a media bitstream format. -decoders Show available decoders. -encoders Show all available encoders. -bsfs Show available bitstream filters. -protocols Show available protocols. -filters Show available libavfilter filters. -pix_fmts Show available pixel formats. -sample_fmts Show available sample formats. -layouts Show channel names and standard channel layouts. -loglevel loglevel | -v loglevel Set the logging level used by the library. loglevel is a number or a string containing one of the following values: quiet panic fatal error warning info verbose debug By default the program logs to stderr, if coloring is supported by the terminal, colors are used to mark errors and warnings. Log coloring can be disabled setting the environment variable AV_LOG_FORCE_NOCOLOR or NO_COLOR, or can be forced setting the environment variable AV_LOG_FORCE_COLOR. The use of the environment variable NO_COLOR is deprecated and will be dropped in a following FFmpeg version. -report Dump full command line and console output to a file named "program-YYYYMMDD-HHMMSS.log" in the current directory. This file can be useful for bug reports. It also implies "-loglevel verbose". Note: setting the environment variable "FFREPORT" to any value has the same effect. -cpuflags flags (global) Allows setting and clearing cpu flags. This option is intended for testing. Do not use it unless you know what you're doing. ffmpeg -cpuflags -sse+mmx ... ffmpeg -cpuflags mmx ... ffmpeg -cpuflags 0 ... AVOptions These options are provided directly by the libavformat, libavdevice and libavcodec libraries. To see the list of available AVOptions, use the -help option. They are separated into two categories: generic These options can be set for any container, codec or device. Generic options are listed under AVFormatContext options for containers/devices and under AVCodecContext options for codecs. private These options are specific to the given container, device or codec. Private options are listed under their corresponding containers/devices/codecs. For example to write an ID3v2.3 header instead of a default ID3v2.4 to an MP3 file, use the id3v2_version private option of the MP3 muxer: ffmpeg -i input.flac -id3v2_version 3 out.mp3 All codec AVOptions are obviously per-stream, so the chapter on stream specifiers applies to them Note -nooption syntax cannot be used for boolean AVOptions, use -option 0/-option 1. Note2 old undocumented way of specifying per-stream AVOptions by prepending v/a/s to the options name is now obsolete and will be removed soon. Codec AVOptions -b[:stream_specifier] integer (output,audio,video) set bitrate (in bits/s) -ab[:stream_specifier] integer (output,audio) set bitrate (in bits/s) -bt[:stream_specifier] integer (output,video) Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate tolerance specifies how far ratecontrol is willing to deviate from the target average bitrate value. This is not related to min/max bitrate. Lowering tolerance too much has an adverse effect on quality. -flags[:stream_specifier] flags (input/output,audio,video,subtitles) Possible values: mv4 use four motion vector by macroblock (mpeg4) qpel use 1/4 pel motion compensation loop use loop filter qscale use fixed qscale gmc use gmc mv0 always try a mb with mv=<0,0> input_preserved pass1 use internal 2pass ratecontrol in first pass mode pass2 use internal 2pass ratecontrol in second pass mode gray only decode/encode grayscale emu_edge don't draw edges psnr error[?] variables will be set during encoding truncated naq normalize adaptive quantization ildct use interlaced dct low_delay force low delay global_header place global headers in extradata instead of every keyframe bitexact use only bitexact stuff (except (i)dct) aic h263 advanced intra coding / mpeg4 ac prediction cbp Deprecated, use mpegvideo private options instead qprd Deprecated, use mpegvideo private options instead ilme interlaced motion estimation cgop closed gop -sub_id[:stream_specifier] integer () -me_method[:stream_specifier] integer (output,video) set motion estimation method Possible values: zero zero motion estimation (fastest) full full motion estimation (slowest) epzs EPZS motion estimation (default) esa esa motion estimation (alias for full) tesa tesa motion estimation dia dia motion estimation (alias for epzs) log log motion estimation phods phods motion estimation x1 X1 motion estimation hex hex motion estimation umh umh motion estimation iter iter motion estimation -extradata_size[:stream_specifier] integer () -time_base[:stream_specifier] rational number () -g[:stream_specifier] integer (output,video) set the group of picture size -ar[:stream_specifier] integer (input/output,audio) set audio sampling rate (in Hz) -ac[:stream_specifier] integer (input/output,audio) set number of audio channels -cutoff[:stream_specifier] integer (output,audio) set cutoff bandwidth -frame_size[:stream_specifier] integer (output,audio) -frame_number[:stream_specifier] integer () -delay[:stream_specifier] integer () -qcomp[:stream_specifier] float (output,video) video quantizer scale compression (VBR). Constant of ratecontrol equation. Recommended range for default rc_eq: 0.0-1.0 -qblur[:stream_specifier] float (output,video) video quantizer scale blur (VBR) -qmin[:stream_specifier] integer (output,video) min video quantizer scale (VBR) -qmax[:stream_specifier] integer (output,video) max video quantizer scale (VBR) -qdiff[:stream_specifier] integer (output,video) max difference between the quantizer scale (VBR) -bf[:stream_specifier] integer (output,video) use 'frames' B frames -b_qfactor[:stream_specifier] float (output,video) qp factor between p and b frames -rc_strategy[:stream_specifier] integer (output,video) ratecontrol method -b_strategy[:stream_specifier] integer (output,video) strategy to choose between I/P/B-frames -ps[:stream_specifier] integer (output,video) rtp payload size in bytes -mv_bits[:stream_specifier] integer () -header_bits[:stream_specifier] integer () -i_tex_bits[:stream_specifier] integer () -p_tex_bits[:stream_specifier] integer () -i_count[:stream_specifier] integer () -p_count[:stream_specifier] integer () -skip_count[:stream_specifier] integer () -misc_bits[:stream_specifier] integer () -frame_bits[:stream_specifier] integer () -codec_tag[:stream_specifier] integer () -bug[:stream_specifier] flags (input,video) workaround not auto detected encoder bugs Possible values: autodetect old_msmpeg4 some old lavc generated msmpeg4v3 files (no autodetection) xvid_ilace Xvid interlacing bug (autodetected if fourcc==XVIX) ump4 (autodetected if fourcc==UMP4) no_padding padding bug (autodetected) amv ac_vlc illegal vlc bug (autodetected per fourcc) qpel_chroma std_qpel old standard qpel (autodetected per fourcc/version) qpel_chroma2 direct_blocksize direct-qpel-blocksize bug (autodetected per fourcc/version) edge edge padding bug (autodetected per fourcc/version) hpel_chroma dc_clip ms workaround various bugs in microsofts broken decoders trunc trancated frames -lelim[:stream_specifier] integer (output,video) single coefficient elimination threshold for luminance (negative values also consider dc coefficient) -celim[:stream_specifier] integer (output,video) single coefficient elimination threshold for chrominance (negative values also consider dc coefficient) -strict[:stream_specifier] integer (input/output,audio,video) how strictly to follow the standards Possible values: very strictly conform to a older more strict version of the spec or reference software strict strictly conform to all the things in the spec no matter what consequences normal unofficial allow unofficial extensions experimental allow non standardized experimental things -b_qoffset[:stream_specifier] float (output,video) qp offset between P and B frames -err_detect[:stream_specifier] flags (input,audio,video) set error detection flags Possible values: crccheck verify embedded CRCs bitstream detect bitstream specification deviations buffer detect improper bitstream length explode abort decoding on minor error detection careful consider things that violate the spec and have not been seen in the wild as errors compliant consider all spec non compliancies as errors aggressive consider things that a sane encoder should not do as an error -has_b_frames[:stream_specifier] integer () -block_align[:stream_specifier] integer () -mpeg_quant[:stream_specifier] integer (output,video) use MPEG quantizers instead of H.263 -stats_out[:stream_specifier] string () -qsquish[:stream_specifier] float (output,video) how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function) -rc_qmod_amp[:stream_specifier] float (output,video) experimental quantizer modulation -rc_qmod_freq[:stream_specifier] integer (output,video) experimental quantizer modulation -rc_override_count[:stream_specifier] integer () -rc_eq[:stream_specifier] string (output,video) Set rate control equation. When computing the expression, besides the standard functions defined in the section 'Expression Evaluation', the following functions are available: bits2qp(bits), qp2bits(qp). Also the following constants are available: iTex pTex tex mv fCode iCount mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex avgTex. -maxrate[:stream_specifier] integer (output,audio,video) Set max bitrate tolerance (in bits/s). Requires bufsize to be set. -minrate[:stream_specifier] integer (output,audio,video) Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR encode. It is of little use elsewise. -bufsize[:stream_specifier] integer (output,audio,video) set ratecontrol buffer size (in bits) -rc_buf_aggressivity[:stream_specifier] float (output,video) currently useless -i_qfactor[:stream_specifier] float (output,video) qp factor between P and I frames -i_qoffset[:stream_specifier] float (output,video) qp offset between P and I frames -rc_init_cplx[:stream_specifier] float (output,video) initial complexity for 1-pass encoding -dct[:stream_specifier] integer (output,video) DCT algorithm Possible values: auto autoselect a good one (default) fastint fast integer int accurate integer mmx altivec faan floating point AAN DCT -lumi_mask[:stream_specifier] float (output,video) compresses bright areas stronger than medium ones -tcplx_mask[:stream_specifier] float (output,video) temporal complexity masking -scplx_mask[:stream_specifier] float (output,video) spatial complexity masking -p_mask[:stream_specifier] float (output,video) inter masking -dark_mask[:stream_specifier] float (output,video) compresses dark areas stronger than medium ones -idct[:stream_specifier] integer (input/output,video) select IDCT implementation Possible values: auto int simple simplemmx libmpeg2mmx mmi arm altivec sh4 simplearm simplearmv5te simplearmv6 simpleneon simplealpha h264 vp3 ipp xvidmmx faani floating point AAN IDCT -slice_count[:stream_specifier] integer () -ec[:stream_specifier] flags (input,video) set error concealment strategy Possible values: guess_mvs iterative motion vector (MV) search (slow) deblock use strong deblock filter for damaged MBs -bits_per_coded_sample[:stream_specifier] integer () -pred[:stream_specifier] integer (output,video) prediction method Possible values: left plane median -aspect[:stream_specifier] rational number (output,video) sample aspect ratio -debug[:stream_specifier] flags (input/output,audio,video,subtitles) print specific debug info Possible values: pict picture info rc rate control bitstream mb_type macroblock (MB) type qp per-block quantization parameter (QP) mv motion vector dct_coeff skip startcode pts er error recognition mmco memory management control operations (H.264) bugs vis_qp visualize quantization parameter (QP), lower QP are tinted greener vis_mb_type visualize block types buffers picture buffer allocations thread_ops threading operations -vismv[:stream_specifier] integer (input,video) visualize motion vectors (MVs) Possible values: pf forward predicted MVs of P-frames bf forward predicted MVs of B-frames bb backward predicted MVs of B-frames -cmp[:stream_specifier] integer (output,video) full pel me compare function Possible values: sad sum of absolute differences, fast (default) sse sum of squared errors satd sum of absolute Hadamard transformed differences dct sum of absolute DCT transformed differences psnr sum of squared quantization errors (avoid, low quality) bit number of bits needed for the block rd rate distortion optimal, slow zero 0 vsad sum of absolute vertical differences vsse sum of squared vertical differences nsse noise preserving sum of squared differences w53 5/3 wavelet, only used in snow w97 9/7 wavelet, only used in snow dctmax chroma -subcmp[:stream_specifier] integer (output,video) sub pel me compare function Possible values: sad sum of absolute differences, fast (default) sse sum of squared errors satd sum of absolute Hadamard transformed differences dct sum of absolute DCT transformed differences psnr sum of squared quantization errors (avoid, low quality) bit number of bits needed for the block rd rate distortion optimal, slow zero 0 vsad sum of absolute vertical differences vsse sum of squared vertical differences nsse noise preserving sum of squared differences w53 5/3 wavelet, only used in snow w97 9/7 wavelet, only used in snow dctmax chroma -mbcmp[:stream_specifier] integer (output,video) macroblock compare function Possible values: sad sum of absolute differences, fast (default) sse sum of squared errors satd sum of absolute Hadamard transformed differences dct sum of absolute DCT transformed differences psnr sum of squared quantization errors (avoid, low quality) bit number of bits needed for the block rd rate distortion optimal, slow zero 0 vsad sum of absolute vertical differences vsse sum of squared vertical differences nsse noise preserving sum of squared differences w53 5/3 wavelet, only used in snow w97 9/7 wavelet, only used in snow dctmax chroma -ildctcmp[:stream_specifier] integer (output,video) interlaced dct compare function Possible values: sad sum of absolute differences, fast (default) sse sum of squared errors satd sum of absolute Hadamard transformed differences dct sum of absolute DCT transformed differences psnr sum of squared quantization errors (avoid, low quality) bit number of bits needed for the block rd rate distortion optimal, slow zero 0 vsad sum of absolute vertical differences vsse sum of squared vertical differences nsse noise preserving sum of squared differences w53 5/3 wavelet, only used in snow w97 9/7 wavelet, only used in snow dctmax chroma -dia_size[:stream_specifier] integer (output,video) diamond type & size for motion estimation -last_pred[:stream_specifier] integer (output,video) amount of motion predictors from the previous frame -preme[:stream_specifier] integer (output,video) pre motion estimation -precmp[:stream_specifier] integer (output,video) pre motion estimation compare function Possible values: sad sum of absolute differences, fast (default) sse sum of squared errors satd sum of absolute Hadamard transformed differences dct sum of absolute DCT transformed differences psnr sum of squared quantization errors (avoid, low quality) bit number of bits needed for the block rd rate distortion optimal, slow zero 0 vsad sum of absolute vertical differences vsse sum of squared vertical differences nsse noise preserving sum of squared differences w53 5/3 wavelet, only used in snow w97 9/7 wavelet, only used in snow dctmax chroma -pre_dia_size[:stream_specifier] integer (output,video) diamond type & size for motion estimation pre-pass -subq[:stream_specifier] integer (output,video) sub pel motion estimation quality -dtg_active_format[:stream_specifier] integer () -me_range[:stream_specifier] integer (output,video) limit motion vectors range (1023 for DivX player) -ibias[:stream_specifier] integer (output,video) intra quant bias -pbias[:stream_specifier] integer (output,video) inter quant bias -color_table_id[:stream_specifier] integer () -global_quality[:stream_specifier] integer (output,audio,video) -coder[:stream_specifier] integer (output,video) Possible values: vlc variable length coder / huffman coder ac arithmetic coder raw raw (no encoding) rle run-length coder deflate deflate-based coder -context[:stream_specifier] integer (output,video) context model -slice_flags[:stream_specifier] integer () -xvmc_acceleration[:stream_specifier] integer () -mbd[:stream_specifier] integer (output,video) macroblock decision algorithm (high quality mode) Possible values: simple use mbcmp (default) bits use fewest bits rd use best rate distortion -stream_codec_tag[:stream_specifier] integer () -sc_threshold[:stream_specifier] integer (output,video) scene change threshold -lmin[:stream_specifier] integer (output,video) min lagrange factor (VBR) -lmax[:stream_specifier] integer (output,video) max lagrange factor (VBR) -nr[:stream_specifier] integer (output,video) noise reduction -rc_init_occupancy[:stream_specifier] integer (output,video) number of bits which should be loaded into the rc buffer before decoding starts -inter_threshold[:stream_specifier] integer (output,video) -flags2[:stream_specifier] flags (input/output,audio,video) Possible values: fast allow non spec compliant speedup tricks sgop Deprecated, use mpegvideo private options instead noout skip bitstream encoding local_header place global headers at every keyframe instead of in extradata chunks Frame data might be split into multiple chunks showall Show all frames before the first keyframe skiprd Deprecated, use mpegvideo private options instead -error[:stream_specifier] integer (output,video) -qns[:stream_specifier] integer (output,video) deprecated, use mpegvideo private options instead -threads[:stream_specifier] integer (input/output,video) Possible values: auto detect a good number of threads -me_threshold[:stream_specifier] integer (output,video) motion estimaton threshold -mb_threshold[:stream_specifier] integer (output,video) macroblock threshold -dc[:stream_specifier] integer (output,video) intra_dc_precision -nssew[:stream_specifier] integer (output,video) nsse weight -skip_top[:stream_specifier] integer (input,video) number of macroblock rows at the top which are skipped -skip_bottom[:stream_specifier] integer (input,video) number of macroblock rows at the bottom which are skipped -profile[:stream_specifier] integer (output,audio,video) Possible values: unknown aac_main aac_low aac_ssr aac_ltp aac_he aac_he_v2 aac_ld aac_eld dts dts_es dts_96_24 dts_hd_hra dts_hd_ma -level[:stream_specifier] integer (output,audio,video) Possible values: unknown -lowres[:stream_specifier] integer (input,audio,video) decode at 1= 1/2, 2=1/4, 3=1/8 resolutions -skip_threshold[:stream_specifier] integer (output,video) frame skip threshold -skip_factor[:stream_specifier] integer (output,video) frame skip factor -skip_exp[:stream_specifier] integer (output,video) frame skip exponent -skipcmp[:stream_specifier] integer (output,video) frame skip compare function Possible values: sad sum of absolute differences, fast (default) sse sum of squared errors satd sum of absolute Hadamard transformed differences dct sum of absolute DCT transformed differences psnr sum of squared quantization errors (avoid, low quality) bit number of bits needed for the block rd rate distortion optimal, slow zero 0 vsad sum of absolute vertical differences vsse sum of squared vertical differences nsse noise preserving sum of squared differences w53 5/3 wavelet, only used in snow w97 9/7 wavelet, only used in snow dctmax chroma -border_mask[:stream_specifier] float (output,video) increases the quantizer for macroblocks close to borders -mblmin[:stream_specifier] integer (output,video) min macroblock lagrange factor (VBR) -mblmax[:stream_specifier] integer (output,video) max macroblock lagrange factor (VBR) -mepc[:stream_specifier] integer (output,video) motion estimation bitrate penalty compensation (1.0 = 256) -skip_loop_filter[:stream_specifier] integer (input,video) Possible values: none default noref bidir nokey all -skip_idct[:stream_specifier] integer (input,video) Possible values: none default noref bidir nokey all -skip_frame[:stream_specifier] integer (input,video) Possible values: none default noref bidir nokey all -bidir_refine[:stream_specifier] integer (output,video) refine the two motion vectors used in bidirectional macroblocks -brd_scale[:stream_specifier] integer (output,video) downscales frames for dynamic B-frame decision -keyint_min[:stream_specifier] integer (output,video) minimum interval between IDR-frames -refs[:stream_specifier] integer (output,video) reference frames to consider for motion compensation -chromaoffset[:stream_specifier] integer (output,video) chroma qp offset from luma -trellis[:stream_specifier] integer (output,audio,video) rate-distortion optimal quantization -sc_factor[:stream_specifier] integer (output,video) multiplied by qscale for each frame and added to scene_change_score -mv0_threshold[:stream_specifier] integer (output,video) -b_sensitivity[:stream_specifier] integer (output,video) adjusts sensitivity of b_frame_strategy 1 -compression_level[:stream_specifier] integer (output,audio,video) -min_prediction_order[:stream_specifier] integer (output,audio) -max_prediction_order[:stream_specifier] integer (output,audio) -timecode_frame_start[:stream_specifier] integer (output,video) GOP timecode frame start number, in non drop frame format -request_channels[:stream_specifier] integer (input,audio) set desired number of audio channels -bits_per_raw_sample[:stream_specifier] integer () -channel_layout[:stream_specifier] integer (input/output,audio) Possible values: -request_channel_layout[:stream_specifier] integer (input,audio) Possible values: -rc_max_vbv_use[:stream_specifier] float (output,video) -rc_min_vbv_use[:stream_specifier] float (output,video) -ticks_per_frame[:stream_specifier] integer (input/output,audio,video) -color_primaries[:stream_specifier] integer (input/output,video) -color_trc[:stream_specifier] integer (input/output,video) -colorspace[:stream_specifier] integer (input/output,video) -color_range[:stream_specifier] integer (input/output,video) -chroma_sample_location[:stream_specifier] integer (input/output,video) -log_level_offset[:stream_specifier] integer () set the log level offset -slices[:stream_specifier] integer (output,video) number of slices, used in parallelized encoding -thread_type[:stream_specifier] flags (input/output,video) select multithreading type Possible values: slice frame -audio_service_type[:stream_specifier] integer (output,audio) audio service type Possible values: ma Main Audio Service ef Effects vi Visually Impaired hi Hearing Impaired di Dialogue co Commentary em Emergency vo Voice Over ka Karaoke -request_sample_fmt[:stream_specifier] integer (input,audio) sample format audio decoders should prefer Possible values: u8 8-bit unsigned integer s16 16-bit signed integer s32 32-bit signed integer flt 32-bit float dbl 64-bit double u8p 8-bit unsigned integer planar s16p 16-bit signed integer planar s32p 32-bit signed integer planar fltp 32-bit float planar dblp 64-bit double planar -pkt_timebase[:stream_specifier] rational number () Format AVOptions -avioflags flags (input/output) Possible values: direct reduce buffering -probesize integer (input) set probing size -packetsize integer (output) set packet size -fflags flags (input/output) Possible values: ignidx ignore index genpts generate pts nofillin do not fill in missing values that can be exactly calculated noparse disable AVParsers, this needs nofillin too igndts ignore dts discardcorrupt discard corrupted frames sortdts try to interleave outputted packets by dts keepside dont merge side data latm enable RTP MP4A-LATM payload nobuffer reduce the latency introduced by optional buffering -analyzeduration integer (input) how many microseconds are analyzed to estimate duration -cryptokey hexadecimal string (input) decryption key -indexmem integer (input) max memory used for timestamp index (per stream) -rtbufsize integer (input) max memory used for buffering real-time frames -fdebug flags (input/output) print specific debug info Possible values: ts -max_delay integer (input/output) maximum muxing or demuxing delay in microseconds -fpsprobesize integer (input) number of frames used to probe fps -audio_preload integer (output) microseconds by which audio packets should be interleaved earlier -chunk_duration integer (output) microseconds for each chunk -chunk_size integer (output) size in bytes for each chunk -f_err_detect flags (input) set error detection flags (deprecated; use err_detect, save via avconv) Possible values: crccheck verify embedded CRCs bitstream detect bitstream specification deviations buffer detect improper bitstream length explode abort decoding on minor error detection careful consider things that violate the spec and have not been seen in the wild as errors compliant consider all spec non compliancies as errors aggressive consider things that a sane encoder shouldnt do as an error -err_detect flags (input) set error detection flags Possible values: crccheck verify embedded CRCs bitstream detect bitstream specification deviations buffer detect improper bitstream length explode abort decoding on minor error detection careful consider things that violate the spec and have not been seen in the wild as errors compliant consider all spec non compliancies as errors aggressive consider things that a sane encoder shouldnt do as an error -use_wallclock_as_timestamps integer (input) use wallclock as timestamps -avoid_negative_ts integer (output) avoid negative timestamps Main options -f configfile Use configfile instead of /etc/ffserver.conf. -n Enable no-launch mode. This option disables all the Launch directives within the various <Stream> sections. Since ffserver will not launch any ffmpeg instances, you will have to launch them manually. -d Enable debug mode. This option increases log verbosity, directs log messages to stdout and causes ffserver to run in the foreground rather than as a daemon. 2014-07-25 FFSERVER(1)


Display you photos in realtime on wall (TV, projector or on any screen with browser inside).
* App is currently in public Alpha testing mode! Any data (photos, wall and user info) can be deleted without notification!
Planed release date for production v1.0 is 1st of January 2015
For testing is recommended using Google Chrome and iOS 7, know issues: Firefox - problem with pushing new photos over sockets, Android - app crashes after using camera and a lot of problems with UI :))
Please send your feedback to<EMAIL_ADDRESS>How to test
App enviroments
App repos


Warm Wishes from Hemanth
on your birthday.
May you get everything
that you wish for in life.
Hemanth wishes you a
very happy birthday
from a social distance
during this lockdown.

Stay Blessed.


Chapter 7 escape hatches
There’s many different scenarios for using vcr
, some of which are that you
have vcr
loaded but you want to still make real HTTP requests.
The following are different ways to allow real HTTP requests.
7.1 lightswitch: vcr, webmockr and their on/off states
After loading vcr
, webmockr
is not loaded, thus real HTTP requests are allowed.
After loading webmockr
you can still make real HTTP requests.
But after turning mocking on you can’t make real requests
And you’ll get errors that come from webmockr
when attempting real HTTP requests
HttpClient$new(url = "https://httpbin.org/get")$get()
#> Error: Real HTTP connections are disabled.
#> Unregistered request: GET https://httpbin.org/get with headers {Accept-Encoding: gzip, deflate}
#>
#> You can stub this request with the following snippet:
#>
#> stub_request('get', uri = 'https://httpbin.org/get') %>%
#> wi_th(headers = list('Accept-Encoding' = 'gzip, deflate'))
You can have vcr
loaded but if you’re not using use_casette
7.2 turned_off
turned_off()
lets you temporarily make a real HTTP request without completely turning
vcr
off, unloading it, etc.
 Even if your code block errors, vcr
will be turned back on
due to use of on.exit(turn_on())
library(vcr)
library(crul)
turned_off({
res <- HttpClient$new(url = "https://httpbin.org/get")$get()
})
res
#> <crul response>
#> url: https://httpbin.org/get
#> request_headers:
#> User-Agent: libcurl/7.54.0 r-curl/3.2 crul/0.5.2
#> Accept-Encoding: gzip, deflate
#> Accept: application/json, text/xml, application/xml, */*
#> response_headers:
#> status: HTTP/1.1 200 OK
#> server: nginx
#> date: Fri, 27 Apr 2018 23:22:44 GMT
#> content-type: application/json
#> content-length: 330
#> connection: keep-alive
#> access-control-allow-origin: *
#> access-control-allow-credentials: true
#> x-powered-by: Flask
#> x-processed-time: 0
#> status: 200


inline fun ViewGroup.prepareAutoTransition(cancel: Boolean = false, autoTransitionBuilder: AutoTransitionBuilder.() -> Unit = {}): Unit
Schedules a call to TransitionManager.beginDelayedTransition with receiver ViewGroup as the scene root. autoTransitionBuilder uses a AutoTransition instance internally and its properties can be modified by using available methods from AutoTransitionBuilder.
Since AutoTransition is used, View bounds changes are animated using ChangeBounds and disappear/appear are animated using Fade
cancel
- if true, ends all previous transitions before starting this transition.
autoTransitionBuilder
- Builder to construct transition instance for use with TransitionManager
See Also