)]}'
{
  "log": [
    {
      "commit": "af88be3887c1a0b20d0792c3c237a67c73ef3286",
      "tree": "79047160436c63bab20241807a61d8030b6a0527",
      "parents": [
        "440f0fadd407c66abe285ce26ed8c31fb2403f0d"
      ],
      "author": {
        "name": "Sakari Ailus",
        "email": "sakari.ailus@iki.fi",
        "time": "Wed Jan 11 06:25:15 2012 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Mon May 14 08:44:11 2012 -0300"
      },
      "message": "[media] media: Add link_validate() op to check links to the sink pad\n\nThe purpose of the link_validate() op is to allow an entity driver to ensure\nthat the properties of the pads at the both ends of the link are suitable\nfor starting the pipeline. link_validate is called on sink pads on active\nlinks which belong to the active part of the graph.\n\nSigned-off-by: Sakari Ailus \u003csakari.ailus@iki.fi\u003e\nAcked-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "395cf9691d72173d8cdaa613c5f0255f993af94b",
      "tree": "813be524794fe1c0850805d7faca90e45fd0e60b",
      "parents": [
        "e060c38434b2caa78efe7cedaff4191040b65a15"
      ],
      "author": {
        "name": "Paul Bolle",
        "email": "pebolle@tiscali.nl",
        "time": "Mon Aug 15 02:02:26 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Sep 27 18:08:04 2011 +0200"
      },
      "message": "doc: fix broken references\n\nThere are numerous broken references to Documentation files (in other\nDocumentation files, in comments, etc.). These broken references are\ncaused by typo\u0027s in the references, and by renames or removals of the\nDocumentation files. Some broken references are simply odd.\n\nFix these broken references, sometimes by dropping the irrelevant text\nthey were part of.\n\nSigned-off-by: Paul Bolle \u003cpebolle@tiscali.nl\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "3751e32961f22e256de85ebd585597ce5875037a",
      "tree": "993bea3089fcaa82ad0d003f0607bb80861edb74",
      "parents": [
        "af60313d6c686d2729d71bc55c3f60956676c543"
      ],
      "author": {
        "name": "Sylwester Nawrocki",
        "email": "snjw23@gmail.com",
        "time": "Sat Jun 18 05:52:21 2011 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Wed Jul 27 17:53:10 2011 -0300"
      },
      "message": "[media] v4l: Fix minor typos in the documentation\n\nSigned-off-by: Sylwester Nawrocki \u003csnjw23@gmail.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "25985edcedea6396277003854657b5f3cb31a628",
      "tree": "f026e810210a2ee7290caeb737c23cb6472b7c38",
      "parents": [
        "6aba74f2791287ec407e0f92487a725a25908067"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Wed Mar 30 22:57:33 2011 -0300"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Thu Mar 31 11:26:23 2011 -0300"
      },
      "message": "Fix common misspellings\n\nFixes generated by \u0027codespell\u0027 and manually reviewed.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "e02188c90f6ef61f0844c42508fe603c5d4fa42b",
      "tree": "7b0ff940b37ba6bf53c7cea7fadbb697ec2d156a",
      "parents": [
        "97548ed4c4661502cdfd1aabd5d3876fa4f5cc2e"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Aug 25 09:00:41 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:17 2011 -0300"
      },
      "message": "[media] media: Pipelines and media streams\n\nDrivers often need to associate pipeline objects to entities, and to\ntake stream state into account when configuring entities and links. The\npipeline API helps drivers manage that information.\n\nWhen starting streaming, drivers call media_entity_pipeline_start(). The\nfunction marks all entities connected to the given entity through\nenabled links, either directly or indirectly, as streaming. Similarly,\nwhen stopping the stream, drivers call media_entity_pipeline_stop().\n\nThe media_entity_pipeline_start() function takes a pointer to a media\npipeline and stores it in every entity in the graph. Drivers should\nembed the media_pipeline structure in higher-level pipeline structures\nand can then access the pipeline through the media_entity structure.\n\nLink configuration will fail with -EBUSY by default if either end of the\nlink is a streaming entity, unless the link is marked with the\nMEDIA_LNK_FL_DYNAMIC flag.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "97548ed4c4661502cdfd1aabd5d3876fa4f5cc2e",
      "tree": "c85b85954f53e3a97b6590de8d5d5396e7c43358",
      "parents": [
        "1651333b09743887bc2dd3d158a11853a2be3fe7"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Dec 09 08:40:03 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:16 2011 -0300"
      },
      "message": "[media] media: Links setup\n\nCreate the following ioctl and implement it at the media device level to\nsetup links.\n\n- MEDIA_IOC_SETUP_LINK: Modify the properties of a given link\n\nThe only property that can currently be modified is the ENABLED link\nflag to enable/disable a link. Links marked with the IMMUTABLE link flag\ncan not be enabled or disabled.\n\nEnabling or disabling a link has effects on entities\u0027 use count. Those\nchanges are automatically propagated through the graph.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Stanimir Varbanov \u003csvarbanov@mm-sol.com\u003e\nSigned-off-by: Sakari Ailus \u003csakari.ailus@iki.fi\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "503c3d829eaf48837dd5bff5d97ad66369bb955a",
      "tree": "9c14ed9561c5ffca07909e53d5ae0e52cdf5f99e",
      "parents": [
        "a5ccc48a7c48610e7f92fa599406738d69195d51"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Sun Mar 07 15:04:59 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:12 2011 -0300"
      },
      "message": "[media] media: Entity use count\n\nDue to the wide differences between drivers regarding power management\nneeds, the media controller does not implement power management.\nHowever, the media_entity structure includes a use_count field that\nmedia drivers can use to track the number of users of every entity for\npower management needs.\n\nThe use_count field is owned by media drivers and must not be touched by\nentity drivers. Access to the field must be protected by the media\ndevice graph_mutex lock.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "a5ccc48a7c48610e7f92fa599406738d69195d51",
      "tree": "8b82352250fa0cef0bcbb7b4db760d98844d746d",
      "parents": [
        "53e269c102fbaf77e7dc526b1606ad4a48e57200"
      ],
      "author": {
        "name": "Sakari Ailus",
        "email": "sakari.ailus@iki.fi",
        "time": "Sun Mar 07 16:14:14 2010 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:11 2011 -0300"
      },
      "message": "[media] media: Entity graph traversal\n\nAdd media entity graph traversal. The traversal follows enabled links by\ndepth first. Traversing graph backwards is prevented by comparing the next\npossible entity in the graph with the previous one. Multiply connected\ngraphs are thus not supported.\n\nSigned-off-by: Sakari Ailus \u003csakari.ailus@iki.fi\u003e\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Vimarsh Zutshi \u003cvimarsh.zutshi@gmail.com\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "53e269c102fbaf77e7dc526b1606ad4a48e57200",
      "tree": "c264a16d8058e5331ac3c0c4792be30da50e7363",
      "parents": [
        "176fb0d108f7495ccf9aa127e1342a1a0d87e004"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Dec 09 08:40:00 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:10 2011 -0300"
      },
      "message": "[media] media: Entities, pads and links\n\nAs video hardware pipelines become increasingly complex and\nconfigurable, the current hardware description through v4l2 subdevices\nreaches its limits. In addition to enumerating and configuring\nsubdevices, video camera drivers need a way to discover and modify at\nruntime how those subdevices are connected. This is done through new\nelements called entities, pads and links.\n\nAn entity is a basic media hardware building block. It can correspond to\na large variety of logical blocks such as physical hardware devices\n(CMOS sensor for instance), logical hardware devices (a building block\nin a System-on-Chip image processing pipeline), DMA channels or physical\nconnectors.\n\nA pad is a connection endpoint through which an entity can interact with\nother entities. Data (not restricted to video) produced by an entity\nflows from the entity\u0027s output to one or more entity inputs. Pads should\nnot be confused with physical pins at chip boundaries.\n\nA link is a point-to-point oriented connection between two pads, either\non the same entity or on different entities. Data flows from a source\npad to a sink pad.\n\nLinks are stored in the source entity. To make backwards graph walk\nfaster, a copy of all links is also stored in the sink entity. The copy\nis known as a backlink and is only used to help graph traversal.\n\nThe entity API is made of three functions:\n\n- media_entity_init() initializes an entity. The caller must provide an\narray of pads as well as an estimated number of links. The links array\nis allocated dynamically and will be reallocated if it grows beyond the\ninitial estimate.\n\n- media_entity_cleanup() frees resources allocated for an entity. It\nmust be called during the cleanup phase after unregistering the entity\nand before freeing it.\n\n- media_entity_create_link() creates a link between two entities. An\nentry in the link array of each entity is allocated and stores pointers\nto source and sink pads.\n\nWhen a media device is unregistered, all its entities are unregistered\nautomatically.\n\nThe code is based on Hans Verkuil \u003chverkuil@xs4all.nl\u003e initial work.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Sakari Ailus \u003csakari.ailus@iki.fi\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "176fb0d108f7495ccf9aa127e1342a1a0d87e004",
      "tree": "a1b54ad186dde663853d4d2d24f42cd7c0f94bfb",
      "parents": [
        "cf4b9211b5680cd9ca004232e517fb7ec5bf5316"
      ],
      "author": {
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com",
        "time": "Wed Dec 09 08:39:58 2009 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Tue Mar 22 04:53:09 2011 -0300"
      },
      "message": "[media] media: Media device\n\nThe media_device structure abstracts functions common to all kind of\nmedia devices (v4l2, dvb, alsa, ...). It manages media entities and\noffers a userspace API to discover and configure the media device\ninternal topology.\n\nSigned-off-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    }
  ]
}
